Enabling event flow in BPM solutions and best practices for monitor model deployment, Part 1: Configuring and verifying event flow between a clustered Process Server and IBM Business Monitor server

When things don't work in the implementation of Monitoring solutions for business processes, it's usually not an issue with the monitor model, but with the underlying infrastructure and its configuration. Therefore, enabling a robust communication of events between your Process Server and the IBM® Business Monitor server is critical. This series describes the techniques to configure a smooth event flow between a standalone Monitor server and a clustered Process Server and some best practices for monitor model deployment.

Share:

Manisha Sharma Kohli (shmanisha@in.ibm.com), Consulting IT Specialist (BPM), IBM

Manisha Kohli photoManisha Sharma Kohli works at the IBM India Software Lab as a Certified IT specialist in the Business Process Management domain. She is a part of World Wide WebSphere Business Partner Organization in IBM Software Group. She has over 9 years of experience, and is skilled in IBM BPM products IBM Business Process Manager, IBM Business Monitor, WebSphere Business Modeler, WebSphere Process Server, and Business Space powered by WebSphere. She provides consultancy on these tools to IBM partners and customers.



Jing Jing Wei (weijingj@cn.ibm.com), Staff Software Engineer, IBM  

Jing Jing's photoJing Jing Wei works on the IBM BPM SVT team at the IBM China Development Lab, where she focuses on BPM integration testing. She had 4 years of BPM SWAT support experience with customers and business partners all over the world before she joined the SVT team. Her area of experience includes SOA architecture design, BPM application design and development, and problem determination for WebSphere products. She has deep skills on BPM products, including IBM Business Process Manager, IBM Business Monitor, WebSphere Business Modeler, WebSphere Process Server, and WebSphere Lombardi Edition.



16 November 2011

Overview

The scenario in this series uses a simple monitoring application for a BPEL process as an example and covers the following:

Part 1 describes the steps to verify the cross-cell configuration between a clustered IBM Business Process Manager V7.5 Process Server (hereafter called Process Server) and a standalone IBM Business Monitor V7.5 server (hereafter called Monitor). For simplicity, the Process Server here is in a silver topology with two clusters: Application Target (AppTarget) and Messaging (ME) cluster. Each cluster contains one server member.

Part 2 focuses on installing monitor models and best practices for their deployment, including:

  • Manually installing and uninstalling monitor models, and verifying their installation and uninstallation.
  • Using Jython scripts to install and uninstall monitor models in a remote Common Event Infrastructure (CEI) configuration
  • Performance tuning tips and deployment best practices for a cross-cell configuration

A single Process Server node, with two server profiles, is clustered in a silver topology, with the BPEL application deployed on the AppTarget cluster and the other supporting infrastructure, such as the CEI server, SI buses and messaging engines on the messaging cluster.

The BPEL application is deployed on the AppTarget cluster, which emits events to the CEI server using the CEI bus or a CEI event service, depending on whether the mode of communication between the Process Server and CEI is asynchronous or synchronous.

The Monitor server is a standalone server profile in a separate node that listens to the events coming from the Process Server node.

Enabling event flow between the clustered Process Server and the Monitor server

As discussed in the previous section, the Process Server and the Monitor server are in different cells; therefore, a cross-cell configuration needs to be established between the Process Server and Monitor Server to enable the flow of events from the Process Server side to the Monitor server.

The CEI server resides on the Process Server. BPEL process components send the Common Base Events to the CEI server, which then delivers them to the appropriate monitor models deployed on the Monitor server.

For cross-cell configuration of Process Server and Monitor server, please refer to Configuring queue-based event delivery in a multiple-cell environment in the

Once you have performed the cross-cell configuration, you need to make sure the communication channel for the events is configured properly between the two Process Server clusters, as well as between Process Server and the Monitor server. The following sections describe the various configurations you need to verify before deploying the monitor models.

Verifying cross-cell JARs on each Process Server profile

One of the issues faced during the cross-cell configuration is that the JARs for cross-cell configuration are not activated on all profiles of Process Server. This often results in a "JARs not resolved" error, which can be resolved using the steps described in the technote: Monitor model is not receiving events and instances are not viewable on the dashboard.

You need to make sure to run osgiCfgInit.sh from the wps_root/Profiles/was_profile/bin directory of each cluster member or server when the Process Server environment is shutdown. You need to make sure to run osgiCfgInit.sh from the wps_root/Profiles/was_profile/bin directory of each cluster member or server when the Process Server environment is shutdown. Please refer to steps 1-3 in the "Resolving the problem" section of the technote Monitor model is not receiving events and instances are not viewable on the dashboard.


Enabling event generation by the BPEL and human task components of the Process Server AppTarget cluster

