Skip to main content

Use WebSphere Business Services Fabric v6.1 to Build Composite Business Services: Part 4: Service Monitoring using Performance Manager

Peng Tang, Software Engineer, IBM
Peng Tang
Peng Tang is a software engineer from Global Business Solution Center, IBM, where he is currently building CBE (Common Business Enabler) to enhance the common business service usage among different industrial sectors.
Lei Zhang, Associate I/T Architect, IBM
Lei Zhang
Lei Zhang is the lead architect of Road User Charging (RUC) solution of Intelligent Transportation System (ITS) in government industry from Global Business Solution Center. WBSF is one of the important products in GBSC solution stack as part of SOA fundamental. Especially, in the 2007, Lei led a team to join the WBSF V6.1 BETA program, and verified the WBSF 6.1 is much valuable in the government solution development.
Jing Feng Zhang, Software Engineer, IBM
Jing Feng Zhang
Jing Feng is a member of IBM GBSC, and focuses on issues of J2EE, SOA solutions, EAI, and BPM.
Yan Jun Mo, Software Engineer, IBM
Yan Jun Mo
Yan Jun Mo is a software engineer from Global Business Solution Center, IBM, where he is currently building SOA-based business solutions for the government industry.
Wei Wang, Software Engineer, IBM
Wsdl Wang
Wei Wang is a software engineer from Global Business Service Center, IBM. Currently he is building SOA-based business solutions for the government industry.

Summary:  In the previous three articles of this series, we gave an overview for the WebSphere Business Service Fabric 6.1 and used business analysis to define WBSF artifacts that meet business goals. We then discussed the details of fabric development. In this final article in the series, we look at how to enable Performance Manager to enhance your fabric application to meet service monitor requirements.

View more content in this series

Date:  13 May 2009
Level:  Intermediate
Activity:  402 views

Introduction to Business Service Performance Manager

What is Performance Manager

The IBM Business Services Performance Manager provides business visibility and monitoring of service-oriented processes and applications. It includes multi-perspective views and enables drill-down analysis of events and exceptions.

Designed for seamless interoperability with leading business activity monitoring and Web-services management tools, Business Services Performance Manager provides greater visibility across service-oriented business processes and functions.

Major capabilities

This section describes the major capabilities of the IBM Business Services Performance Manager, which include:

  1. Domain, subscriber, and service-based performance and Service Level Agreement (SLA) reporting. SLA is a formal agreement between a service provider and customers to provide a certain level of service
  2. Performance and impact management including what-if analysis and visibility into Quality of Service (QoS) and SLA. QoS is the idea that transmission rates, error rates, and other characteristics can be measured, improved, and, to some extent, guaranteed in advance
  3. Pre-built visibility and optimization services to monitor business service performance against SLAs
  4. Distributed data and event collection for service and process level visibility
  5. The ability to trace individual transactions for audit and resolution of customer service, security and compliance issues
  6. Real-time monitoring of aggregate or individual level traffic including faults, volume of data processed, and availability

Report Views of Performance Manager

Here we describe the major views that Business Services Performance Manager provides:

  1. Service Invocation Summary: Use the Service Invocation Summary report to view the response times of Web services and endpoints that are invoked in the context of a single business service transaction. You can view the Service Invocation Summary report for business services associated with all applications, all application suites, or a type of business service.
  2. Service Performance: The Service Performance business service allows you to analyze the performance of Web services and endpoints in an enterprise. This performance analysis is in terms of Key Performance Measures (KPM) such as the total number of transactions for a business service, the average response time of a Web service or an endpoint, and the number of failed transactions.
  3. Service Utilization: The Service Utilization business service enables analysis of business service use in an enterprise. It displays key details about the usage of a business service such as its volume, cost per unit, cost modifier, and the total cost in a particular period. These are important metrics for an administrator to help realize the usage and load factors of various services, which in turn help set the necessary business and infrastructure policies.

Case Review: Visa application and Performance Manager

Let's start by reviewing the Visa application that was analyzed in the previous articles in this series. There are four Service Providers that can provide the Information Verification Services with different response time and cost, and the requirement of Embassy ABC is not only how to choose the most cost-efficient service dynamically for a particular service request, but also how to record the invocation performance status according to:

  • Ratio of successful invocation per provider
  • Total cost in a period of time
  • Average response time
  • Proportion of service providers by invocation

Most of these are covered by the WBSF major capability. At this point, then, we need to enable multi-perspective views of service Performance Manager.

Step-by-Step Enable Performance Manager

