Monitoring business processes: How your topology influences your monitoring approach

IBM® Business Process Manager and IBM Business Monitor can work in concert to provide superior visibility and process performance insight. Choosing the appropriate deployment topology is an important step in any project that involves combining these products. Different topological choices may influence the development and deployment process of the application artifacts created for IBM BPM and IBM Business Monitor. This article describes the topological options that are available, their trade-offs, and how you need to plan for development and deployment depending on the topology you adopt.

Share:

Arancha Ocana (arancha_ocana@es.ibm.com), Senior IT Consultant, IBM

Arancha Ocana photoArancha Ocaña is a Senior Consultant with the IBM Software Services organization. She has over 10 years of experience working with WebSphere and BPM products of the IBM software portfolio. Currently, she helps IBM customers in the areas of business process implementation, deployment and monitoring.



Michele Chilanti (chilanti@us.ibm.com), Senior Managing Consultant, IBM

Author photoMichele Chilanti is an Executive IT Specialist with the World Wide Smarter Process Technical Sales organization at IBM. He has over 20 years of experience working with a variety of products and software technologies, especially in the areas of business process modeling, implementation, and deployment of business process management and services-oriented solutions. Michele presents regularly at technical conferences worldwide, and has authored or co-authored a number of technical publications.



07 August 2013

Introduction

Business Process Management (BPM) provides a well-defined approach that enables business process evolution within and across organizations, with special focus on process improvement. The goal of BPM is to make business processes more effective, more efficient, and more capable of adapting to a rapidly changing environment.

To achieve those objectives, Business Activity Monitoring (BAM) is a key ingredient. BAM enables the aggregation, analysis, and presentation of real-time metrics related to the activities that are performed by the participants of business processes.

IBM Business Process Manager provides some basic built-in BAM capabilities. However, as organizations look at expanding the scope of their BAM beyond business processes, and want to take advantage of superior analytics, very often IBM Business Process Manager is used in conjunction with IBM Business Monitor.

IBM Business Monitor enables you to monitor and correlate activities that occur in a variety of different environments, including IBM Business Process Manager. It provides exceptional presentation capabilities, notifications, and alerts, and it ships with the Cognos Business Intelligence Server for superior reporting.

When business processes are designed and implemented in IBM Business Process Manager V7.5 or V8.0.x and are monitored using IBM Business Monitor V7.5 or V8.0.x, you have a choice of different topologies: you can configure both products to share the same runtime application servers, or place them in separate servers. It is important that you understand how the runtime topology influences the development and deployment procedures. It is also worth noting that IBM Business Process Manager V8.5 cannot coexist with IBM Business Monitor V8.0 or V7.5 on the same runtime server; in fact, the two products must be configured in separate cells. Therefore, the considerations related to the topology where IBM Business Monitor and IBM Business Process Manager are in separate cells also apply to BPM V8.5.

This article focuses on this particular aspect of combining IBM Business Process Manager and IBM Business Monitor. Our objective is to make you aware of the various topological options, and to help you appreciate how the choice of topology affects the way you need to develop, package, and deploy your BPM and BAM solution.


Topological options

Before you start the development phase of your BAM project, it is important that you take into account how the various runtime environments are set up. These runtime environments not only include the development environment, but also other installations such as the pre-production and production environments.

IBM Business Process Manager requires, at the very minimum, two separate environments:

  • The Process Center environment, which provides the central repository where development teams share assets and manage multiple versions of them. The Process Center can also be used for "playback," or immediate unit test, of business processes.
  • The Process Server runtime environment, where you can deploy "snapshots," or versions, of your business process applications.

Normally, you will need a single Process Center environment and one or more Process Server environments for different purposes, such as integration testing, quality assurance, production, and so on. The Process Center keeps record of these Process Server environments in a server registry. From the Process Center, an administrator can deploy and maintain deployed versions of the process applications to the various Process Server environments.

When you deploy a BPM solution from Process Center to Process Server, each process application is deployed as a single unit. Process applications may contain a variety of different components, such as business processes, integration services, and monitoring assets (monitor models), but at the time of deployment all the components belonging to the same process application are deployed together, on the same Process Server instance.

Because of this, you need to make the right implementation and topological decisions regarding how to monitor business processes.

