The Jump-start business activity monitoring (BAM) series introduces important concepts related to monitoring and improving the business performance of an organization. BAM can provide visibility into the performance of business activities by processing events, calculating business metrics, and presenting key performance indicators (KPIs) through business dashboards. Users can track current business performance against expectations and analyze trends over time.
Previous articles in this series cover many of the process-oriented facets of business monitoring. The ATM scenario exemplifies transaction processing that is purely automated and IT process driven. There is, however, a great demand for a human-centric type of monitoring. This article shifts attention to one of the key factors in business performance -- the people.
Monitoring just your business processes may not be adequate, because the it's the people who work for you that are the most important factor in how well your business performs. In this article, learn about applying the new human task monitoring capability in Monitor V6.0.2 in your existing installation. Gather performance data about human activities in your business operations and develop human-centric dashboards. Learn about this new capability, and how to set it up in your environment.
People are still the backbone of your business; they are the main force that drives your day-to-day operations. The performance of the business is still heavily dependent on the individual performance of the workforce behind it: CEO, programmer, operator, DBA, teller, manager, messenger, and so on. It's important to realize:
- People are still the most vital machinery of your business.
- Business performance is a function of people performance.
- Monitoring people performance can improve business performance.
The capability for human task monitoring is now available with IBM WebSphere Business Monitor V6.0.2.1 in a downloadable SupportPac (see Resources). The Human Task Monitoring SupportPac contains a monitor model and a set of dashboards for human task monitoring that demonstrates how to incorporate human task key performance indicators (KPIs) and views into the current WebSphere Business Monitor dashboards.
This article extends the ATM scenario to include some human tasks. When an ATM becomes inoperable for any reason it is detected from a central station, which sends a message to the branch office responsible for that ATM unit. A process is then initiated to address the problem. The process includes:
- Verifying that the ATM is indeed not operational (by trying to communicate with the ATM and running some diagnostic tests).
- A report is generated.
If the report says the ATM is bad, a job request is created. The job request is then processed by one of the human dispatchers.
- A dispatcher assigns an engineer to the job request, reserves a company vehicle, and schedules the departure.
- A job order notice is sent to the engineer. The engineer accepts the job order and, according to the schedule, leaves for the designated ATM location.
- The engineer troubleshoots the ATM, tries to fix it, sends the status of the ATM through a PDA, and goes back to the office.
- If the status indicates that the ATM is fixed, the job request
is completed and closed.
Otherwise, somebody sends a service repair order to the Service Department of the manufacturer (which is an outside company) of the ATM unit. Only when the manufacturer finally fixes the ATM unit will the original job request be completed and closed.
In this article, you explore features of the Human Task Monitoring SupportPac and learn how to get your existing installation up and ready to monitor human tasks within your business system.
Before delving into human task monitoring, this section reviews some fundamental concepts of this new feature. Human tasks will be discussed within the context of Business Process Execution Language (BPEL) applications. With BPEL, you can choreograph an entire business system, specifying both the processes involved and their order of execution. You can view a process (also known as an activity) as a black box that performs a finite set of steps to complete an action.
An activity can be a call to a Web service, or maybe a task that requires human action. This article focuses on activities where people in an organization execute a task. There are three different types of human tasks, as summarized in Figure 1.
Figure 1. Three types of human tasks

- Participating task (pTask)
- Involves humans in service-based applications. A person or group of people act as the "implementation" of a service. Also called the machine-to-human scenario. For example, a person gets a to-do from a business process. The business process waits for this to-do to be completed before proceeding.
- Purely human task (hTask)
- Allows a person to schedule work for another person or group of people. This kind of task is used when people collaborate with each other. Also called the human-to-human scenario.
- Originating task (oTask)
- Allows a person to schedule some work and come back later to get the results. This is particularly useful when interacting with long-running services, such as business processes where a response can arrive next day, next week, or even later. Also called the human-to-machine scenario.
Not shown in Figure 1 are administrative tasks (aTask), which are used to assign administrators to business processes. Administrators can perform special operations, such as terminating a process or task, or changing ownership of a task. Later, you'll learn how administrative tasks play an important function in human task monitoring.
There are two ways to implement a human task, depending on your usage scenario. If the task is implemented within a business process, it is called an inline task. If it is implemented outside any business process, it is a stand-alone task. Figure 2 shows the differences.
Figure 2. Inline and standalone human tasks