The Performance Manager tracks business service enrollments and other transaction data required for reporting through an identifier supplied to the system. WBSF uses a superset of this information (termed a subscription) to indicate to its components the use of an enrolled business service on a specific channel by a particular user playing one or more roles within an organization. Using the subscription ID, the Performance Manager extracts the data required for reporting from the received subscription information and stores it in a database. Without a subscription ID, an invocation cannot be tracked, and the Performance Manager cannot provide performance details about the invocation. So having a subscription ID is requirement to using Performance Manager. The following steps explain how to get a subscription ID:

1. Create an Enrollment namespace for the project

As we know, Governance Manager enables users to create and manage namespaces in WBSF. We can create the following types of namespaces:

  • Instance: Used to store Business Service model instances.
  • Schema: Used to store schema information.
  • Enrollment: Used to store Business Service entitlement information. The system creates this namespace at the time of configuring an external Lightweight Directory Access Protocol (LDAP) project.

Performance Manager does not use these namespaces directly, but the tracking information of Performance Manager, service enrollments and other transaction data requires enrollment namespace data.

According to the Visa application business analysis, the Enrollment Namespace is created with:

  • Display Name: Visa Application Enrollment NS
  • Namespace Type: http://www.abc.org/service/embassy/visa-application-enr#
  • Namespace URI: Enrollment
  • Owner Project: VisaApplication

Figure 1. Create Namespaces
Create Namespaces

2. Enroll the target business service

After you create the Enrollment namespace, the business service can be enrolled in the “Manage Enrollments.” Service, which is a business service that allows users to enroll multiple organizations in business services at the same time.

Below are the enrollment steps:

  • Search for groups of Available Organizations, and select Embassy ABC.

Figure 2. Select Embassy ABC
Select Embassy ABC
  • Select visaApplicationApp business services to enroll.

Figure 3. Select visaApplicationApp Business Services
Select visaApplicationApp Business Services

Note: Single enrollments can be also managed from the Manage Subscribers business service.

3. Subscribe the service to the user

  • On the Manage Subscribers page, click Create User (in our project, we use the existing user)
  • Go to Manage Subscribers and in the search parameters, select the Users check box and type in the last name of the user you just created. The search results will return the correct user. Then, click on the user name and details will be presented. Make sure the user role matches the role that you specified (in our project, we use “administrator” as the user role).

Figure 4. Select User
Select User
  • Go to the Subscriptions tabs. All the business services will be listed. Select the business services you want the user to be subscribed to and then click “Save Subscriptions”.

Figure 5. Select the Business Service
Select the Business Service
  • To get the Subscription ID of the user, jump to the Subscriptions tab, and click “View Subscriptions”.

Figure 6. Get the Subscription ID
Get the Subscription ID

After you get the Subscription ID, we need to copy it to the SOAP header. You do this by first opening the VisaApplicationExtractorImpl.java file which we created in the third article in this series; you then should modify the source code as follows:


Listing 1. Source Codes in VisaApplicationExtractorImpl.java

public class VisaApplicationExtractorImpl implements ContextExtractor {
	
	private static final String Type_URI = 
    "http://www.abc.org/service/embassy/visa-application-sch#VisaType";
	
	private static final String SUB_URI = 
    "http://www.webifysolutions.com/context/subscription";
	private static final String SUB_ID = 
    "fc://fabric/enrollment/subscription-inst#c02591c7-722f-4078-a66b-7bc61e8f10b7";
	
	
	private static final String VISA_TYPE = "visaType";
	………
	public Context extractContext(PendingRequest arg0) throws 
            UnexpectedContentException {
		// TODO Auto-generated method stub
		DataObject body = arg0.getMessageBody();
		DataObject request = (DataObject) body.getSequence(0).getValue(0);
		BusinessObject request1 =  (BusinessObject) request.getSequence(0).
            getValue(0);
		String type = (String) request1.getString(VISA_TYPE);
		Context context = arg0.getContext();
		context.setSelectionProperty(Type_URI, new TypedValue(type));

		context.setSelectionProperty(SUB_URI, new TypedValue(SUB_ID));
		
return context;
	}
			

Multi-perspective views of Service Performance Manager

Now let’s look at of all the views that WBSF Performance Manager provides and demonstrate how the requirement of Visa application are achieved.

Service Invocation Summary Report

In the Fabric console, click “Performance Manager” and then “Service Invocation Summary”. The Service Invocation Summary page will be displayed.

We can set a filter to generate the report for business service transactions for all applications, or all application suites, or a type of business service. Select “Browse By Application Suite, Application, or Type of Service”.


Figure 7. The Service Invocation Summary Report
The Service Invocation Summary Report
  • Transaction ID denotes the context ID passed to Dynamic Assembler.
  • Invoked On denotes the invocation date and time.
  • Response Time is the total time taken to complete an invocation for a business service transaction. It is measured in milliseconds.
  • A Channel is the mechanism through which a business service is consumed by a subscriber.

Click “Transaction ID” to generate an invocation report for that business transaction.


Figure 8. The Transaction Invocation Details Report
The Transaction Invocation Details Report

The bar chart displays the invocation response time for each endpoint selected for a Web service. In the case of a composite Web service invocation, multiple bars represent the response time of each endpoint. The final bar denotes the total time taken to complete the composite Web service invocation.

Also displayed is the Invocation Order, which denotes the sequence in which each Web service is invoked in the context of a business service transaction. Additionally the Web service interface and the endpoint that is selected by the IBM Business Services Dynamic Assembler are displayed.

Service Performance Report

In the Fabric console, click “Service Performance”. The Service Performance page is displayed. Specify the Search criteria, and click “Search”.


Figure 9. The Service Performance Report
The Service Performance Report

In the Resource Selection list, click the Web service interface or Endpoint name for which the details are to be displayed.


Figure 10. The Service Performance Details Report
The Service Performance Details Report

The Transaction Volume / Response Time and Availability charts display the Web service's average response time for the transaction volume for a specified duration. The X axis shows the service performance period for which the data is generated. The Y axis shows the total number of transactions, the number of failed transactions, that is, transactions that encountered Web service failures, and the average response time in milliseconds.

Availability charts display Ratio of the Web service requests that are serviced to the total number of Web service requests made.

Service Utilization Report

Now click “Service Utilization”. The Service Utilization report is displayed, as we see in Figure 11.


Figure 11. The Service Utilization Report
The Service Utilization Report

The pie chart displays the proportion in which the business service was invoked within a given duration by the organizations. The definitions of the columns of the Utilization Details table are:

