Level: Intermediate Curtis Miles (crmiles@ca.ibm.com), WebSphere Business Monitor Tools Lead Developer, IBM Ann Ewan (ewan@ca.ibm.com), WebSphere Business Modeler Information Developer, IBM
06 May 2008 In this
series,
learn about the dramatic changes in IBM® WebSphere® Business Monitor V6.1—a major
release that extends capability and simplifies how you monitor and manage the
performance of your business. This article describes the many new functions for
creating and editing monitor models in the WebSphere Business Monitor V6.1
development toolkit. Learn about the major enhancements, including integration with
IBM WebSphere Integration Developer, XSD event definitions, visual model updates,
and editing changes for KPIs and dimensional models.
Introduction
IBM WebSphere Business Monitor V6.1 introduces many significant changes,
especially in monitor model generation and iterative development. In this article,
learn how the variety of enhancements in this release can benefit your development
of monitor models. Topics include:
This article does not use a scenario, though some graphics are from the mortgage
lending business scenario used previously in this series. The sections about
generating monitor models use the loan application sample that's included with
WebSphere Integration Developer.
Choice of development platforms
You can now install the IBM WebSphere Business Monitor development toolkit into
either IBM Rational® Application Developer or WebSphere Integration Developer. This
is a benefit if you are using monitoring applications that were not developed with
WebSphere Integration Developer. WebSphere Integration Developer does not have to
be installed.
Monitor model generation and common monitoring templates
When integrated with WebSphere Integration Developer and IBM WebSphere Process
Server, WebSphere Business Monitor can track the full range of activity of
components running in IBM WebSphere Enterprise Service Bus (ESB) and WebSphere
Process Server.
Previously, monitor model generation was supported for Business Process Execution
Language (BPEL) processes and partially supported (with no customization) for
human tasks. You could monitor Service Component Architecture (SCA) and ESB
applications, but there was no support beyond the creation of event definitions
with specific event types.
WebSphere Business Monitor 6.1 supports monitoring all WebSphere Process Server
component types, including state machines, rule groups, selectors, maps, and so
on. Monitoring can also be done at the module (SCA) level, the individual
component level, or at a level that is even more fine-grained, depending on what
you select when generating the monitor model. After you generate the monitor
model, it stays connected to the application to help you keep it synchronized as
the application evolves.
To generate a monitor model in the toolkit:
- Right-click a module project and select Monitor Tools -> Generate Monitor
Model.
- After you specify the target project and a name for the monitor model, you
see a tree-based visualization of the application to be monitored. Click an
application element to see the template and the event information you can choose
for that element.
Figure 1 shows an example of the Generate Monitor Model wizard.
Figure 1. Generate Monitor Model
wizard
You can choose from the predefined set of common monitoring templates to speed up
your development of common business monitoring requirements. When you select a
template, the required implementation metrics are automatically added to the
monitor model. For example, you can select a template to capture the elapsed
duration of a BPEL process.
Alternatively, choose the Emitted Events tab to select individual events
to monitor for the selected element.
Based on the events and templates you select, the wizard shows the elements you
have chosen to monitor. The final page of the wizard shows a preview tree of the
generated monitor model. You can either accept the tree as is, or go back to
earlier wizard pages and make alternate choices in light of the final result.
Unlike in previous releases, you can still make additional changes later to both
the underlying application and the monitor model without losing the linkage
between the two.
The newly created monitor model contains automatically generated elements that
correspond to the common monitoring templates and inbound events you selected. See
Figure 2 for an example.
Figure 2. Application element section
You can also add elements related to an application to an existing monitor model,
which provides flexibility to add monitoring support for additional parts of an
application after the initial monitor model generation.
- Right-click the model tree and select New -> Create from Application
to launch a wizard similar to the Generate Monitor Model wizard.
- Select the application elements to monitor.
You can also select templates or individual events the same way.
Iterative development and synchronization with WebSphere Integration Developer
When you use WebSphere Business Monitor with WebSphere Integration Developer, the
changes made to an application in WebSphere Integration Developer can affect how
the application is monitored. New refactoring and synchronization features in the
WebSphere Business Monitor development toolkit 6.1 help keep the application and
the corresponding monitor models consistent.
Support for iterative development takes two forms:
- When you make a change to an application in WebSphere Integration Developer
using the refactor operation (such as changes to a module name, component
name, interface name, operation name, business object namespace, or business
object name), you can choose to automatically update any monitor models that
are associated with the application.
- When you open a monitor model that you generated from WebSphere Integration
Developer and the corresponding application in WebSphere Integration Developer
has changed, you will see warnings in the Problems view. You can synchronize
the models to remove the warnings.
To synchronize the monitor model with the application, right-click the monitor
model in the Project Explorer view and select Synchronize with Application.
The synchronization window groups the application changes into three categories:
added elements, removed elements, and changed elements. For each change, it
displays the action that will be taken to update the monitor model. In some cases,
you can choose the action to take. For example, when a monitored component or
operation is deleted, you can choose either to delete the monitoring elements or
to disconnect the monitoring elements from the application.
Visual model authoring and testing
You can now add actions to Scalable Vector Graphics (SVG) diagrams using a pop-up
menu. You can also add sample data to test the diagrams in the WebSphere Business
Monitor development toolkit to make sure they are working as you intended.
Previously, visual model support was limited to assigning and displaying SVG
files associated with each context. All other aspects of the visual model required
manual authoring in the XML page of the editor, with no way to test the authored
visual model actions using sample data before getting all the way to the
dashboards.
The visual model page of the editor has been updated significantly, as shown in Figure 3.
- When you open an SVG file, it is parsed to extract the "shape
sets." Shape sets are created automatically if the SVG file comes
from WebSphere Business Modeler, or you can create a file in an SVG editor and
associate mm:id values with the SVG elements.
- You can use pop-up menus and widgets to add actions to shape sets.
- You can use sample data for the metrics and key performance indicators
(KPIs) to test the actions in the editor. The Runtime Diagram Preview window
displays the diagram as it will look in the dashboards. The return values of
visual model expressions are also shown.
Figure 3. Enhancements to visual model
Figure 4 shows the Runtime Diagram Preview, which comes up when you click the
Test button on the visual model page.
Figure 4. Runtime Diagram Preview
Event definitions with event parts based on XML schemas
You can now use XML schema definition (XSD) elements and types as the basis for
event definitions, instead of using CBEs in proprietary format. This accommodates
the XSD-based event definitions in WebSphere Integration Developer and WebSphere
Process Server 6.1.
XSD event definitions are shown alongside CBE definitions in the Event
Definitions group in the Project Explorer. Double-click a file to open an XSD
editor. The structure of a single inbound or outbound event can be defined by a
collection of XSD types or elements, which are called event parts. Event
parts are shown under inbound and outbound events in the model tree on the Model
Details page.
To define the structure of your inbound and outbound events, specify only event
parts, only a CBE, or a CBE in combination with one or more event parts.
Content assist shows the structure of the XML event, pieced together from the
event parts defined on the inbound event to form a single logical structure, as
shown in Figure 5.
Figure 5. Inbound event in content assist window
KPI
enhancements
With WebSphere Business Monitor development toolkit 6.1, the types of possible
KPI calculations are expanded to include calculations based on the relationship
with other KPIs. There are now two types of KPIs, as shown in Figure 6, and you
select which you want to create.
Figure 6. Options for setting the KPI value
- KPIs based on metrics and an aggregation function
- These KPIs are no longer based on measures, but refer to the source metric
directly.
KPIs of this type can have time and data filters defined to
restrict the instance values that are used in their calculation.
- KPIs defined by an expression
- For KPIs defined by an expression that references other KPI values, you have
support for building up higher-level KPIs using other KPIs as building blocks.
For example, you can define a
Total Profit KPI
using an expression of
Total Revenue — Total Cost. Full
content assist is available to help with the creation of the expression. You
can also use user-defined XPath functions in KPI expressions.
For a metric-based KPI, you can specify a data filter to further limit the metric
instance values that are used in the KPI calculation. Figure 7 shows how to enter
values for list operators (such as in and
notIn) using a separate window launched from the Values
cell.
Figure 7. Adding values to a data filter
Dimensional model redesign
The Data Mart Model has been renamed the Dimensional Model. This page has been
significantly redesigned to improve usability and to make it more consistent with
the rest of the monitor model editor. Figure 8 shows the updated
dimensional model and describes the changes.
Figure 8. Enhancements to the Dimensional Model
Editor support for user-defined XPath functions
In addition to processing events received from event sources, you can pull
additional business reference information into the WebSphere Business Monitor
server using custom functions. You can use the XPath functions, implemented as
specially annotated Java™ methods, to define maps and to trigger conditions,
filters, correlation expressions, and default values in the monitor model editor.
You can develop user-defined XPath functions through a Java project in
Rational Application Developer or WebSphere Integration Developer.
Usability enhancements in the monitor model editor
To improve the speed with which you can create monitor models, the monitor model
editor has several enhancements. Now you can:
- Add or edit expressions directly in the table cells. You no longer have to
pop up a separate window to write a simple expression for a key, metric, or
outbound event.
Content assist (Ctrl+Space) is available directly within
the cell. For large expressions, you can still launch the resizable
window.
- Double-click a row in a table to create a new row.
- Create a new element by right-clicking at any level in the model tree. Newly
created elements are placed in the closest parent container of the selected
element.
- Drag and drop files from the file system onto the Project Explorer to bring
models or event definitions into your project from WebSphere Business Modeler
or other sources.
You can also drag and drop files between projects in the
Project Explorer to move models around.
- Right-click an element in the model tree on the Model Details page, select
Copy from the pop-up menu, and paste the element under another parent
node in the tree.
To improve validation:
- Monitor models are validated each time you modify the model.
You do not need to save the model to see the validation errors displayed in
the Problems view. The validation error indicators are shown directly on the
widget where the error occurred.
- Fields that are required are marked visually.
- SVG files are shown on the Project Explorer in an SVG Files group.
The content assist window now displays all signatures for each function, though
you can still simply select the parent element to insert the function text in the
expression. Selecting an individual function signature pops up tooltip text to
describe the arguments, as shown in Figure 9.
Figure 9. Tooltip in the content
assist window
Merging and
combining monitor models
For iterative development, you can compare and merge two models. For example, if
you export a monitor model from WebSphere Business Modeler, make changes to the
model in the monitor model editor, update the process in WebSphere Business
Modeler, and export again, you can merge the two models so your previous updates
are not lost.
When you compare models, the two monitor model files open in a monitor model
comparison editor with the changes highlighted. You can choose to accept or reject
each change. Then merge the results into one of the two original monitor models
or into a separate, third monitor model.
You can also build a monitor model that monitors more than one application at a
time by combining two monitor models generated from different applications. When
you combine models, you can replace one of the two original monitor models or
create a separate, third monitor model. The result is a single monitor model that
contains top-level monitoring contexts from each of the source models, as well as
correctly combined KPI models, dimensional models, visual models, and event
models.
Monitoring
WebSphere MQ Workflow processes
WebSphere Business Monitor provides first-class support for monitoring WebSphere
MQ Workflow processes. The "FDL to monitor model" utility can be installed as a
plug-in in Rational Application Developer or WebSphere Integration Developer using
the Eclipse updater. The plug-in is packaged as a ZIP file, and is shipped on the
WebSphere Business Monitor development toolkit installation CD.
To monitor WebSphere MQ Workflow processes, you need the following components:
- FDL to monitor model utility for WebSphere MQ Workflow
- WebSphere MQ Workflow 3.6 service pack
- WebSphere MQ Workflow SupportPac™ for WebSphere MQ Workflow event
converter
After setting up the utility, you can import a FlowMark Definition Language (FDL)
file to create a new FDL-related project in the Package Explorer view.
Right-click the project and select Monitor Tools -> Generate Monitor Model
to generate a monitor model from the project, just as you can with a WebSphere
Integration Developer module. The same common monitoring templates and generation
support are available.
Integrated test
server and dashboards
To reduce the time involved in developing, testing, and changing a monitor model,
the manual deployment steps have been removed. You can simply add the monitor
model application to an integrated test server using the WebSphere Business
Monitor development toolkit menu. The steps to reflect a change to a monitor model
have also been automated.
The Integrated Test Client (ITC) is integrated with Rational Application
Developer or WebSphere Integration Developer and is installed with the
development toolkit. You can use it to quickly and conveniently test a monitor
model that was published in the WebSphere Business Monitor test server. The ITC automatically detects
all of the inbound events that were defined in this monitor model and lists them
for you. You can add values to create sample events, emit events one at a time, or
create a script to emit a batch of sample events.
The WebSphere Business Monitor test environment includes Web-based dashboards. After you deploy the
monitor model to the integrated test environment (ITE), you can examine the resulting dashboards to verify
whether your monitor model logic is correct, and verify that you are capturing the
information that you want in the best format.
Monitor model
migration from 6.0.2
When you open a well-formed V6.0.2 monitor model in the monitor model editor, it
is automatically converted to V6.1.0. You can also convert a group of monitor
model files without opening them.
Alternatively, you can migrate one or a group (in the same directory) of 6.0.2
monitor models to version 6.1.0 format using a batch file at the command line.
Summary
In this article, you learned the highlights of several significant changes in
WebSphere Business Monitor development toolkit V6.1. The new features provide
empowerment when authoring monitor models and in iterative development.
Resources Learn
- Check out the other parts of this series:
- Part 1,
"What's new in WebSphere Business Monitor 6.1"
(developerWorks, Dec 2007)
- Part 2,
"WebSphere Business Monitor 6.1 installation improvements"
(developerWorks, Jan 2008)
- Part 3,
"Improved Unit
Test Environment in IBM WebSphere Business Monitor development toolkit V6.1"
(developerWorks, Feb 2008)
- Part 4,
"Use the Integrated Test Client to
improve iterative development with WebSphere Business Monitor V6.1"
(developerWorks, Mar 2008)
- Part 5,
"Managing failed and unrecoverable events In IBM WebSphere Business Monitor V6.1"
(developerWorks, Apr 2008)
- Part 6,
"Combine high-level monitor models from IBM WebSphere Business Modeler with
low-level monitor models from IBM WebSphere Integration Developer"
(developerWorks, Apr 2008)
- Part 7,
"Creating user-defined XPath functions for IBM WebSphere Business Monitor V6.1"
(developerWorks, Apr 08)
- Part 8,
"Enabling IBM WebSphere Business Monitor V6.1 to receive events from WebSphere MQ"
developerWorks, Apr 08)
- Learn about
WebSphere Business Monitor
features and benefits, system requirements, library, services, news items, and
more.
-
"Enable C++ applications for Web services using XML-RPC"
(developerWorks, Jun 2006) is a step-by-step guide to exposing C++ methods as
services.
- Browse the WebSphere
Business Process Management information center.
- Learn more about WebSphere Application Server V6.1.
- Visit the WebSphere zone on
developerWorks for more information about business process management.
- In the
Architecture area on developerWorks,
get the resources you need to advance your skills in the architecture arena.
- Browse the
technology bookstore
for books on these and other technical topics.
- Get an
RSS
feed
for the series Put new capabilities of business activity monitoring (BAM) to
work.
Get products and technologies
- Download
IBM product evaluation versions
and get your hands on application development tools and middleware products from
DB2®, Lotus®, Rational®, Tivoli®, and
WebSphere®.
Discuss
About the authors  | 
|  | Curtis Miles currently leads the development effort for the business measures capabilities within IBM WebSphere Business Modeler as well as the Monitor model editor in the WebSphere Business Monitor Development Toolkit. He previously worked on many other aspects of WebSphere Business Modeler, including process simulation and transformation of Modeler processes to BPEL. |
 | 
|  | Ann Ewan is a senior information developer who works on both the WebSphere
Business Modeler and WebSphere Business Monitor teams. Ann has 17 years of
technical writing experience and is also a published author of fantasy novels. |
Rate this page
|