When do you use an inline task versus a stand-alone task? The general recommendation is to model a task as stand-alone if you do not need any information from the business process, or if the task provides just another service. Model it as an inline task if you need information from the process logic to execute human interaction, or if you want to execute administrative tasks. You may also consider inline implementation if you want to define authorization rights on specific activities.
Human Task Monitoring SupportPac
The Human Task Monitoring SupportPac is a special feature for existing installations of WebSphere Business Monitor V6.0.2.1. It lets you monitor human tasks in a generic way. Human tasks from any BPEL application can be monitored using metrics that are not specific to an application domain. Examples of such metrics include: start and completion time of a task, waiting time and status, and number of times a task has been delegated.
The Human Task Monitoring SupportPac has four fundamental functions, as shown in Figure 3. They comprise the essential functions that every human task monitoring support should have.
Figure 3. Core functions of Human Task Monitoring SupportPac

- The most important function gives you the ability to monitor the status of a human task. The status gives you an overall idea of how well the task is being carried out. For example, tasks that are in a waiting
status tend to catch your attention. Questions that may arise include:
- How long has a waiting task been in this status?
- What is it waiting for?
- Who currently owns the task and why was it put in this status by the owner?
- How much longer does this task have to wait?
- What can be done to expedite this task?
- How many tasks are in the waiting status?
By revealing the status of the many tasks within your business, you can get a general idea of the overall condition of your business operations.
- The next function lets you review the history of certain metrics for a given task, set of tasks, or task groups. You can analyze trends or
discrepancies in the expected values of the metrics.
For example, a teller in a bank can process withdrawal transactions in 5 minutes on average, by looking at the historical data. On a specific day this type of transaction was taking 30 minutes. This should serve as an alert to look at what could possibly be going wrong.
- The third function lets you analyze aggregate values across a number of tasks at a given time. Unlike historical data, this gives you a more real-time view
of the dynamics of the system, and whether there are problem areas that require attention. For example:
- Number of tasks still in progress (backlog)
- Number of delayed tasks or at risk of being delayed
- Average elapsed and working durations of tasks
- Rate of new tasks coming in versus rate of tasks getting completed
- Shortest time in which a given task has been completed
- Number of completed tasks without errors by employees on a given day
There are many other types of aggregate measures that can be created, allowing you to do a deeper analysis of problem areas or personnel in your business. By drilling down to the details, you can pinpoint the root cause of the identified problems.
- The fourth function is essential, as it lets you take corrective actions when necessary. The first function lets you view the facts, while the second and third functions let you analyze the
facts for problem determination. The fourth function lets you take an action once the root cause of a problem has been identified. It is important that you have administrative rights to perform the actions.
For example, if an employee is committing too many mistakes in performing a task, you might find that he's overloaded and in a rush to finish, which consequently affects his accuracy. To fix the problem, you may decide to transfer some of the tasks to another employee who has less work to do. Other administrative tasks you can perform include:
- Assign a task to someone.
- Suspend a task.
- Terminate a task.
- Mark the task as Complete.
- Resume a task.
Human Task Monitoring SupportPac components
The Human Task Monitoring SupportPac is composed of three major components:
- Human Task Monitoring SupportPac model
The monitor is designed to process events emitted by the Human Task Manager/Business Process Container of the Process Server that are specific to human tasks. Because this model is generic, the payload stored in the Extended Data Elements of the CBE events are not read at all.
Figure 4 shows a subset of Human Task Monitoring SupportPac model details. Emphasis is on the inbound events, based on the human task event definitions by the Human Task Manager of the Process Server. Metrics, counters, and stopwatches are updated based on the predefined data, property data, and some extended data elements (that have nothing to do with the application payload) in the CBE events.
Figure 4. Model detail
Figure 5 shows an example of a filter condition and correlation expression used in this model. No process templates are used in the expressions because we don't want to monitor a specific BPEL process instance. It is also ensured that for inline human tasks we correlate each human task instance to the right BPEL process instance, thus ensuring that all measurements for that human task instance are properly accounted for.
Figure 5. Filter Condition and Correlation Expression samples
The model also includes a Data Mart model for dimensional analysis, as summarized in Figure 6. Notice the generic dimensions based simply on the task name, owner, status, duration, and so on.
Figure 6. Data Mart model
- Human Task Analysis view
The previous core functions let you either analyze historical data about your human tasks, or perform dimensional analysis on your aggregate measures. To be able to do this, you need to create your own Human Task Analysis view, which is a dimensional view using the Data Mart model that comes with the Human Task Monitoring SupportPac model. You can analyze data using dimensions based on task names, owners, task status, and so forth. Figure 7 shows an example of a dimensional analysis view.
Figure 7. Dimensional Analysis view
The Human Task Monitoring SupportPac comes with instructions for configuring the Human Task Analysis view. Once you have this view configured and monitoring data becomes available, you can start drilling down and up through the different dimensions and analyze your human tasks performance.
- Human Task Administration page
With the Human Task Administration page you can take action. It consists of two views:
- The Instances View contains instances of human tasks and a few details about each instance.
- Human Task Administration View is a portlet that comes with the Human Task Monitoring SupportPac. It is an extension of the set of portlets that are shipped with WebSphere Business Monitor V6.0.2.1.
The two views are shown in Figure 8.
Figure 8. Human Task Administration page
This page lets an administrator perform actions on a given task. The Human Task Administration view contains a subset of the functions that are available in the Business Process Container (BPC) Explorer for human tasks. The Instances View interacts with the Human Task Administration view with Click-to-Action. You can choose an instance in the Instances View, click the Administration icon, and more information about that human task instance is presented in the Human Task Administration view (Figure 8). At that point, you can choose to transfer the task to another owner, suspend the task, resume it, complete it or even release it (make the task unowned).
The Human Task Monitoring SupportPac also includes the project interchange for the human task monitor model. You might extend it to monitor more generic metrics, or specialize it for a specific application (monitoring information from the event payload created by the monitored BPEL application).
Setting up your monitor server and dashboard
This section explains how to set up your existing WebSphere Monitor installation for human task monitoring. After you download the Human Task Monitoring SupportPac from the IBM site, follow the steps outlined in Figure 9. The SupportPac comes with complete documentation for setting up the human task monitor.
Figure 9. Setting up human task monitoring

