1.2. The Microsoft Application Platform

An application platform is a reliable, reusable set of products and technologies on which to develop and host applications that may span disparate environments and technologies. Each component in an application platform provides a service, which may be used by any application in an enterprise. An application, in turn, simulates or provides business capabilities to the people who use it. An application platform has a service-oriented architecture (SOA), meaning that each component provides a standard service which may be replaced with an equivalent provider of that service. Figure 1-1 illustrates the general structure of an application platform.

Figure 1.1. Figure 1-1

SOA has evolved to describe mainly XML web-service-based architectures, but in the context of an application platform a service is simply a platform service and not necessarily an XML web service. An application platform interface may provide access to platform services via a variety of methods. However, the application platform interface does not necessarily act as a broker for service consumers to discover or be matched to service providers. Instead, it is up to the application platform architect to identify and install appropriate service providers to meet the needs of the enterprise.

The Microsoft Application Platform (MAP) is a consistent, reusable platform upon which to standardize the development, deployment, operation, and administration of enterprise applications. The potential benefits include lower costs for server hosting, administration, software development, and training, and more efficient processes for the architecture, design, construction, deployment, and monitoring of applications.

To this end, common tools are used throughout the MAP stack:

  • Windows Server provides a common server platform.

  • The Microsoft Management Console (MMC) provides a common server management interface.

  • The .NET Framework and the underlying Common Language Runtime (CLR) provide a common language layer for both client and server applications written in a variety of languages.

  • Visual Studio (VS) provides a common integrated developer environment. SQL Server provides a common structured data store.

  • And Windows Workflow Foundation (WF) provides a common business process engine.

The wonderful thing about common tools is that once you understand how each works, you can venture anywhere in the MAP and reuse that knowledge. And then there is SharePoint. While several technologies anchor the platform, the centerpiece of the MAP undoubtedly is SharePoint. SharePoint is an incredibly rich ASP.NET application with a powerful object model for implementing applications as web sites. SharePoint can be used to build public web sites, intranets, extranets, and collaborative team sites. It provides the web front end for a growing set of Microsoft products, including Team Foundation Server and Project Server. You can often use SharePoint to build your own enterprise applications without writing a line of code.

It helps to understand how Microsoft describes and positions its application platform. In the aptly titled whitepaper, "What Is an Application Platform?" the opening bars go something like this:

The Microsoft Application Platform is a portfolio of technology capabilities, core products, and best practice guidance focused on helping IT departments to partner with the business to maximize opportunity by increasing their ability to drive the right efficiencies, customer connections, and value added services for business growth.

You may have heard or read this before, whether recently from Microsoft or 20 years ago in the brochure of some other technology. The difference now is that Microsoft has evolved to the point of simplicity and commoditization where it is finally possible to realize the dream.

Microsoft divides its platform into five categories: Data Management, Workflow, Communications, Lifecycle Management, and User Experience. The following sections detail each of these categories.

1.2.1. Data Management

Data management includes all elements of the data chain, from the storage of raw bits and bytes right up to the manipulation and analysis provided by database and file systems. At the application level, data rendered into lists, items, reports, and graphic visualizations is now a reliable, predictable commodity.

1.2.1.1. Storage

Applications work with many data types, each with unique storage requirements. SQL Server is a relational database that is good at storing data, which may be described as a set of entities and their relationships. The NT File System (NTFS) is excellent at storing files: executable files, server configuration files, files to be transferred over FTP, files to be served over HTTP, and large files that are not practical to store in a database. Windows SharePoint Services is great at storing files used by information workers: Word and other text documents, Excel spreadsheets, PowerPoint decks, MS-Project files, images, and anything else you might find in a typical user's My Documents folder. SharePoint is also great at storing lists: Contacts, Tasks, Issues, Announcements, News, Events, or anything else you like, from your CD collection to "Things to bring to my party."

1.2.1.2. Reporting

SQL Server Reporting Services is the key reporting tool in the MAP. It provides the web-based Report Manager and produces reports over web services in a variety of formats, including HTML, Excel, and PDF. Reporting Services also provides SharePoint Web Parts to select, configure, and display reports

1.2.1.3. Analysis

SQL Server Analysis Services allows the powerful analysis of data stored in SQL Server and the construction of data cubes used for OLAP analysis, scorecard analysis, and data mining.

1.2.1.4. Visualization and Business Intelligence

Data visualization is about building graphs, charts, and other images that represent your data. Business intelligence (BI) is what you provide to business decision makers to help them make decisions. Or, as one might say, "When provided with enough knowledge no decision remains. There is only what is to be done."

The MAP provides BI features in Office SharePoint Server for building lists of Key Performance Indicators (KPIs) and for the surfacing of these KPIs in BI Web Parts. Microsoft offers Proclarity and Business Scorecard Manager to allow the construction of more complex business analysis and data-mining visualizations, which may be surfaced in a variety of formats.

1.2.2. Workflow

Windows Workflow Foundation (WF) is ostensibly a developer platform for creating state management systems that implement or support business processes with code. The Office vision for WF integration is to "facilitate human processes by attaching business logic to items and documents in SharePoint, while providing context and tracking progress."