Following are the topological options available for setting up IBM Business Monitor and Process Center or Process Server environments:

  1. Process Center/Process Server and Business Monitor engines are installed in the same runtime server or cluster, as shown in Figure 1. This can be a standalone server, or a clustered environment, where both components live in the same AppTarget cluster.
    Figure 1. Process Center/Process Server and Business Monitor in the same server or cluster
    Process Center/Process Server and Business Monitor in the same server or cluster
  2. Process Center/Process Server server and Business Monitor are installed in different runtime servers or clusters. In this case, Business Monitor runs in a separate JVM, or cluster of JVMs. This topology allows for greater isolation, and it comes in two variations:
    1. Both components run in the same cell, although they are configured to run in separate clusters, as shown in Figure 2. This topology is also called the "five-cluster topology."
      Figure 2. Process Center/Process Server and Business Monitor in the different clusters, but within the same cell
      Process Center/Process Server and Business Monitor in the different clusters, but within the same cell
    2. Each component is installed in a completely separate cell, which creates a cross-cells topology, as shown in Figure 3.
    Figure 3. Process Center/Process Server and Business Monitor in a cross-cells topology
    Process Center/Process Server and Business Monitor in a cross-cells topology

In the rest of this article, we'll discuss how each topological choice influences the way you should be implementing business monitoring.


Monitoring processes when Business Monitor and Process Center are collocated

Let's take a look at the steps that you need to perform to monitor a process when both Business Monitor and Process Center (or Process Server) are collocated on the same cluster or server. We'll use the Hiring Sample application that is provided with Process Center to show how you can monitor a business process with Business Monitor using out-of-the-box development functionality.

In the case of collocation, it's very simple to enable monitoring with Business Monitor. By default, when both Business Monitor and Process Center or Process Server are collocated, the CEI events that Business Monitor needs are automatically produced by the process engine, and sent to the generated monitor model, which is deployed on the Business Monitor engine. Business Monitor dashboards in Business Space are automatically generated as well.

Here are the key steps you need to perform to enable monitoring:

  1. Enable tracking for the data items you want to monitor:
    1. Open the Hiring Sample process application in Process Designer.
    2. In the Business Process Diagram, switch to the Variables tab.
    3. Expand the requisition private variable.
    4. Select the department field, and then make sure that Track this Field is selected.
    5. Select the location field, then make sure that Track this Field is selected.
    6. Select the gmApproval field, and then make sure that Track this Field is selected.
  2. Enable Business Monitor monitoring for the Hiring Sample process:
    1. Switch to the Overview tab.
    2. In Monitor Settings, check the Enable process monitoring through IBM Business Monitor, as shown in Figure 4, and save the changes.
      Figure 4. Enabling Process Monitoring
      Enabling Process Monitoring

      (See a larger version of Figure 4.)

  3. Click File => Update Tracking Definitions.
    Figure 5. Update tracking definitions
    Update tracking definitions

    (See a larger version of Figure 5.)

    This step may take a minute or so to complete. When it is done, you'll see a dialog box saying the task has been completed.

That's it! Just by completing these few simple steps, you've generated and deployed the necessary monitor model. You can see it in the Integrated Solutions Console, as shown in Figure 6, by selecting Applications => Application types => Monitor Model. The new model is called bmon_HSS_main.

Figure 6. Monitor model in the Admin Console
Monitor model in the Admin Console

(See a larger version of Figure 6.)

Looking at monitored data in Business Space

Let's now take a look at Business Space to verify that monitored information is represented correctly in the Business Monitor dashboards.

  1. Open Business Space; for example, by navigating to http://localhost:9080/BSpace in a default installation.
  2. In Business Space, you can see there is a new space called HSS_HiringSample_Main 20130324-103237, as shown in Figure 7.
    Figure 7. New space in Business Space
    New space in Business Space

    (See a larger version of Figure 7.)

  3. Notice that several pages and widgets are generated for you by default. In Standard HR Open New Position Instances an Instance widget was created automatically. There you can observe metrics related to the department, location and gmApproval business data.
    Figure 8. Instances widget without any instances
    Instances widget without any instances

    (See a larger version of Figure 8.)

  4. Run some new instances of the Hiring Sample process. When new instances are executed, the corresponding events are sent automatically to the monitor model and new information appears in the widget (after the widget refresh time or a page refresh).
    Figure 9. Instance view widget without any instances
    Instance view widget without any instances

    (See a larger version of Figure 9.)


Monitoring processes when BPM and Business Monitor run in different servers

In the previous section, we discussed the steps you need to take to enable monitoring when Business Monitor is collocated with Process Center or Process Server. Things are quite different when the two components are running in separate servers. In this case, you need to perform the following steps:

  1. Create and deploy a monitor model to the server where Business Monitor is installed and running. This monitor model needs to be created and deployed separately from the business process application that contains the process you're running. You use the IBM Integration Designer tool to author the monitor model.
  2. Make sure that the events generated by the process can reach the monitor model. There are two scenarios for this:
    • If Business Monitor and BPM are in the same cell but in different clusters, the common event infrastructure (CEI) events are sent via the CEI messaging engine, which is configured by default. No additional configuration is required.
    • In a cross-cell set-up, you have two additional options:
      • Configure the CEI messaging engine in the BPM server (or cluster) and then configure the queue bypass settings to allow the transmission of events from BPM to Business Monitor.
      • If the previous option cannot be used (because of architectural decisions, such as using a centralized ESB), events should be sent to Business Monitor server programmatically (using the REST API, for example).