First you install the Human Task Monitoring SupportPac model in your WebSphere Monitor Server. The download contains both the generated J2EE application that you can readily deploy in your production server, and the business monitoring project interchange. You can load the latter using the Monitor Toolkit. You can add some modifications to the SupportPac model and then generate the J2EE application. The development process and monitor model installation are well documented in the InfoCenter (see Resources).
When a BPEL application contains human tasks, security is required. Specific individuals need to execute the human tasks, so there must be a reliable way of associating a given task to a person. This can be done only through proper authentication. For example, when assigning a human task to an employee, the employee's name must be established first (the authenticity of the person's identity is of utmost importance). Otherwise, the integrity of your performance analysis will be at stake.
It can be cumbersome to set up security in the dashboard, the process server where the BPEL application is running, and optionally, the Monitor server. If you follow the instructions carefully, it should not be that hard. Studying and understanding the security configuration in Figure 10 will make each step a lot easier to perform.
Figure 10. Security configuration for human task monitoring

The Human Task Administration portlet must be able to communicate with the Human Task Manager of the process server where the BPEL application is running. You need to pass information about the identity of the person associated with a human task; the communication must be done by passing user credentials.
The recommended approach is to use a common user registry [in this case, a Lightweight Directory Access Protocol (LDAP) registry] between the dashboard and the process server. The two machines must be in the same domain, such as raleigh.ibm.com. To enable security on both the dashboard and the process server:
- Enable global security in WebSphere Process Server 6.0.2 using LDAP and Lightweight Third-Party Authentication (LTPA) mechanisms.
Enable SSO and specify a domain; the Process Server InfoCenter has more information.
- Enable global security in WebSphere Application Server 6.0.2 (used by the Portal
server) using LDAP and LTPA authentication mechanisms.
Enable single sign-on (SSO) and specify the same domain used in WebSphere Process Server.
- Enable Portal security using LDAP; see the WebSphere Portal InfoCenter for more information.
Make sure that all LDAP information for both the WebSphere Process Server 6.0.2 and WebSphere Application Server 6.0.2 are the same, since they are sharing the same LDAP server.
- Set CSIv2 protocol for both WebSphere Process Server 6.0.2 and WebSphere Application Server 6.0.2. To enable identity assertion:
- Use your browser to log in to the application server Administrative console.
- Select Security > Global Security > Authentication Protocol > CSIv2 Inbound authentication.
- Select Identity assertion.
- Click OK.
- Select Security > Global Security > Authentication Protocol > CSIv2 Outbound authentication.
- Select Identity assertion.
- Click OK and Save.
- Export and import the LTPA key:
- Export the generated LTPA key in WebSphere Process Server 6.0.2.
- Import the exported key into WebSphere Application Server 6.0.2, making sure to enter the same LTPA password used in WebSphere Process Server 6.0.2.
- Enable Alphablox security:
- Edit %ABLOX_HOME%\repository\servers\AlphabloxAnalytics\Server.properties. Change:
ws.admin.password.protected = <some encrypted string> ws.admin.username = admin
to:ws.admin.password = <LDAP Admin Password> ws.admin.username = <LDAP Admin ID>
- Go to %WAS_HOME%\bin and run the commands:
wsadmin -conntype SOAP -host <hostname> -port <8881 or whatever is in SOAP connector Address> $AdminApp edit AlphabloxPlatform {-MapRolesToUsers {{"AlphabloxAdministrator" No No "<LDAP Admin ID>" ""}} } $AdminConfig save - Restart WebSphere Process Server 6.0.2 and the Portal server.
Now that security is enabled, it's time to configure the dashboards for the Human Task Analysis view and the Human Task Administration page. Since the Human Task Monitoring SupportPac model has already been installed in the Monitor server, it must be visible from the dashboard as one of the available Monitor models at this point. Configure the Human Task Analysis view by simply configuring a Dimensional Analysis view using the Data Mart model defined in the Human Task Monitoring SupportPac model. Step by step instructions come with the SupportPac. The Dimensional Analysis view is one of the views that are shipped with WebSphere Monitor V6.0.2.1.
Configuring the Human Task Administration page consists of creating and configuring the Instances View and the Human Task Administration portlet. But first you need to install the Human Task Administration portlet that is included in the downloadable image. It is a Web application module that you must install into the Portal Server using the Administration function. After you install the Web module, you should find a Human Task Admin portlet in the list of available portlets.
You create a new page and then add two portlets on that page: the Instances View and the Human Task Administration portlet. Then you will have to wire the Instances view to the Human Task Administration portlet to enable Click-to-Action. Outside of the Administration function of the Portal Server, you can now go to the newly created page with the two portlets you just added. You still need to configure both portlets.
In configuring the Instance View, you must choose the InlineTaskMM Monitor model and the PerformTask Monitor context. Also select Activity ID as the administration link between the two portlets.
When configuring the Human Task Administration portlet, you need to specify the hostname and Remote Method Invocation (RMI) port of the WebSphere Process Server 6.0.2 where your BPEL application is running. Remember that the Human Task Administration portlet needs to communicate with the Human Task Manager of the Process Server.
Configure and execute the BPEL application
The last step is to configure your BPEL application so it emits human task CBE events while it is running. These are the CBE events that the Human Task Monitoring SupportPac model is going to subscribe to. You need to load your BPEL application using WebSphere Integration Developer V6.0.2. Typically, you should have the business integration project interchange where your BPEL processes are defined. Go to each BPEL process that contains inline human tasks, as shown in Figure 11.
Figure 11. Enabling your BPEL application to emit human task events