While WF is appropriate for workflow in documents and lists, BizTalk is the appropriate platform for multistep transactions on structured data, or the orchestration of data flow and business processes among several enterprise systems.

1.2.3. Communications

A network is quiet without communications. Communication protocols provide reliable messaging features on a network including translation or marshaling across boundaries, and message queuing. On a human level, communication services facilitate conversations.

Office Communications Server (OCS, previously known as "Live Communications Server") hosts real-time messaging services. OCS provides PC-to-PC Voice over IP (VoIP) calls, PC-to-phone calls, instant messaging (IM) services, video, and conferencing services. OCS provides encryption services between Office Communicator clients, and capabilities to archive and audit IM conversations. Most companies have this control with e-mail, and one would expect all will eventually want the same for IM conversations.

IM client applications include Office Communicator (the preferred client) and Windows Live Messenger. OCS allows communication with "foreign" IM networks including Yahoo, AOL and the public Microsoft Live Messenger network.

OCS is also an IP PBX which means that it can act as a company's VoIP phone switch, or it can communicate with an existing IP PBX or TDM switch. This allows integration among OCS transports, an enterprise's phone system (VoIP or traditional), and public phone networks. For example, if you're leaving the office for a meeting, you can forward all calls dialed to your desktop PC or desk phone to your cellular phone, or if you don't respond to a request for a PC-to-PC IM session, the caller could opt to send a message to your cellular phone via SMS. The capability of providing high-quality PC-to-PC voice calls over a WAN instead of incurring toll charges between offices often motivates companies to move to OCS or an OCS-VoIP hybrid.

OCS includes LiveMeeting, a web conferencing host ideal for online meetings, whiteboarding, and webcasts. Live Meeting sessions can be recorded for later playback. Live Meeting is also available separately as a hosted service.

1.2.3.1. Service-Oriented Architecture (SOA)

In an SOA, BizTalk provides a service bus and advanced messaging, enabling any application with a service bus adapter to talk to any other application on the service bus, reducing the development effort for application-to-application communications by an order of magnitude. Both free and commercial adapters exist for a variety of common platforms, including SAP, JD Edwards, and PeopleSoft.

Office Live Server is a hub for real-time conversations between people that combines the previous Live Communication Server (LCS), Communicator, and Live Meeting products. LCS provides secure instant messaging, IP telephony, and Voice over IP (VoIP) services. Communicator is the supercharged client that provides the user interface on the desktop; LiveMeeting is a web-conferencing host which is great for online meetings, whiteboarding, and webcasts. Live Meeting sessions can be recorded for later playback. Live Meeting is also available separately as a hosted service.

In recent times, any application which makes available its functionality through XML web services might be said to adhere to a service-oriented architecture. Though it is beneficial to keep presentation and application layers loosely-coupled, this particular trait is not what was originally meant by "SOA." Instead, the focus of SOA is on standardizing the interfaces of many applications to the point that one application in a category can be substituted for another.

1.2.4. Lifecycle Management

Lifecycle management tools for applications support the development, deployment, and operational management of software.

1.2.4.1. Development

Visual Studio (VS) is an integrated development environment (IDE) that supports custom development across the MAP. Visual Studio extensions for Windows SharePoint Services (VSeWSS) support the development of SharePoint workflow, Web Parts, site definitions, solutions, and more. Visual Studio Tools for Office assist in the development of functional extensions to Microsoft Office client applications (e.g., Word, Excel, and Outlook). VSTO supports creation of new ribbon items and document actions, and provides programmatic access to the new event model and XML document formats of the Office 2007 suite.

ASP.NET, Windows SharePoint Services, and Office SharePoint Server all offer powerful APIs and design-time tools for application development.

Visual Studio Team System is a set of Visual Studio editions designed specifically for application architects, developers, and testers. VSTS integrates with Team Foundation Server (TFS) to provide a seamless end-to-end experience for agile software development and software project management. While the default process is based upon the Microsoft Solution Foundation (MSF) v4 methodology, VSTS and TFS can be used with nearly any methodology. Services provided by TFS include scheduling, task assignment, source code control, and bug tracking.

1.2.4.2. Deployment

Visual Studio creates installation packages and SharePoint Solutions that facilitate the provisioning of solutions.

MSBuild is a build engine which supports full configuration of the build process. Capabilities include the scripting of pre- and post-build events, and the build-time modification of files (e.g. web.config) to automate the generation of packages for differing environments. The Visual Studio Web Deployment Projects (WDP) extension provides an interface for creating MSBuild configuration files.

1.2.4.3. Operational Management

Microsoft Operations Manager (MOM) provides monitoring, auditing, and alert services across the MAP.

1.2.5. User Experience

.NET WebForms (ASP.NET) and WinForms provide a presentation layer for the MAP. Each provides a standard set of controls for constructing user interfaces, one for the web and the other for desktop applications.

Windows SharePoint Services builds on ASP.NET to provide a more powerful and consistent user experience than ASP.NET alone. Beyond the consistent set of controls found in ASP.NET, WSS supports the creation and configuration of the pages and sites themselves, allowing the no-code construction and deployment of collaborative web sites. This is a simplified description that unfolds in the next chapter.

A recent development in .NET is the Windows Presentation Foundation (WPF) which is a performing cross-platform alternative to Macromedia Flash.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.139.86.18