Once you have completed the required set-up, complete the following steps to create and deploy the monitor model:

  1. Open IBM Integration Designer, and verify the connection to Process Center, by selecting Windows => Preferences => Business Integration => Process Center, as shown in Figure 10.
    Figure 10. Verify connection to Process Center
    Verify connection to Process Center
  2. Switch to the Process Center perspective and open the Hiring Sample Process application in the Integration Designer workspace, as shown in Figure 11.
    Figure 11. Open the process application in the workspace
    Open the process application in the workspace

    (See a larger version of Figure 11.)

  3. Right-click on Hiring Sample Main, and select Generate Monitor Model to create a new monitor model for this process application, as shown in Figure 12.
    Figure 12. Generate a new monitor model
    Generate a new monitor model

    (See a larger version of Figure 12.)

  4. Click Next in the Generate Monitor Model dialog, then click Yes to create a new project.
  5. Select the events you want to monitor, as shown in Figure 13. In this example, we'll select them all. Normally, you would need to decide which events are relevant to monitor your process.
    Figure 13. Select events to monitor
    Select events to monitor
  6. Click Next and check the generated monitor model preview, as shown in Figure 14.
    Figure 14. Previewing the Monitor Model
    Previewing the Monitor Model
  7. Click Finish and then Yes to switch to the Business Monitoring perspective. A new monitor model has been created and you can analyze it in detail in each tab, as shown in Figure 15. In a real application, you would use this as a template and modify anything you need to change.
    Figure 15. Generated monitor model
    Generated monitor model

    (See a larger version of Figure 15.)

  8. Right-click on the monitor model and select Generate Monitor Java EE Projects, as shown in Figure 16.
    Figure 16. Generate Java EE projects
    Generate Java EE projects

    (See a larger version of Figure 16.)

Deploy the EAR file on the monitor environment

Now that you have an enterprise application generated, you can export it from the Integration Designer and deploy it to the Business Monitor server by doing the following:

  1. Select File => Export => Java EE => EAR file, and click Next.
  2. Make sure that the selected EAR project is HiringSampleMonitoringModelApplication, then select the destination folder where you want the EAR file to be exported, and select the target runtime. In our example, the target runtime is IBM Business Monitor 8.0 on WebSphere Application Server.
  3. Click Finish to export the EAR file.
    Figure 17. Export the EAR file
    Export the EAR file

    (See a larger version of Figure 17.)

  4. You can now deploy the monitor model using the administrative console. Open the console, and navigate to Applications => Monitor Models => Install, as shown in Figure 18.
    Figure 18. Install the monitor model
    Install the monitor model

    (See a larger version of Figure 18.)

  5. Select the EAR file you just exported and click Next.
  6. Depending on the configuration, the following steps could be slightly different. We are going to use the simplest path. Select Fast Path and click Next.
  7. Skip to Step 3 (Metadata for Modules) and click Next.
  8. In Step 4, Configure security for the monitor model, select the security group you want to use. In this case we are going to use root, as shown in Figure 19.
    Figure 19. Configure security
    Configure security

    (See a larger version of Figure 19.)

  9. Go to Step 5 (Summary) and click Finish. When the message Application HiringSampleMonitoringModelApplication installed successfully appears, save the changes.

The monitor model starts automatically and its dashboard is also created automatically. You can check it in Business Space as we did before. As in the previous case, you can kick off a few instances of the process to trigger changes in the dashboards.


Conclusion

Now that you understand how different topological choices influence solution development, you may ask what are the pros and cons of collocating Business Monitor and Process Server in the same cell. Some of the advantages of collocation are:

  1. Simpler configuration (no cross-cell configuration is required) and a simpler operational environment (one cell for Process Center and one cell for each Process Server environment, rather than a potential proliferation of cells).
  2. Governance of all assets through Process Center.
  3. For simpler BPMN applications, monitor models are transparently generated and self-deployed, and manual authoring of monitor models is always an option.

Having separate cells for the Business Monitor and BPM, however, has to the following advantages:

  1. The two products can scale independently. You can assign a different number of nodes to run business processes, and to the monitoring infrastructure.
  2. There is better isolation – separate cells can be managed and maintained individually.
  3. There is independence in terms of product maintenance – there is no need to check for codependencies when applying fixpacks.

Here we have described how to develop a simple process and how to monitor it in the two different topological scenarios. While this article provided a simple example of such development, you should now be able to extrapolate the steps that are necessary to address more complex scenarios, and you should now understand the trade-offs of adopting the various topological choices.

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
ArticleID=939942
ArticleTitle=Monitoring business processes: How your topology influences your monitoring approach
publish-date=08072013