Click to Rate and Give Feedback
MSDN
MSDN Library
Architecture
Trends
 Composite Applications

  Switch on low bandwidth view
Composite Applications

Karthik Ravindran, Javed Sikander
Microsoft Corporation

March 2008

Summary: By using the OBA Composition Reference Toolkit, developers can build adaptable components, enable incremental value by using them, and gain an understanding of how to package and deploy them. (11 printed pages)

Contents

The Next Mile in Business and IT Agility
Composite Solutions
Composite-Solutions Platform Capability Requirements
Materializing Composite-Solution Architectures and Composite Solutions Using the 2007 Microsoft Office System
The OBA Composition Reference Toolkit

The Next Mile in Business and IT Agility

Agility is a competitive differentiator; agile businesses "turn on a dime" and want to adopt new business models, launch new products quickly, dominate global markets, and drive efficiencies throughout their supply chains. These businesses look for information technology (IT) as an enabler for change, and constantly push the limits on what IT can do to empower their people and arm them with the right tools for success.

However, enterprise IT departments are mired with challenges. As businesses grow through acquisitions and mergers, there is always more than one system to perform a particular task. Information is spread across systems, processes are disjointed and disconnected, and users have to deal with multiple systems to achieve their business tasks. Integration and maintenance of the systems tend to consume the bulk of a typical enterprise's IT resources—thereby, hindering both the ability to adopt new technology advancements that can benefit the business and the ability to scale to servicing the myriad requirements for truly empowering users. This could result in unmet needs and a backlog of requirements for applications that truly can empower users.

Currently, several practices are adopted and applied to address the challenges that pertain to integration of heterogeneous systems and IT assets. Extract, transform, and load (ETL) and enterprise-application integration (EAI) technologies promised to make system integration a piece of cake; data warehousing aimed at providing a single unified view of data for analysis and decision making; and many methodologies and frameworks were invented to unify the processes across the enterprise.

The latest in this crusade is the notion of service-oriented architectures (SOA), which takes a fresh approach at addressing these woes through loose coupling, well-defined service contracts, and service aggregation. All of these approaches enable solution patterns to address the system-integration challenges in an enterprise, but they fail to support the goals of business agility and innovation.

To address this failure, a shift is required from the classic and predominantly "system-centric" focus of enterprise IT priorities to a model that strikes a finer balance between "system-centricities" and "user-centricities." The investments that are made on SOA should benefit end users directly in terms of new, powerful, and integrated experience for analysis and decision making. When composite-solution architectures are adopted and applied, they can help IT deliver this value. The practice of using composite-solution architectures can optimize IT investments to achieve the:

· Empowering of users and the enabling of federated "self-service"–style user composition of high-value applications.

· Enabling of IT to invest resources in research and development (R&D) that is related to new technology advancements that can benefit the strategic directions of an enterprise.

Composite Solutions

Currently, composite solutions are being built in enterprises by assembling and presenting business data and processes from multiple existing and related systems as unified and composite wholes. However, these solutions do not have to be restricted to composing Web services and information feeds; instead, they should include components at higher levels of abstraction and user-centricity, such as structured presentation artifacts, such unstructured artifacts as documents and spreadsheets with embedded business semantics, workflows, business rules, alerts, user-comprehensible business-intelligence data models, precanned reports, and data views.

The notion of situational applications is another interesting advent of relevance to the notion of solution composition. A situational application is created on demand for a small number of users who have specific needs, and the duration of the application's existence is short-lived. Even though these types of applications are highly valuable to users in enterprises, they constitute a significant chunk of the "Long Tail" of user requests that are low on the list of enterprise IT priorities.

Situational applications are a common use case for collaboration platforms, such as Microsoft Office SharePoint—for example, an Office SharePoint team-collaboration site that is created to support a new product campaign/launch. Situational applications provide immense value for the duration of the project. Generally, they are built by the users themselves, with IT governance enabled by the underlying IT platforms. Today's applications in this category are used predominantly to facilitate unstructured collaboration among teams of business workers.

The full potential of composite-solution architectures can be materialized by breaking away from the classic IT/system–centric approach of solution composition to optimizing IT investments in a way that enables a finer balance between the IT/system–centricities and user-centricities. Put simply, the key to unlocking the next mile in IT and business agility is to focus IT investments on the creation of user-consumable components that can enable solution composition by users who are familiar with the business domains.

The idea of user-centric composition is taking shape today in the consumer/social world, in the form of user-friendly information-consumption experiences that are enabled by such tools as Microsoft Popfly, Yahoo! Pipes, and Google Mashup Editor. Mashup tools, mashing, and mashups are the terms that are used in the consumer/social world to refer to these tools, the experience of using them, and the composite information assets that are created by using them. These tools enable users who have little or no IT/development experience to mash-up information feeds on the Internet. For example, a user can use Popfly to create a mashup that displays the geographical locations of friends on a map by using the profile information of these friends (stored in Facebook) and Microsoft Virtual Earth. Enabling similar experiences and the related benefits in the context of enterprises is essential to traversing the next mile in business and IT agility.

