Open ESB: The Solution for the Open Minded The Crooked Stick

My Other Crooked Stick (Archery)

Bookmark and Share

Friday Nov 06, 2009

Read the original article at The Crooked Stick

Following my previous blog entries on building an Open ESB BPEL Monitor I decided to bring it all together in this blog and provide a simple User Guide that describes the current features. This page will also be available from within the downloaded war file (assuming you can connect to the internet).

Overview

The OpenESB BPEL Monitoring tool is built upon the standard OpenESB Management and Monitoring API and provides a simple interface to view the running BPEL Processes and their instances. At present only monitoring functionality is provided but the screens can be extended to implement management functions. When the page is first displayed, or refresh with the browser, the user will be presented with the Dashboard Tab and a list of currently deployed BPEL Modules and process as a List on the left of the screen. Selecting on of these processes will display the selected process with the Process Monitor tab.

Dashboard

Provides the user with a summary of all Bpel Instances that have been deployed to the application server.

Dashboard

Process Monitor

The Process Monitor is the main Tab that will be used and contains a number of sub-tabs that display process specific information. The information displayed within this tab is that associated with the select Business Process. When initially selected the Summary information will be displayed along with a representation of the business process. The summary information is that displayed for the selected process on the Dashboard tab.

Process Monitor

The user can then select the Instances tab and this will display a, Filtered, list of all instances of the process and are colour coded based on their status as follows:

  • Green : Completed.
  • Blue : Running.
  • Red : Terminated / Faulted.
  • Yellow : Selected.

Above the table of Instances are a number of Filter fields that can be used to restrict and order the displayed instances.

Instances

When the user selects and instance the displayed Business Process will be updated to indicate the status of the individual Activities within the Business Process thus highlighting where the business process is in its processes and any activities where it is either waiting or broken.

Selected Instance

In addition to this if the Business Process Invokes another, Sub-Process, within the same deployment the user will be able to click on the Invoke and drill down to the Sub-Process.

Sub Process

For any selected Instance the user can select the Activities Tab and a table of all the activities within the Process will be displayed along with their associated statistics.

Activities

The Statistics Tab will display simple processing Statistics for the Select BPEL Process Instances displayed in the Instance Table and the data is controlled by the same filter criteria.

Statistics

For large Business Processes the user can select, from the configuration tab, to Collapse the Composite Activities. This will collapse the Sequences and Scopes within the Business Process to a Single Icon, thus reducing overall screen real-estate, which will be selectable allowing the user to expand the collapsed activity.

Collapsed Activity

When the user has selected an Activity to expand the Composite Activity will be displayed with a small Icon in the to right that will allow the user to collapse the Activity again.

Expand Activity

Configuration

The Configuration Tab allows the user to specify a number of optional parameters that will affect the way that the monitor will be displayed. The configuration parameters available in the present release are as follows and have the functionality described below:

  • Refresh Period : Defines the Refresh period for the data displayed within the Monitor. If this is set to "Manual Refresh" then the monitor data will only be refreshed when the user selects the Browsers Refresh button.
  • Process Layout : Simply defines the display layout for the business process. This allows you to switch between standard OpenESB Vertical layout to a more browser friendly horizontal layout.
  • Icon Set : Defines the Icon Set to be used within the display of the Business Process. At present you can select between the standard Open ESB Icons and an alternative set.
  • Icon Size : Allow the user to select the size of the icons to be displayed. This can be useful for large business processes that do not fit easily on the page.
  • Layout : Additional BPEL Process Layout functions:
    • Show Sequence Names : Display the Sequence Name for all Sequences in the process.
    • Show Scope Names : Display the Scope Name for all scopes within the process.
    • Hide Assigns : Flag to indicate if the Assigns should be displayed within the Business Process. Useful for large business processes.
    • Collapse Composite Activities : Flag to indicate if the Composite Activities (Sequence and Scope) should be collapsed. If this flag is set the user will be able to click the collapsed Activity to expand it and see the contained Activities.

Once the properties have been chosen the "Update" button will apply the settings and redisplay the Process Monitor tab.

Configuration


Adding New Icon Sets