Click every human task in your BPEL process, and go to the Properties tab. Click Event Monitor, select CEI as the destination, and select All to indicate that you want this process to emit all human task CBE events. Select Full for the Event Content so that all CBE information is stored in the events that are emitted.
When you are done with all of your BPEL processes, save the project and export the J2EE application. Reinstall the application into your process server and start its execution.
Once you have the Human Task Monitoring SupportPac set up in your system, you must be able to test if it's working properly. The SupportPac comes with a sample BPEL application, called SimpleBPELApp, which contains human tasks. This is a very simple example intended solely to test that your setup is working correctly. The BPEL process for this application is shown in Figure 12.
Figure 12. Simple BPEL process for testing

The sample is a grocery store scenario with four human tasks in the whole process. First, a customer checks out when he is done shopping by going to an available cashier. The cashier checks out the items while another employee bags the items. Both the activities of the cashier and the bagger can be monitored: through the cash register, or a touchpad in the case of the bagger. As the customer leaves the store, an inspector checks the receipt and the items. Outside the store, another employee can offer to help carry the items to the customer's vehicle. Both the inspector and the delivery personnel can use a scanner (to scan the receipt) attached to a PDA so their activities can be monitored.
To simulate the scenario, deploy the SimpleBPELApp J2EE application into your process server that has a BPC and a Task Container installed. Use the BPC Explorer Web application installed in your process server to execute the application. You will go through each of the human tasks in the application, and must enter inputs and outputs for each.
Figure 13 shows a sample snapshot. Repeat the steps for all of the human tasks. You can also create as many process instances as you want, and log in as a different user each time to the BPC Explorer to simulate different workers.
Figure 13. Run sample application using BPC Explorer

