Level: Intermediate Rishi S. Balaji (ribalaji@in.ibm.com), Associate IT Architect, IBM
13 Dec 2007 This is the second article in a two-part
series
that focuses on asset-based development for services in a Service-Oriented
Architecture (SOA). In this article, learn how to effectively leverage IBM®
tooling to manage and govern service assets and metadata to avoid proliferation of
services and enhance service reuse in your SOA implementations.
Introduction
Part 1
of this series focused on some of the key IBM tools you can use for asset-based
development and SOA implementation. It explained how to bring an asset-based
development perspective to services in an SOA by mapping the SOA life cycle and
governance processes described in the IBM Rational® Method Composer Plug-in
products to their asset-based development counterparts.
As assets, services in an SOA need to be made available for reuse at the time SOA
applications are developed. Because services are also executable units, service
metadata needs to be made available for deployed applications to discover and
execute the services. IBM provides several tools to manage, monitor, and govern
service assets and metadata. The rest of this article shows you how to leverage
the capabilities of some of these tools to establish management tasks, such as
tracking service artifacts from development through runtime activities and
monitoring service usage to assess the reusability of services in the SOA.
Asset and service
repositories
During its life cycle, a service in an SOA is stored in different repositories
serving different purposes. To ensure effective reuse and ease of management of
service assets, it's important to understand when each of these repositories may
be used during the service life cycle and for what purpose.
This article explains the following four primary repositories:
- IBM Rational Asset Manager
- IBM WebSphere® Service Registry and Repository
- IBM Business Services Repository (part of IBM WebSphere Business Services
Fabric)
- IBM Rational ClearCase®
Note: This isn't an exhaustive listing of repositories used in an SOA. An
SOA implementation that involves reusable asset management, service metadata
management (for services including composite business services), and configuration
management may leverage these repositories. Providing the complete set of
repositories that may possibly be used in an SOA is not in the scope of this
article.
What's the purpose of
these repositories?
Rational Asset Manager is a development time asset repository. You can use
it to source assets for reuse during the development of solutions or other assets
from Rational Asset Manager. It provides a Web-based interface and an Eclipse
plug-in to publish, search, and download assets.
WebSphere Service Registry and Repository is primarily meant to store
service metadata in an SOA implementation and is intended to be used by
applications that need runtime access to such information. It also has impact
analysis and life cycle maintenance features of services stored in it. You can use
WebSphere Service Registry and Repository as a central repository for all
service-related metadata in an SOA. Doing so not only eases implementation of SOA
governance policies, but also enables applications that require runtime access to
service metadata to know where to find such information. You can publish service
metadata from Rational Asset Manager to WebSphere Service Registry and Repository.
Service metadata that exists in WebSphere Service Registry and Repository can be
synchronized in Rational Asset Manager so that Rational Asset Manager users can
see services that are deployed in the SOA. Users can also download the metadata
artifacts in WebSphere Service Registry and Repository through Rational Asset
Manager.
While you can use WebSphere Service Registry and Repository for storing technical
service metadata, such as Web Services Description Language (WSDL) and XML Schema
Definition (XSD) files,
the Business Services Repository that's part of the WebSphere Business
Services Fabric product, stores business-level service metadata that are typically
associated with composite business services. Such metadata may include which roles
can access a specific business service and through what channels. Business-level
policies associated with the business services are also part of the Business
Services Repository.
Rational ClearCase is the software configuration management tool that
manages versions of individual artifacts or files. You can use Rational ClearCase
during development, and it may help the development teams work together. These
individual Rational ClearCase artifacts are later grouped into assets with
additional metadata information and submitted as a specific asset version to
Rational Asset Manager.
How are these
repositories used for effective service asset reuse in an SOA?
You can achieve effective reuse of service assets in an SOA by using the
integration capabilities of these different repositories and using the right
repository for the right purpose during the life cycle of a service. Figure 1 shows
the integration between these different repositories and the artifacts stored in
them with respect to service assets.
Figure 1. Repositories in the life of
a service
Integration among the
repositories
Rational Asset Manager integrates with Rational ClearCase to store asset
artifacts and to reference artifacts that are part of an asset. Rational Asset
Manager has two different integrations with Rational ClearCase, which are
completely independent of each other. Let's break these down:
-
Server integration: Rational Asset Manager can use the Rational
ClearCase repository to store the assets instead of using its own file system.
This a server administration configuration option, and it's completely
transparent to the Rational Asset Manager user.
-
Client integration: When Rational Asset Manager is using Eclipse and
Rational ClearCase to develop and store the assets, after these assets are
submitted to the Rational Asset Manager server control, Rational Asset Manager
recognizes that the submitted assets come from a version control tool,
creates a reference to its source, and stores this information with the
asset. This integration works even if the Rational Asset Manager server hasn't
been configured to use Rational ClearCase to store the submitted
assets.
Rational Asset Manager also integrates with WebSphere Service Registry and
Repository to provide visibility of deployed services in an SOA to the asset
manager users. It also provides the facility to publish service metadata to
WebSphere Service Registry and Repository.
WebSphere Business Services Fabric integrates with WebSphere Service Registry and
Repository to source technical service metadata, which is then qualified with
business-level service metadata and stored in the Business Services Repository.
Manage service
artifacts and metadata: an example
Assuming that these products have been configured to integrate with each other,
this section shows you how to use these repositories for effective management and
reuse of services in an SOA. Using the example of a credit checking
service, this section explains how
to manage the artifacts and metadata for this service using the different
repositories, as shown in Figure 1.
When the service is being developed in an environment like IBM Rational Software
Architect, Rational ClearCase maintains the service artifacts.
Assuming that Rational Asset Manager has been configured for Rational ClearCase
client integration, the tested service can be published to Rational Asset Manager
using the Rational Asset Manager Eclipse plug-in. The asset artifacts like the
WSDL and XSD implementation files stored in Rational ClearCase are
referenced by the asset in Rational Asset Manager. Rational Asset Manager
duplicates the frequently used artifacts for caching purposes. Additional metadata
related to the service, such as asset name, description, and category to name a few,
are stored in Rational Asset Manager. Now the service asset is ready for reuse.
Rational Asset Manager users may search for the credit checking service through the
Rational Asset Manager Eclipse plug-in and download the asset for reuse. During
the download, Rational Asset Manager provides the option to either attach the asset
to the version in ClearCase or to download a version control-independent version
of the asset to the workspace.
When the credit checking service is deployed for use in an SOA application, its
metadata needs to be available in WebSphere Service Registry and Repository as a
best practice, because WebSphere Service Registry and Repository is the central
repository for all deployed services. You can achieve this by publishing relevant
service metadata from Rational Asset Manager to WebSphere Service Registry and
Repository. The service artifacts, such as implementation files, always remain
in Rational Asset Manager. Only the metadata is published to WebSphere Service
Registry and Repository.
Publishing the credit checking service metadata files, as well as the CreditCheck.wsdl and
XSD files from Rational Asset Manager to WebSphere Service Registry and
Repository, results in the creation of links to the CreditCheck service in
both repositories. Users of WebSphere Service Registry and Repository can
trace the service artifacts in Rational Asset Manager. Similarly, users of
Rational Asset Manager can trace the deployed artifacts in WebSphere Service
Registry and Repository. Note: Because the metadata published to WebSphere
Service Registry and Repository may undergo changes in WebSphere Service
Registry and Repository, users can follow the link from Rational Asset Manager to
WebSphere Service Registry and Repository to access the service metadata
corresponding to the deployed version of the service.
Now that the service metadata is available in WebSphere Service Registry and
Repository, other applications can use this data for different purposes. Composite
Business Services assemblers may source the technical service metadata, such as
WSDL and XSD files, from WebSphere Service Registry and Repository into the
Business Services Repository using the tooling support provided by WebSphere
Business Services Fabric. For example, the CreditCheck.wsdl and Account.xsd files
can be sourced from WebSphere Service Registry and Repository and qualified with
business-level metadata. Such metadata may qualify the CreditCheck service to be
accessible through a Web portal consumer. Further, a business policy that allows a
quick preapproval for low-risk consumers can be applied to the service as part of
the metadata. Composite business services assemblers add such business-level
metadata to the service and store them in the Business Services Repository.
In this way, the different repositories from the asset management space and the
SOA space integrate with each other to enable effective management and governance
of services while serving different purposes that are relevant to different stages
in the life cycle of the service.
Assess service reuse
An important aspect of service management in an SOA is to be able to monitor and
report the reuse of service assets. This is essential to measure the business
value resulting from asset-based development and tune the governance policies
accordingly. This section shows how to report on service reuse, using some of the
key products in SOA management space.
The first part of this section shows how to use WebSphere Service Registry and
Repository with IBM Tivoli® Composite Application Manager to assess service reuse.
The second part of this section shows how to use the WebSphere Business Services
Fabric Performance Manager to assess reuse of composite business services.
Assess service reuse
with WebSphere Service Registry and Repository
WebSphere Service Registry and Repository integrates with Tivoli Composite
Application Manager (hereafter referred to as Composite Application Manager) to
provide the latter with information about registered services and to fetch
operational information about the deployed services. The operational information
is used to enrich the metadata associated with a service in WebSphere Service
Registry and Repository. These two primary interactions between WebSphere Service
Registry and Repository and the monitoring and management infrastructure,
typically using Tivoli products, is shown in Figure 2.
Figure 2. Assessing service reuse with
WebSphere Service Registry and Repository and Composite Application Manager
The Composite Application Manager discovers service data relevant for SOA
management through the use of adapters. Using these adapters, you can expect that:
- Observed services are discovered using Composite Application
Manager for SOA's discovery library adapter from the running agents monitoring
operational applications and services.
- Registered services are discovered using the WebSphere Service Registry and
Repository Discovery Library Adapter by querying WebSphere Service Registry and
Repository for published services and related information.
Reconciliation of the observed and registered service information helps to point
out the following situations regarding asset (service) reuse:
Use forwarded service
information
Service status information is forwarded to WebSphere Service Registry and
Repository using the situation and event mechanisms provided by Tivoli management
infrastructure and leveraged by Tivoli Composite Application Manager for SOA.
IBM Tivoli Monitoring gathers data from the various monitoring agents installed on
the computers in your environment. Information about Web services is collected by
the Composite Application Manager for SOA and stored for display in tables of
attributes. Events are triggered in Composite Application Manager for SOA when the
attribute values hit certain thresholds. A situation in Composite Application
Manager for SOA is a condition where a set of attributes are tested against a
threshold. The situation evaluates the conditions at predefined intervals and
invokes the appropriate automated responses and notification methods.
Certain predefined situations are triggered when there are faults caused by Web
services, such as when message sizes or response times for the Web services
exceed the configured thresholds. You can configure these predefined situations
with custom threshold values, or you can define custom situations to monitor
specific attributes of the services. When a situation event is detected, the
properties of the service in WebSphere Service Registry and Repository are updated
with the operational metadata.
From a service management perspective, you can use this information to measure the
utilization of the service assets and plan service migration and retirement strategies
accordingly. The effectiveness of the SOA can be captured in the service
information where service usage could directly reflect the success of the overall reuse
policy of services across consumers. Defects may be identified in the services
(for example, based on the fault situation event) and may be raised in IBM Rational
ClearQuest® by tracing the asset artifacts from WebSphere Service Registry and
Repository to Rational Asset Manager and using the integration features of
Rational Asset Manager and Rational ClearQuest.
Use WebSphere Business
Services Fabric Performance Manager to assess business service reuse
IBM Business Services Performance Manager provides business visibility and
monitoring of service-oriented processes and applications. The Performance Manager
provides several out-of-the-box reports that give operational information about
business services.
You can use these reports to provide feedback on asset reuse—specifically about
business service usage—and service performance. Let's look at these more closely:
Business service usage report: The business service usage report gives a
volume metric that shows the number of times a business service was invoked by the
organization within the specified duration. You can use this metric to judge the
use of the asset in the organization. A low value indicates that the business
service is not being used. This may lead to further analysis of the asset at
the business and technical levels to understand the cause for low usage. The
asset may have technical defects that make it less reusable in multiple composite
business services. It can also lead to the conclusion that the asset does not
solve a problem that has business value and, hence, may not qualify to be a
reusable asset.
The business service usage report also gives the cost incurred in invoking a
business service. You can use this as one of the parameters to the total cost
involved in using the business service asset. In a business model where a
composite business service is being used by a service provider, the provider may
configure the cost of the business service to an appropriate value and use the
cost from the usage report to charge the consumers. In such a model, the
cost metric turns out to be the returns obtained from using the asset.
Service performance report: The service performance report shows the ratio
of the Web service requests that are serviced to the total number of Web service
requests made. You can use this metric to analyze the availability requirements
expected from the service at run time. A low availability value may
indicate a defect in the asset with respect to nonfunctional requirements.
The service performance report also gives the number of transactions that were
encountered for a specific service, the number of Web service failures, and the
average response time for the service. You can use this information as an
indication of runtime reuse of the service asset, similar to the volume metric in
the business service usage report.
Conclusion
This two-part series showed the importance of asset-based development in an SOA.
It highlighted the key IBM products that enable asset-based development and
explained
how to use them in an SOA implementation.
You saw the major service and asset repositories provided by IBM for SOA
implementations. You also learned how an integrated
configuration of these repositories can help in effective management and
governance of services in an SOA. Finally, you learned how to leverage the monitoring
capabilities of some of the IBM tools to assess the reuse of service assets in an
SOA.
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
|