It is important to understand the complexity of a BPEL process that creates the additional need for active operational monitoring. They are SOA enabled, which means they orchestrate interactions between different systems using a common Web Service Invocation Framework (WSIF). WSIF enables BPEL to build a façade to interact with any system that is Web service enabled. The Web service interactions are called "partner links" in the BPEL framework. This is quite powerful for orchestrating complex business processes that involve new and legacy systems.

Grid Control provides means to monitor critical BPEL processes, partner links, and Web services through service tests to determine availability and response time. Grid Control also provides a means of measuring critical metrics for actual requests initiated against each of the Web services deployed on the container. With a combined end-user and request perspective, Grid Control can determine the service availability of all monitored services.

Challenges

Once BPEL processes are deployed into a staging, preproduction, or a production environment, administrators find it difficult to track the health of these key processes. There is a paucity of tools and operational skills in the BPEL area, so it becomes difficult to understand where to look, and what to look for, when faced with a problem. These processes frequently are the automated representation of critical business functions, and they are required to work as expected. Each process could spawn hundreds or thousands of instances daily. If any process is not performing as expected, in terms of availability or performance, the administrators need to step in and resolve the problem. Administrators are required to fix problems as soon as possible, and typically spend most time triaging the problem to understand potential root causes. Further, in most cases, end users report these problems, whether they are consumers via the Internet or key business partners. If that is the case, the enterprise has already lost revenue or credibility, or both.

Solutions

Grid Control provides means to monitor critical BPEL processes, partner links, and Web services, through service tests to determine availability and response time. Grid Control also provides a means of measuring critical metrics for actual requests initiated against each of the Web services deployed on the container. Grid Control can determine the service availability of all monitored services by utilizing its active end-user monitoring capabilities.

Step-by-step exercises

This set of step-by-step exercises will walkthrough the discovery of a BPEL process home page, and setting up monitoring for the process and partner links.

Navigating to the BPEL PM target home page

Grid Control can monitor several types of targets. The first task is to get to the BPEL PM target home page. All the BPEL-specific monitoring views can be viewed from the target home page.

Navigate to the Grid Control home page.

In the Target Search region on the right, click on the Search dropdown.

Scroll down to locate and click on the BPEL Process Manager target type.

Click on the Go button.

A list of discovered BPEL Process Manager targets is displayed. Click on the one target name of choice. This takes you to the BPEL PM target home page.

If a single BPEL Process Manager target is discovered, the Go button will automatically take you to that target's home page.

Navigating to the BPEL process home page

The BPEL target home page is mainly an infrastructure view. There is a section within the target home page to view the list of BPEL processes and their monitoring metrics.

From the BPEL target home page, click on the Processes tab.

All the BPEL processes deployed on the server are discovered and displayed here. Note that the processes are displayed within the domain they are deployed in. Summary throughput process instance information is also displayed in the table. These metrics are gathered by default from the BPEL PM server at a preset polling frequency (collection interval). One can easily change the default polling frequency, as well as set thresholds for these out-of-the-box metrics so that alerts and notifications (with notification rules) can be fired.

(Move the mouse over the image to enlarge.)

Click on the BPEL process name under the default domain, for example SOAOrderBooking(v1.0).

This is the individual BPEL process page. Note the process-specific instance throughput graph. At the bottom, note that all the partner links (at the bottom) for the BPEL process are discovered along with the port type, operation, and WSDL information. Create the BPEL process aggregate service. Note that you need to create the BPEL Infrastructure Service before you attempt to create the BPEL process aggregate service.

From the BPEL process page, click on the Create Service button, as shown in the following screenshot:

Observe the confirmation message for the aggregate service creation.

The aggregate service that was created is listed under the Services section. The previously created infrastructure service has automatically been associated with the aggregate service. In the Services section, starting from the left, you see the service name, type of service, status, and other alerts. The top-level service is the aggregate service. The next service is the infrastructure service—a subservice of the aggregate.

Creating a SOAP test to monitor a partner link

A synthetic transaction is a proactive way to emulate end user (or client) behavior and catch problems before the end user (or client). A BPEL process typically invokes one or more web services through a partner link framework, usually via SOAP. A synthetic check for testing the BPEL partner link availability and performance is a great way to uncover problems before the service consumers do.

Scroll down and select a partner link name from the radio button list, for instance, SelectService.

Click on the Add SOAP Test button to create a SOAP test for that partner link.

Enter the SOAP Test Name as SelectService_test.

Enter the test interval for the Collection Frequency (minutes) as 15.

Select Web service port from the Port Types drop-down list as SelectServiceCallbackPort.

Enter input parameters in the HTML input fields, for example, SupplierPrice {String} as 12345 and SupplierName {String} as 2.

Leave the Basic Authentication Credentials section empty.

Click on OK to continue after the fields on the Create SOAP Test page are filled as shown in the following screenshot:

Add a beacon. Click on the Add button.

From the pop-up window, check and select the available beacon(s), shown in the next screenshot:

Beacons are agents that have been configured to issue synthetic tests to test websites, Web services, mail servers, FTP sites, and so on. A beacon is typically installed outside the firewall from a location where users access the website or Web service. A beacon thus "emulates" end user behavior and informs the administrator proactively about any problem with the website or Web service. You can read more about beacons and service management in the Grid Control documentation on the Oracle Technology Network—http://otn.oracle.com.

Click on OK to save the SOAP test and beacon settings.

Verify availability process creation and view SOAP test. On the BPEL process home page, note the availability Generic Service that was automatically created.

Expand the process availability service. For example, SOAOrderBooking(v1.0)_availability and verify that the SOAP test that you just created, for example SelectService_test, has been added.

The availability service for the BPEL process is formed when the first SOAP test is created. Note the status of each test, and how it is rolled up (confi gurable) to determine process availability. The status of the SOAP test will take some time to show up, based on the frequency set for the test.

Creating a SOAP test to monitor a BPEL process

Similar to monitoring partner links through synthetic checks, the overall BPEL process can also be monitored in the same manner. A BPEL process is typically invoked by a SOAP client. This can be tested at a desired frequency to ensure that the BPEL process can be instantiated at all times by clients:

Go to the BPEL process home page.

Scroll down and locate the radio button for client in the Partner Links section.

Click on Add SOAP Test to create a SOAP test for the client, as shown in the following screenshot:

Select the desired port type as SOAOrderBookingPort.

Select the radio button for the input parameters as XML Source.

Enter the SOAP envelope, including any headers. You can copy this SOAP envelope from existing BPEL instances (from the BPEL Control). Copy and paste the SOAP payload provided in the input XML source.

Click on OK to complete the creation of the client test.

Observe the confirmation message.

Expand the availability service to view the SOAP tests.

Testing the SOAP tests

There should be a way to track the historical availability and performance of SOAP tests and alert on any deviation from normal behavior via thresholds. When an alert is fired, the on-call person must test whether the reported problem is still in effect. Instantaneous on-demand testing is a great way to achieve this goal.

Click on one of the SOAP tests that you created. The test page shows the test availability, beacons that run this test, and alerts associated with this test. The following graph shows the test response times from the beacon:

Click on the Verify Service Test button.

Click on the Perform Test to run the test instantaneously and view the results.

One or more beacons could be used to test the service, potentially from multiple geographic locations that emulate the user base. This is useful for measuring availability and response time as experienced by the end user. It can be used proactively as well as reactively to replicate problems reported by users.

This concludes the step-by-step exercises to set up and view monitoring of BPEL processes from Grid Control.

Summary

Monitoring is key to guaranteeing the health of key business processes in the enterprise. In this chapter, we looked at how to monitor partner links and BPEL processes using synthetic tests. In particular, we looked at challenges related to monitoring BPEL processes, and the solutions provided by Grid Control.

We looked at the basic BPEL process monitoring provided out of the box. Further, we were able to set up specifi c proactive checks to test the availability and performance of BPEL processes. These synthetic checks had the ability to notify the administrator based on preset thresholds. Further the administrator had the capability to run these synthetic checks on-demand and view the results.

Proactive monitoring can avoid loss of credibility with end users who interact with these business processes. Sometimes everything might be working fine within the firewall, but end users are still unable to access these processes. In this scenario, it is imperative to have an agent sitting outside the firewall to ensure that user behavior can be replicated frequently, and administrators can be notified. In most cases, these agents notify the administrators before end users.

Alerts & Offers

Series & Level

We understand your time is important. Uniquely amongst the major publishers, we seek to develop and publish the broadest range of learning and information products on each technology. Every Packt product delivers a specific learning pathway, broadly defined by the Series type. This structured approach enables you to select the pathway which best suits your knowledge level, learning style and task objectives.

Learning

As a new user, these step-by-step tutorial guides will give you all the practical skills necessary to become competent and efficient.

Beginner's Guide

Friendly, informal tutorials that provide a practical introduction using examples, activities, and challenges.

Essentials

Fast paced, concentrated introductions showing the quickest way to put the tool to work in the real world.

Cookbook

A collection of practical self-contained recipes that all users of the technology will find useful for building more powerful and reliable systems.

Blueprints

Guides you through the most common types of project you'll encounter, giving you end-to-end guidance on how to build your specific solution quickly and reliably.

Mastering

Take your skills to the next level with advanced tutorials that will give you confidence to master the tool's most powerful features.

Starting

Accessible to readers adopting the topic, these titles get you into the tool or technology so that you can become an effective user.

Progressing

Building on core skills you already have, these titles share solutions and expertise so you become a highly productive power user.