Skip to main content

skip to main content

developerWorks  >  SOA and Web services | WebSphere | Rational  >

Apply asset-based development to services in an SOA, Part 2: Manage and monitor service assets and metadata

developerWorks
Document options

Document options requiring JavaScript are not displayed


Rate this page

Help us improve this content


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.



Back to top


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.



Back to top


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



Back to top


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

  • Services observed but not registered: Assuming that registering a service in the WebSphere Service Registry and Repository is a prerequisite to a broader reuse of that service, this situation might reflect one of the following scenarios:
    • The operational services that are currently observed aren't the ones targeted for exposure and reuse. These observed services might be only test services whose implementation is due to change.
    • The observed services could reflect the existence of service assets in the Rational Asset Manager that aren't registered in the WebSphere Service Registry and Repository.
    • The observed services could reflect the existence of reusable assets in the organization that have not been published, registered, or both in the repositories.

    Knowing these facts about the assets can help in enforcing governance policies on them, thus enabling better reuse.

  • Services registered but not observed: This situation might indicate:
    • The fact that the common services registered in the WebSphere Service Registry and Repository and potentially highly reused are missing monitoring capabilities.
    • The fact that certain registered services aren't being used by consumers, probably due to defects in the service, such as poor performance. Such information about the assets can lead to identification of defects in the services, thus helping improve their quality.
  • Services registered and observed: This situation may prove as a sound foundation to enable and understand common 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.



Back to top


Conclusion

Share this...

digg Digg this story
del.icio.us Post to del.icio.us
Slashdot Slashdot it!

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


About the author

Rishi Balaji photo

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


Please take a moment to complete this form to help us better serve you.



YesNoDon't know
 


 


12345
Not
useful
Extremely
useful
 


Back to top


ClearCase, ClearQuest, IBM, the IBM logo, Rational, Redbooks, Tivoli, and WebSphere are registered trademarks of IBM in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.