Figure 1 summarizes the business benefits of composite-solution architectures. Also, it highlights the need for a composite-solutions platform to enable the benefits of composite-solution architectures in an enterprise. The next section describes the capability requirements of a composite-solutions platform.

Cc339284.OBA_Composition_Reference_Toolkit_Fig01(en-us,MSDN.10).gif

Figure 1. Composite-solutions platform

Composite-Solutions Platform Capability Requirements

A composite-solutions platform is a core-required enabler to materialize the benefits of composite-solution architectures in an enterprise.

Figure 2 summarizes the core capability requirements of a composite-solutions platform:

Cc339284.OBA_Composition_Reference_Toolkit_Fig02(en-us,MSDN.10).gif

Figure 2. Composite-solutions platform capability requirements

The capabilities can be categorized broadly as core capabilities and advanced surround capabilities. The core capabilities are "must-have" requirements for any composite-solutions platform to enable and materialize the full benefits of composite-solution architectures in an enterprise. The advanced surround capabilities are additional features that can add rich semantics and value to the overall application-composition experience.

The core capabilities include:

· Platform support for the notion of componentization through capabilities that support the design and implementation of components, and the ability to host/render components in runtime containers.

· IT infrastructures capabilities to enable federation, security, and governance, while empowering users and enabling the benefits of composite-solution architectures.

In the context of solution composition, this would include the ability for IT to centrally catalog, describe, and control access to components that can be used by users across an organization to compose applications of relevance to their needs.

· Application-composition tools that can cater to the requirements of developers and power business users who have an IT background.

The advanced surround capabilities include:

· The ability to model and capture rich component metadata that extends beyond descriptive attributes, to capture semantics that pertain to the intricate relationships that can exist between components and enable domain-tailored discoverability of components.

· Application-composition and provisioning tools/services, to extend the reach of composing applications to business domain experts who have minimal IT skills and enable a semantically guided prescriptive application-composition experience.

Materializing Composite-Solution Architectures and Composite Solutions Using the 2007 Microsoft Office System

The 2007 Microsoft Office system is a composite-solutions platform that can be used to materialize the benefits of composite-solution architectures and composite solutions.

Figure 3 illustrates the composite-solutions platform capabilities of the 2007 Microsoft Office system:

Cc339284.OBA_Composition_Reference_Toolkit_Fig03(en-us,MSDN.10).gif

Figure 3. Composite-solution platform capabilities of the 2007 Microsoft Office system

The 2007 Microsoft Office system is a powerful platform for building role-based, collaborative, and analytical applications that aggregate and extend the reach of an enterprise's line-of-business (LOB) systems to information/knowledge workers across the organization. The term that is used to refer to these applications is Office Business Applications (OBAs). OBAs combine the powerful platform capabilities of the 2007 Office system with the user familiarity of the Microsoft Office clients to surface LOB data, information, and processes to information workers within the business-productivity tools, interfaces, and devices that they use to execute and complete their business tasks.

(We recommend that you read the "Integrating LOB Systems with the Microsoft Office System" white paper to learn more about the 2007 Office system platform capabilities, OBAs, and the OBA opportunities.)

A lesser-known or not-so-clearly-visible fact is that OBAs are composite applications that are built by using OBA components, and, when they are architected optimally, they can enable the materialization of the benefits of composite-solution architectures and composite solutions. Figure 4 shows some of the common types of OBA components that can be designed and used to compose OBAs. The components in the illustration are shown as they relate to the architectural layers of a solution.

Cc339284.OBA_Composition_Reference_Toolkit_Fig04(en-us,MSDN.10).gif

Figure 4. OBA components

The following is a brief summary of the specific capabilities of the 2007 Microsoft Office system, in the context of the generic composite-solutions platform capability requirements that were outlined in the previous section:

· Componentization capabilities—The 2007 Office system supports the notion of solution components as shown in Figure 4. OBAs are composite applications that are built by composing OBA components. The user experiences for working with OBAs (and, thereby, using the capabilities of the OBA components) are surfaced using the familiar containers that are enabled by the Microsoft Office Business Productivity Clients and Office SharePoint Portals.

· IT Federation and Governance requirements—Office SharePoint (Microsoft Windows SharePoint Services and Office SharePoint Server) enables the IT Federation and Governance platform. Individual OBA components can be cataloged and described in an Office SharePoint farm. The Office SharePoint security model can be applied to control user access to the components.

A related example is the ability to catalog Office SharePoint Server 2007 Business Data Catalog Application Definition components in an Office SharePoint Service Provider Catalog, and define related user-access permissions using the Office SharePoint security model.

· Composition user experience—The 2007 Office system includes support for the core capability requirements that pertain to composition user experiences. Application-composition tooling for developers and power business users who have an IT background are enabled by using the Office SharePoint UI, Office SharePoint Designer, and Microsoft Visual Studio .NET (Microsoft Visual Studio Tools for Office).

· Composition semantics—The 2007 Office system includes support for the basic, core capability requirements that enable the defining and capturing of identification and limited component dependency relationships metadata.

Although the core capabilities to support composite-solution architectures and composite solutions are enabled by the 2007 Office system, related architectural and engineering practices also must be adopted and applied to materialize the benefits and potential. Additionally, there are some key value-adding capabilities that can be built around the core 2007 Office system platform to enhance the solution-composition experience even further.

The OBA Composition Reference Toolkit was built to illustrate these practices and capabilities. The following section describes the OBA Composition Reference Toolkit, and provides links to additional resources that you can explore to use and extend the toolkit.

The OBA Composition Reference Toolkit

The OBA Composition Reference Toolkit was built to illustrate:

· Application (OBA) composition opportunities and best practices, using the capabilities of the 2007 Office system.

· Benefits of advanced surround capabilities that are of pertinence to building composite applications (OBAs) on the 2007 Office system. These include richer composition metadata services and application-composition services for business domain experts who have a limited IT background. The goal for illustrating these capabilities is to demonstrate related possibilities and gather user feedback on related value perceptions.

Figure 5 illustrates the high-level architecture of the OBA Composition Reference Toolkit. It depicts the elements that constitute the toolkit, the relationships between them, and their integration/use with the out-of-the-box capabilities that are enabled by the 2007 Office system (all items within the green backgrounds).

Cc339284.OBA_Composition_Reference_Toolkit_Fig05(en-us,MSDN.10).gif

Figure 5. The OBA Composition Reference Toolkit

Both the OBA Composition Reference Toolkit installation and hands-on lab documents that are referenced at the end of this article contain step-by-step instructions on how to install the toolkit and explore its capabilities by composing and deploying OBAs, using an included set of seed OBA components to facilitate user testing and experimentation. We recommend that you walk through these documents to install/work with the toolkit, and learn more about the capabilities and concepts that are summarized in this section.

The next sections describe the services and tools that are included in the OBA Composition Reference Toolkit.

The OBA Composition Server (Services)

The OBA Composition Server constitutes the core guts of the services and capabilities that are enabled by the OBA Composition Reference Toolkit. It is the central engine that enables the rich composition metadata and application-composition services that constitute the advanced surround capabilities for a composite-solutions platform.

The OBA Composition Server includes the following subcomponents:

· Metadata Catalog—A semantic metamodel that materialized as a Microsoft SQL Server 2005 database to capture metadata that pertains to OBA components and OBAs that are composed by using the components. The metadata includes support for defining advanced semantics that are required to define/navigate intricate component relationships, defining adaptable component bindings to LOB systems, and facilitating domain-tailored discoverability of components.

Metadata that pertains to OBA components that have been developed by using the standard Microsoft OBA development tools is stored in the Metadata Catalog. The metadata that is stored in the catalog facilitates the locating of components and traversing of relationships between the components, to enable a prescriptive application (OBA) composition experience in the Composer. The Metadata Catalog is used also to store the definitions of the composed OBAs, which are utilized by the OBA Provisioning Service component to deploy the OBAs to a configured Office SharePoint farm.

· OBA Composition Metadata Web Services—A Web service that is hosted in an Office SharePoint Web application to service-enable access to the OBA component and OBA metadata that is stored in the Metadata Catalog. The Web service methods are used extensively by the OBA Composer to enable the OBA composition and deployment user experiences. The Web service methods include APIs that facilitate searching for OBA components, retrieving component metadata, navigating component relationships, identifying LOB system bindings for components, saving/retrieving the definitions of composite OBAs, and other related capabilities.

· OBA Provisioning Service—A Windows service that is responsible for provisioning OBAs that are composed by using the OBA components that are registered in the Metadata Catalog. Definitions of composed OBAs are stored in the Metadata Catalog, from where they are read and used by the provisioning service to provision the applications to a configured Office SharePoint farm.

The OBA Composer

The OBA Composer is the face of the OBA Composition Reference Toolkit. It is a manifestation of the kinds of capabilities that can be implemented to enable a compelling application-composition experience for business domain experts who have a limited IT background. The OBA Composer is implemented as a rich-client Windows Presentation Foundation (WPF) application. It uses the OBA Composition Metadata Web Services to enable a prescriptive user experience for guiding users through the end-to-end process of searching for OBA components, traversing relationships between components, selecting components to compose an OBA, saving composed OBA definitions, deploying a composed OBA, and previewing the composed application.