Using the deployment manager administration console, enable CEI logging for both the Business Flow Manager, and the Human Task Manager on the AppTarget cluster, as shown Figures 1 and 2.

Figure 1. Enable CEI logging for the Business Flow Manager
Enable CEI logging for the Business Flow Manager
Figure 2. Enable CEI logging for the Human Task Manager
Enable CEI logging for the Human Task Manager

You can verify these two settings from the deployment manager administration console by clicking Business Process Choreographer Containers => State Observers, as shown in Figures 3 and 4.

Figure 3. Business Process Choreographer containers
Business Process Choreographer Containers
Figure 4. Enabling CEI logging through state observers
Enabling CEI logging through state observers

Verifying messaging engines and service integration bus (SIBus) links

Verify that five messaging engines are configured on the Process Server side and are up and running on the messaging cluster. Verify that there is a messaging engine for the CEI bus and one for the Monitor bus on the Process Server side. You can verify this by selecting your server cluster and then clicking the Messaging Engines option in the administrative console, as shown in Figure 5.

Figure 5. Verifying the messaging engines
Verifying the messaging engines

The messaging engine is the runtime for a SIBus. For each messaging engine shown in Figure 5, you must be able to view five SIBuses on the administration console, as shown in Figure 6. You can optionally enable security on these SIBuses.

Figure 6. Verifying the SIBuses
Verifying the SI buses

Since the Monitor server is in a different cell, a SIBus link must be configured between Monitor bus on the Process Server side and the Monitor bus on the Monitor server side. Verify that this link exists and is in a running condition, as shown in Figure7.

Figure 7. Verifying the SIBus links
Verifying the SIBus links

Note: If you can't find the SIBus link or if it's not running, it may mean that your cross-cell configuration was not done successfully.


Verifying CEI server and event service configuration

Now you need to verify whether the CEI server and the event service are properly configured on the Process Server side. The configuration shown in Figure 8 indicates that CEI server is enabled on the messaging cluster of the Process Server, which is in a silver topology in this example.

Figure 8. Verifying CEI server configuration
Verifying CEI server configuration

Figure 9 shows how to verify that the CEI event service is configured in the Process Server environment.

Note: The CEI service is the main component of any CEI server. Only after you've enabled the CEI server, will you see a CEI service here. Figure 8 where to enable the CEI server. Figures 9 and 10 show how you can modify the CEI server configuration setting after the CEI server is deployed.

Figure 9. Configuring the event service
Configuring the event service
Figure 10. Enabling the event service
Enabling the event service

If you want to view your events through the Common Base EventsBrowser, the events need to be persisted in a data store, as shown in Figure 11. Verify that Enable event data store is checked in your configuration. It's recommended that you uncheck this option in production scenarios where CEI is being used only to route events between Process Server and the Monitor Server.

Figure 11. Enabling event persistence
Enabling event persistence

Also verify that an event emitter factory is configured, as shown in Figure 12. This will be used by the AppTarget cluster to push the events to the event service or the CEI bus depending upon the mode of communication (synchronous or asynchronous).

Figure 12. Configuring the event emitter factory
Configuring the event emitter factory

If Support event service transmission is checked, as shown in Figure 13, the mode of communication between the Process Server and CEI is synchronous, otherwise it is asynchronous.

Figure 13. Event emitter factory JNDI configuration
Event Emitter Factory JNDI configuration

Verify that the AppTarget cluster is configured to use this event emitter factory to emit events. To do that, click the Clusters link in the left navigation pane in the administration console, then click AppTarget => Common Event Infrastructure => Common Event Infrastructure Destination to display the AppTarget properties, as shown in Figure 13.

Figure 14. AppTarget cluster properties
AppTarget cluster properties

The emitter factory JNDI name must be prefixed with the cell/clusters/cluster_name, which indicates that the AppTarget will use this event emitter factory during runtime to push the events to the CEI event service on the messaging cluster.

Finally, verify that the CEI service is enabled to start when the server is started at the container level for all cluster members, as shown in Figures 15 through 17.

Figure 15. Process Server cluster members
Application Target Cluster Member
Figure 16. Enabling the CEI service on an AppTarget cluster member
Enabling the CEI service on an AppTarget cluster member
Figure 17. Enabling the CEI service on a messaging cluster member
Enabling the CEI service on a messaging cluster member

If all these settings are correct, events should flow smoothly between Process Server and the Business Monitor server in a cross-cell topology.

Part 2 of this series will walk through the process of installing monitor models and best practices for deploying the models.

Resources

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Business process management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Business process management, WebSphere
ArticleID=774853
ArticleTitle=Enabling event flow in BPM solutions and best practices for monitor model deployment, Part 1: Configuring and verifying event flow between a clustered Process Server and IBM Business Monitor server
publish-date=11162011