  • Name: Name of the organization using the business service.
  • Volume: The number of times the business service was invoked (utilized) by the organization within the specified duration.
  • Cost: The amount per unit charged to the organization for the utilization of the business service.
  • Cost Modifier: The base unit for calculating the cost of business service usage. Valid values for base unit are transaction, second, minute, hour, day, month, and year.
  • Total: The total amount charged for business service usage. It is the product of the volume of transactions and the cost per transaction.

Based on the Performance Manager description, we can find the requirements of the Visa application can be achieved. The details are in Table 1 below.


Table 1. Requirements of the Visa application
RequirementWBSF Performance Manager View
Ratio of successful invocation per providerVolume / Response Time and Availability chart and Availability chart in Service Performance Report
Total cost in a period of timeUtilization Details table in Service Utilization Report
Average response timeVolume / Response Time and Availability chart and Availability chart in Service Performance Report
Proportion of service providers by invocationService Utilization Pie Chart in Service Utilization Report

Series Summary

This concludes the series on services modeling using WebSphere Business Services Fabric v6.1 to build Composite Business Services. In this final article, we looked at how to enable Performance Manager to enhance your fabric application to meet service monitor requirements.



Downloads

DescriptionNameSizeDownload method
Sample code for this articlehttp://download.boulder.ibm.com/ibmdl/pub/software/dw/webservices/ws-WSBFoverviewpart1/VisaApplication-owl.zip9KBHTTP
Sample codehttp://download.boulder.ibm.com/ibmdl/pub/software/dw/webservices/ws-WSBFoverviewpart1/visa_app.zip10KBHTTP

Information about download methods


Resources

About the authors

Peng Tang

Peng Tang is a software engineer from Global Business Solution Center, IBM, where he is currently building CBE (Common Business Enabler) to enhance the common business service usage among different industrial sectors.

Lei Zhang

Lei Zhang is the lead architect of Road User Charging (RUC) solution of Intelligent Transportation System (ITS) in government industry from Global Business Solution Center. WBSF is one of the important products in GBSC solution stack as part of SOA fundamental. Especially, in the 2007, Lei led a team to join the WBSF V6.1 BETA program, and verified the WBSF 6.1 is much valuable in the government solution development.

Jing Feng Zhang

Jing Feng is a member of IBM GBSC, and focuses on issues of J2EE, SOA solutions, EAI, and BPM.

Yan Jun Mo

Yan Jun Mo is a software engineer from Global Business Solution Center, IBM, where he is currently building SOA-based business solutions for the government industry.

Wsdl Wang

Wei Wang is a software engineer from Global Business Service Center, IBM. Currently he is building SOA-based business solutions for the government industry.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and Web services, WebSphere
ArticleID=388806
ArticleTitle=Use WebSphere Business Services Fabric v6.1 to Build Composite Business Services: Part 4: Service Monitoring using Performance Manager
publish-date=05132009
author1-email=tangpcdl@cn.ibm.com
author1-email-cc=
author2-email=zhanglei@cn.ibm.com
author2-email-cc=
author3-email=zjfeng@cn.ibm.com
author3-email-cc=
author4-email=moyanjun@cn.ibm.com
author4-email-cc=
author5-email=wsdl@cn.ibm.com
author5-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers