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.
.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:
.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:
.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.
.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).
.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:
.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.