Once you're satisfied with the number of sample instances you have created, you can verify whether the events where captured by the monitor model by going to the Human Task Administration page of your dashboard. If you see something similar to Figure 14, then you know your setup is working properly.
Figure 14. Resulting Human Task Administration page from sample application

People performance is critical in a business organization because business performance depends how well your personnel executes their tasks. However, people performance is harder to control than IT performance. Getting quantifiable measurements on how each person performs their tasks lets you track and analyze people-performance problems, empowering you to take actions to solve them. Human task monitoring is a powerful feature that can help many businesses.
In this article you were introduced the Human Task Monitoring SupportPac, a capability now available with WebSphere Business Monitor V6.0.2.1. You learned about the functions and different components of the SupportPac and the necessary steps to set up your existing WebSphere Business Monitor installation to enable this capability--and to enable your organization to improve overall business performance.
Learn
- Browse the
IBM WebSphere Business Monitor SupportPacs InfoCenter to learn more about the Human Task Monitoring SupportPac.
- The IBM Redbook
Human-centric Business Process Management with WebSphere Process Server V6 uses step-by-step examples to show how human-centric tasks can be added into a business process management solution, using WebSphere Business Modeler to model the process, WebSphere Integration Developer to assemble it, and WebSphere Process Server to run it.
-
"Architecting on demand solutions, Part 18: Use IBM WebSphere Integration Developer to assemble components" (developerWorks, Feb 2006) provides more information about human tasks in BPEL.
- IBM
WebSphere Business Process Management Version 6.0 Information Center is the best site
for technical information about all products in the Business Process Management suite, including WebSphere Business Monitor V6.0.2 and WebSphere Process Server V6.0.2.
- Learn more about:
- In the
Architecture area
on developerWorks,
get the resources you need to advance your skills in the architecture arena.
- IBM on demand demos to learn about various software products and technologies from IBM.
- Stay current with
developerWorks Live! webcasts.
- Check out developerWorks Live! technical events and briefings.
- Browse the
technology
bookstore
for books on these and other technical topics.
Get products and technologies
- Download package:
BA71: WebSphere Business Monitor - Human Task Monitoring
and be ready to monitor human tasks in your BPEL applications in no time.
- Download
IBM product evaluation versions
and get your hands on application development tools and middleware products from
IBM® DB2®, Lotus®, Rational®, Tivoli®, and
WebSphere®.
Discuss
- Participate in the discussion forum.
- Read what everyone is talking about in
developerWorks
blogs and
get involved in the
developerWorks community.

Dr. Wilfred C. Jamison is currently a manager and team lead for the Code Generation, Validator, and UTE components of WebSphere Business Monitor. He has been with IBM for eight years and worked on products including IBM Firewall and IBM WebSphere Application Server. His expertise includes network security, performance analysis, concurrent and distributed systems, J2EE, Linux, and others. He also worked on incubation projects for the On-Demand Software Development team. He has worked with customers found on the New York Stock Exchange, eBay, and Toronto Dominion Bank.