Figure 6 shows a screen shot of the OBA Composer:

Cc339284.OBA_Composition_Reference_Toolkit_Fig06(en-us,MSDN.10).gif

Figure 6. The OBA Composer

The following types of OBA components are supported in this release, and can be used to compose OBAs using the OBA Composer and the Toolkit services:

· Office SharePoint lists/document libraries (Microsoft Office Word, Microsoft Office Excel, Microsoft Office PowerPoint)/Microsoft Office InfoPath 2007 Form libraries

· Document templates (Office Word, Office Excel, Office PowerPoint, Office InfoPath) that are packaged as Office SharePoint content types

· Office SharePoint content types

· Office SharePoint site pages

· Themes

· Web Parts

· Workflows

· Business Data Catalog (BDC) application definitions

· Business-intelligence components:

· Office Excel Services Reports and Dashboards

· SQL Server Reporting Services reports

· Visual Studio Tools for Office Add-ins (application add-ins and Visual Studio Tools for Office documents):

· Office Word

· Office Excel

· Office Outlook

· Data sources:

· Web services

· SQL Server databases

We recommend that you download/install the OBA Composition Reference Toolkit, and walk through the included hands-on lab documents to experiment with the capabilities that are enabled in this release.

A number of best practices that are related to the packaging and deploying of OBA components that use the standard capabilities of the 2007 Microsoft Office system and design/build adaptable and connectable OBA components also are illustrated by the toolkit implementation and the accompanying sample seed components. Exploring the hands-on lab documents—as well as the implementation of the toolkit and the sample seed components—is recommended to learn more about these practices.

OBA Composition Reference Toolkit Benefits

The OBA Composition Reference Toolkit provides an easy way to compose OBAs by using OBA components. It provides a model for collaboration between enterprise IT developers and information workers to drive innovation, agility, and reuse. Instead of constantly having to write and revise custom applications, developers can populate the component gallery with company-specific reusable components. The information workers can create OBAs that meet their business needs. Developers also can extend the OBA Composer tool to add their company-specific security and governance.

To learn composite-solution development best practices by using the 2007 Office system, download the toolkit from the MSDN Architecture Center (http://msdn2.microsoft.com/en-us/architecture/default.aspx). By using it, developers can build adaptable components, enable incremental value by using the components, and gain an understanding of how to package and deploy components.

Solution providers and service integrators can use the OBA Composer to select from an existing catalog of prebuilt components, compose a solution "on-the-fly," and rapidly validate the application's suitability for the customer requirements.

Please send your feedback about the toolkit to compoba@microsoft.com.

Next Steps

The OBA Composition Reference Toolkit is a first step toward illustrating the capabilities and opportunities of the 2007 Office system as a composition solutions platform. This release is optimized and scoped to:

· Illustrate application (OBA) composition opportunities and best practices by using the capabilities of the 2007 Office system.

· Illustrate the benefits of advanced surround capabilities that pertain to building composite applications (OBAs) on the 2007 Office system (described earlier in this article). These include richer composition metadata services and application-composition services for business domain experts who have a limited IT background.

· Enable a functional single-user and single-computer installation of the toolkit, and sample seed components to facilitate the preceding points.

The following capabilities are planned as future enhancements:

· Component provisioning service to enable user submission of custom components and auto provisioning of components that are submitted by users

· Support for additional OBA component types that are of relevance to business domain experts, such as business field types and site columns

· Containment relationships between components and related OBA Composer enhancements, to enable ground-up user composition of Office SharePoint Web Part pages, Office SharePoint lists, and Office SharePoint document libraries

· Multicomputer installation support, to enable running of the OBA Composition Server on a Windows server and the OBA Composer on a separate client workstation (Windows Vista)

· Multiuser support, and the ability to register multiple users and provision/configure OBA workspaces and runtime sandboxes to provision and run their OBAs

· Security-model enablement and integration with Office SharePoint, to enable admin configuration of user-access permissions for the OBA Composition Reference Toolkit services and OBA components

About the author

Javed Sikander is an industry expert who has over 13 years of experience in Enterprise Applications and Solution Architectures. At Microsoft, he is engaged in driving Office Business Applications initiatives and creating reference architectures for key vertical-industry scenarios in the Retail, Manufacturing, and Financial Services industries. His latest interest is the 2007 Office system and its use as an underlying platform for building the next generation of business applications. Javed has been responsible for creating and driving Microsoft's RFID strategy, and he has developed reference architectures and toolkits for RFID applications in the Retail supply chain.

 

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker