Open ESB Tip : Getting Started With The Back In Black Monitor
By The Old Toxophilist on Dec 18, 2009
Read the original article at The Crooked Stick
Now that I have complete switched over to the "Back In Black" format
of the monitor I thought it was about time I put together a new
"Getting Started" blog entry to match the new screens and explain the
exteneded functionality. The previous entry still exist for those using
the older style Monitoring application but as mentioned I will not be
updating the old style because the main driver, so far, for the
development of the Monitoring UI have been the UK Pre-Sales
The Open ESB BPEL Monitoring tool is built upon the standard Open
Management and Monitoring API and provides a simple interface to view
the running BPEL Processes and their instances. When the Monitor is
first displayed, or
refresh with the browser, the user will be presented with the Dashboard
Tab displaying a summary of the currently deployed / monitored BPEL
Processes. Selecting on of these processes will display
the selected process with the Process Monitor tab.
Provides the user with a summary of all BPEL Processes that have
been deployed and have run to the application server. You may not see
all your BPEL processes because the Dashboard only shows processes that
have been executed at least once and the monitoring data exists in the
database (see Archive and Purge). The Business processes are displayed
in Alphabetical order and as can be seen show the following summary
- Running : Count of the currently running processes.
- Complete : Count of the completed processes.
- Suspended : Number of currently suspended processes.
- Faulted : Number of Faulted processes.
- Terminated : Number of Terminated processes.
- Last Updated : Last time anything happened to any instance of this processes.
The Process Monitor is the main Tab that will be used and contains a
number of accordion-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 this repeats the information displayed
within the dashboard row for the selected Business Process. Again the
Process Monitor Tab contains a small refresh icon that can be used to
manually refresh the displayed data.
The summary tab displays the overall aggregated information for all
instances of this process that exist in the database since the last
Archived / Purged date. In addition if the Show Management Buttons
configuration option is selected then the user will also see the
following buttons :
- Suspend All
- Resume All
- Terminate All
The affect all instances of the selected process that are currently Running or Suspended.
The Instances tab displays a
Filtered list of all instances for the process and are colour coded,
based on their status, as follows:
- Green : Completed.
- Blue : Running.
- Red : Terminated / Faulted.
- Yellow : Selected.
The Filter fields that can
be used to restrict and order the displayed instances based on :
- Max Number Records
- Sort Column / Order
Once the Refresh button has been pressed the data will be
redisplayed appropriately. These settings will be saved as cookies on
the users browser and used as the default next time.
In addition if the "Show Management Buttons" has been selected the
user will see the Suspend All / Resume All / Terminated All
buttons under the filter fields and for any processes currently Running
/ Suspended the appropriate Suspend / Resume / Terminate buttons next
to the process in the table.
Displays the business process in a graphical format that is defined
by the configuration properties. If the user would link to see the
process as the developer did then selecting a Vertical Orientation and
the Open ESB icon will do so. Personally I like the horizontal layout
because it uses less screen real-estate. The exact representation
displayed depends on what options the user selects in the Configuration
tab (see below). In addition to the SVG representation of the Business
Process the use has a slider that provides zoom functionality thus
allowing the user to fit even large Processes onto the screen.
The image below is displayed with Collapse Composites and User
Business Icons set. When Composites are collapsed the user has the
ability to click and expand or for those already expanded to collapse
using the small blue collapse icon. Thus the user can be very specific
about what the view.
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.
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. Once you have drilled
down you will notice that the Breadcrumb above the scroll bar will be
updated to indicate the current drill-down level.
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. If a specific instance
is selected in the instance table the Statistics Accordion will display
the processing information for each activity within the selected
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.
This Accordion allows the user to view and edit, if the instance is
suspended, the variables associated with a selected BPEL Instance. Both
the Simple and Process Variables are displayed within a simple table.
All fields are created as simple text input with no specific
validation (because I am working from an XML with no additional
information) and hence the user is responsible for adding the correctly
formatted information. When the user has completed the changed
selecting Update will write these to the process and this can take a
long time for large process variables. Whilst the variable is being
updated an indeterminate progress bar will be displayed. On completion
the screen will be refreshed and the status displayed.
BPEL Source Accordion
The Accordion simply displays the Source BPEL Directly to the user.
The exact functionality available within the Source Accordion will
depend on your browser.
The search tab provides the user with the ability to search either
simple BPEL variables or the complex (XML) variables and is only
available when the user has selected a BPEL Process. This allows the
Monitor to restrict the amount of work done by the search when the user
selects the Full search option. At present the user is able to enter a
simple search string that will be used as an exact match on the simple
search or an contains type match on the full search.
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.
- Show Management Button : Displays the Suspend / Resume / Terminate buttons on the Instances / Summary screens
- Show Business Icons : Replaces the standard collapsed Icons with user defined business specific Icons.
- Bright Activity Colours : Switches to brighter colours for identifying the activity status (useful for projecting the monitor).
- Theme Switcher : Switches
the UI Theme to one of a number of pre-defined colour schemes.
Once the properties have been chosen the "Update" button will apply
the settings and redisplay the Process Monitor tab.
Archive & Purge
The Archive & Purge Tab allows the user to maintain the data
within the BPEL Monitor database. The user has the option of selecting
a date before which the records in the Database will be either Archived
and Purged or Purged. If the user selects Archive then the record
within the Database tables will first be written to archive table:
Once the Archive & Purge / Purge has completed the Monitor will display the results of the process indicating how many records were Archived and how many Purged.
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:
- 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/BpelMonitor/resources/icons/openesb.
- Create a sub directory of <glassfish domain>/applications/j2ee-modules/BpelMonitor/resources/icons to contain your icons (myicons) and copy the icons into it.
- Edit the <glassfish
file and add the following:
myicons=My Icons Display Name (This is what will appear in the drop down)
- Refresh the monitor page and choose your Icon Set.
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
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.