With the latest release of the Monitor we are able to customise the Monitor Web Application by adding additional Icon Sets. Once added these Icons can be used instead of the standard shipped Icons. The following step show you how to this can be done:

  1. Create an Icon Set of type .png and with the specific names used in the existing Icon Sets. To check you have this correct look in <glassfish domain>/applications/j2ee-modules/BPELMonitorWebApplication/resources/icons/openesb.
  2. Create a sub directory of <glassfish domain>/applications/j2ee-modules/BPELMonitorWebApplication/resources/icons to contain your icons (myicons) and copy the icons into it.
  3. Edit the <glassfish domain>/applications/j2ee-modules/BPELMonitorWebApplication/iconsets.properties file and add the following:

    myicons=My Icons Display Name (This is what will appear in the drop down)

  4. Refresh the monitor page and choose your Icon Set.

Performance Tweaks

If you are seeing some performance degradation when their is a large number of instances within the BPELSE monitoring database we can improve query performance by adding the following indexes to the database.

CREATE INDEX idx_BPELID ON MONITORBPELINSTANCE(BPELID);
CREATE INDEX idx_CRMPINVOKEID ON MONITORBPELACTIVITY(CRMPINVOKEID);
CREATE INDEX idx_CRMPRECEIVEID ON MONITORBPELACTIVITY(CRMPRECEIVEID);

This can be achieved by opening / creating a connection the the bpelseDB within NetBeans and executing the commands against the connection.

Bookmark and Share
Comments:

Excellent work !
Thanks for everyone who are using this useful tool. I have some more hint if you have some time and will to enhance it that would be great to have also some dashboard/graph with bpel instances which are having TOP numbers of iterations of some activities. Like this can be easily recognized some issue if there are some activities with too many iterations. It can also happen when process has a bad design, or when exception handling gets too recursive.

Best Regards,
Ivan

Posted by Ivan on November 06, 2009 at 05:53 PM GMT #

I can't seem to find the way to install and run the bpel monitor with OpenESB. Any help ? Thanks.

Posted by v on November 09, 2009 at 03:05 PM GMT #

If you download the war file you can install this directly into your GlassFish instance, from the Admin Console, and then in the properties for the BPELSE set the monitoring options and redeploy your Composite Application. By default the Monitor should be available on http://localhost:8080/BPELMonitorWebApplication

Posted by 82.20.139.218 on November 09, 2009 at 03:57 PM GMT #

Thank you, it runs perfectly now !

Where can I get the latest source ? Is it in the war file ? Is the version of your older post up to date ?

Thanks for your work. I'll use it as a start for a slightly different monitoring app.

Posted by v on November 12, 2009 at 08:59 AM GMT #

Correction : the url of the monitor is :
http://localhost:8080/AjaxBPELMonitorWebApplication/

Posted by v on November 12, 2009 at 10:48 AM GMT #

Strictly speaking the name after the http://localhost:8080 depends on what you specify in the "Context Root" during the deployment of the war. By default this is the war name (minus the .war) and not what I have specified during the build (BpelMonitor). Hence because I changed the name on the download site you have a different URL. If you use the Redeploy option to redeploy the same war file you will find that your url changes to http://localhost:8080/BPELMonitor ie what I specified at build time. Seems to be an interesting feature of Glassfish deployment.

Posted by 82.20.139.218 on November 12, 2009 at 11:26 AM GMT #

I will be loading the latest version of the source to the URL location on the previous blog entry. This is only the source for the actual web application because the SvgGenerator.jar is now part of the upcoming official GlassFishESB Monitor functionality. Although I will continue to develop this core code and release updates of the Monitor that use it the proprietary source will not be made available.

The key difference between what is in the project zip at the moment and the new release is a few additional Ajax Servlets for displaying summary graphs and the Getting Started page.

Posted by Andrew on November 12, 2009 at 11:49 AM GMT #

Thanks for your sources update.

Posted by v on November 16, 2009 at 12:06 PM GMT #

I downloaded and installed the WAR. It is showing the process information and stats etc. but it is not generating the SVG with the BPEL layout. All I get is a message "BPEL Process Id Must Be Provided", what's wrong?

THX!

Posted by lukener on November 24, 2009 at 01:38 PM GMT #

This is an indication that a BPEL Process must be selected from the list on the left of the screen.

If you do not see this list or are still having problems it could be due to turning monitoring on whilst the BPEL process are already deployed.

Posted by Andrew on November 24, 2009 at 05:18 PM GMT #

Post a Comment:
  • HTML Syntax: NOT allowed