Level: Intermediate Rishi S. Balaji (ribalaji@in.ibm.com), Associate IT Architect, IBM
29 Nov 2007 This two-part
series
focuses on asset-based development for services in a Service-Oriented Architecture
(SOA). See how some of the primary IBM® products from the asset-based
development and SOA development worlds come together to enable effective reuse of
assets in an SOA implementation. This article explains how you can leverage SOA and
asset life cycles and governance processes described in the IBM Rational®
Method Composer plug-in products in parallel during an SOA implementation. Part 2
shows how to manage and govern service assets and metadata effectively as a service
passes through the different stages in the SOA and asset life cycles, using IBM
tooling.
Introduction
One of the key principles of SOA is to view services as reusable assets
throughout the SOA life cycle. So it's important to apply formal asset development
processes and guidelines to services in an SOA. This article helps IT architects,
project managers, and SOA administrators understand the big picture of how some of
the key IBM products work together to help in effective production, consumption,
and management of services as reusable assets in an SOA.
IBM provides a wide range of tools for SOA and asset-based development. A lot of
documentation is available on the individual products and technologies, but there's
no single article that summarizes how these products from the asset-based
development area and the SOA implementation area work together to help
address the service reuse puzzle in SOA implementations. This article series attempts
to address this issue in two parts.
An SOA is an architectural style for creating an enterprise IT architecture that
integrates the business as a set of linked services to achieve a tighter
relationship between the business and the information systems that support the
business. Services in an SOA are treated as reusable assets. By maintaining a
repository of reusable services, organizations can quickly build new processes as
a choreographed set of existing services, or they can change existing
choreographies.
Asset-based development is about developing software solutions by (re)using
cohesive, documented software artifacts. It's about organizing software
development in a way that leverages previous investments and influences the
nature of future investments. It helps speed development and reduce
cost and risk by reusing assets and artifacts to solve recurring problems.
Services are one of the key reusable assets in an SOA and, hence, the principles of
asset-based development may be applied in an SOA implementation for effective
production, consumption, and management of services. This article provides insights
on how this can be done using IBM tooling for asset-based development and SOA
implementation. Note that besides services, an SOA may have other reusable assets
like business process models, reference architectures, and design patterns.
However, the focus of this article is on service assets.
IBM tools for
asset-based development and SOA
IBM provides a wide range of tools for asset development and for SOA
implementation. Figure 1 shows an overview of some of these key tools along with
the different roles that may typically use these tools. (See a larger image of
Figure 1.)
Figure 1. IBM tooling for asset-based
development and SOA
The most useful asset-development products include the Asset-Based Development
V3.0 and Asset Governance Plug-in V1.0 for Rational Method Composer, the IBM Rational
Asset Manager, and a host of other development and testing tools from the IBM
Rational Software Delivery Platform. (See the
Resources section at the end of this article for more information on
these products.)
The Asset-Based Development V3.0 and Asset Governance Plug-in V1.0 for Rational
Method Composer provides the activities, tasks, roles, and deliverables that may be
involved in performing asset-based development. This plug-in is designed to
provide guidance that can be used to make sure the right business decisions are
made, the investments are focused on the right projects, and the proper metrics are
defined and captured with respect to asset-based development. The rest of this
article refers to the asset-based development and asset governance parts of
this plug-in as the Asset-Based Development Plug-in and the Asset
Governance Plug-in,
respectively.
Rational Asset Manager is a collaborative software development asset management
solution that helps organizations create, modify, govern, find, and reuse any type
of development assets, including services as part of an SOA initiative and systems development assets. Tested assets are
stored in Rational Asset Manager for reuse by development teams.
Other products in the IBM family of SOA tools include:
- IBM Rational Software Delivery Platform
- IBM Rational Unified Process for Service-Oriented Modeling and Architecture
Plug-in V2.4 for Rational Method Composer
- IBM WebSphere® Integration Developer
- IBM WebSphere Process Server
- IBM WebSphere Business Modeler
- IBM WebSphere Business Monitor
- IBM WebSphere Business Services Fabric
- IBM WebSphere Service Registry and Repository
Note that this list only highlights the primary products that are used in common
practice for asset-based development and SOA implementation. Some of these tools
may be used for other purposes as well, such as for traditional Java™ 2 Platform,
Enterprise Edition (J2EE) application
development or for business process modeling. (See Resources for links to related
material on these products.)
You may look at the tools from a number of perspectives, including the scope and
capabilities of the tool or the role using the tool. Regardless of the perspective
you choose, it's important to note that the tools, even when supporting a number
of roles, don't live and operate in isolation.
An SOA implementation may use the SOA products mentioned above to model,
assemble, deploy, and manage services on one hand while using the processes and
guidance from the Asset-Based Development and Asset Governance Plug-in for
Rational Method Composer to ensure that the services in the SOA are indeed
reusable as assets on the other.
The SOA and asset
life cycles
Figure 2 shows the SOA and the asset life cycles as described in the IBM SOA
Foundation white paper and in the Asset-Based Development Plug-in, respectively
(see Resources for links to these
items). The figure implies that while an SOA implementation passes through the
model, assemble, deploy, and manage stages, reusable assets may be produced,
consumed, and managed during each of these different stages.
Figure 2. Mapping between SOA
life cycle and SOA governance to asset life cycle and asset governance
During the model phase, you can reuse business process models in WebSphere
Business Modeler to model new processes or to analyze existing process models. The
RUP® for Service-Oriented Modeling and Architecture Plug-in for Rational Method
Composer (hereafter referred to as the RUP for SOMA Plug-in) provides guidelines for
SOA modeling. The Asset-Based Development Plug-in and RUP for SOMA Plug-in may be
used in parallel in an SOA implementation to bring in the benefits of asset-based
development while modeling an SOA. The section on Rational Method Composer
plug-ins for asset-based development and RUP for SOMA provides more information
on this topic.
During the assemble and deploy phases, existing services may be consumed to
choreograph new business processes in WebSphere Integration Developer. Composite
business services may be assembled from existing business services. Industry-specific business services that are shipped as reusable assets as part of IBM
WebSphere Business Services Fabric Industry Content Packs may also be used to
assemble composite business services. Such composite business services leverage
the capabilities of the WebSphere Business Services Fabric platform to externalize
business-level metadata, thus enhancing their reusability in different business
ecosystems. Runtime reuse of services may happen by looking up deployed services
in WebSphere Service Registry and Repository. (Providing detailed information on
assembling and deploying service assets using the above mentioned products is
beyond the scope of this article. Please refer to the
Resources section of this article for links to relevant
articles.)
During the manage phase of an SOA, services may be monitored from an asset
perspective to assess the reuse of service assets. This helps in assessing the
business value resulting from the SOA implementation from a reuse perspective.
Services may be published to assets and service repositories for ease of
management. Further, SOA governance that influences the management activities is
closely related to asset governance. The rest of this article shows how
different IBM tools work together to help in management and governance of services
as assets in an SOA implementation.
Rational Method Composer
plug-ins for asset-based development and RUP for SOMA
Service-Oriented Modeling and Architecture (SOMA), from IBM, provides a
methodology and process for modeling an SOA. The guidance for using modeling in
SOA is provided in the RUP for SOMA Plug-in. To get a high-level perspective
of the relationship between the plug-ins for Asset-Based
Development and RUP for SOMA, see Figure 3, which shows the asset life cycle
capability pattern as described in the Asset-Based Development Plug-in.
Figure 3. RUP for SOMA process mapped
to asset-based development
As assets, services in an SOA follow the asset life cycle. The guidance provided
by the RUP for SOMA Plug-in is used to model services. Because modeling services is an
early stage of service production, the RUP for SOMA Plug-in fits in the produce phase
of the asset life cycle specified in the Asset-Based Development Plug-in. As shown
in Figure 3, during the service asset production phase, you may use supporting
guidance from RUP for SOMA to model services.
Figure 3 shows how the RUP for SOMA process fits in the asset-based development
life cycle. Figure 4 shows the flip side to this view wherein asset-based
development fits into the service modeling stages specified by RUP for SOMA.
During each of the RUP for SOMA stages, principles from RUP for Asset-Based
Development Plug-in may be used. For example, during the SOMA identification
stage, existing assets may be searched and identified for reuse from the
repository of existing assets using the consume aspects of asset-based
development. The process models that are produced during the RUP for SOMA process
can be published to the asset repository using the guidance from the produce phase
in the asset-based development life cycle. Note that this is a high-level view.
Details on the specifics of creating a customized process are beyond the scope of
this article.
Figure 4. Asset-based development
life cycle mapped to RUP for SOMA
Asset governance and SOA
governance
Governance in general deals with defining the chains of responsibility, policies,
mechanisms, and measurements to establish management tasks in context. IT
governance deals with decision making rights associated with IT. It also involves
the policies and mechanisms used to control and measure the way IT decisions are
made and carried out.
Asset governance extends IT governance focused on the life cycle of assets to
ensure the business value of asset-based development. It's a catalyst for
improving IT governance.
Similarly, SOA governance is an extension of IT governance specifically
focused on the life cycle of services, metadata, and composite applications in an
organization's SOA.
IBM provides Rational Method Composer plug-ins for asset and SOA governance to
help organizations define and implement their governance activities. The two
plug-ins define a four-stage process: plan, define, enable, and measure
their respective areas of governance.
Because SOA implementations treat services as reusable assets, they may require
guidance for both SOA governance and asset governance. For example, during the
definition stage of SOA governance, asset repositories can also be defined for
service assets. Workflows can be defined for publishing services to the
repositories. Policies can be defined for service reuse. You can get guidance for such
activities from the Asset Governance Plug-in. The IBM Rational
Method for SOA Governance Plug-in V 1.0 for Rational Method Composer (hereafter
referred to as the SOA Governance Plug-in) can be used for overall guidance on roles,
processes, and responsibilities involved in implementing SOA governance.
Figure 5 shows the relationship between the specifics of asset and SOA governance
in the context of the more general areas of IT and business governance.
Figure 5. SOA governance and asset
governance in the context of business governance and IT governance
The overlap between SOA and asset governance is due to the fact that services in
an SOA are reusable assets that need governance mechanisms that are defined by
asset governance. The non-overlapping portion of the SOA governance ellipse covers
the larger set of activities, such as deployment of composite services and
security of services that are involved in governing an SOA. Asset governance, on
the other hand, may include activities that are relevant to a broader set of assets
beyond service assets, such as user interface components and process models.
Organizations that are involved in asset-based development besides their SOA
implementation may use guidance from the Asset Governance Plug-in to govern their
non-SOA assets. This explains the non-overlapping portion of the asset governance
ellipse in Figure 5.
Based on the IT governance policies of an organization, there may be common
members in the SOA governance and asset governance boards to align the activities
of both the governance bodies.
Conclusion
This article, the first of a two-part series, highlighted the key IBM tools that help in SOA and
asset-based development. You learned how the SOA life cycle and governance processes
map to the asset life cycle and governance processes with reference to the Rational
Method Composer Plug-in products for SOA and asset-based development and
governance. Having shown that services in an SOA may follow the asset-based
development and SOA life cycles, Part 2 will show you how to manage and
govern service assets and metadata effectively through the service and asset
life cycles.
Resources Learn
Get products and technologies
Discuss
- Get involved in the developerWorks community
by participating in developerWorks blogs, including the following SOA
and Web services-related blogs:
About the author  | 
|  | Rishi S Balaji works as an associate IT architect for the Global Business
Solutions Center, IBM India. His current area of expertise is in developing
reusable assets for Service-Oriented Architectures. |
Rate this page
|