In this article, you'll learn how a business analyst uses WebSphere Business Modeler V6.0.2 to capture information about new subscribers to a satellite television service. Based on what he wants to see in the WebSphere Business Monitor dashboards, he models instance metrics, aggregate metrics, and key performance indicators (KPIs) using the business measures view. He also selects some values to be returned after monitoring to improve the accuracy of his simulations. The analyst exports the monitor model to WebSphere Integration Developer to be further refined in the WebSphere Business Monitor Development Toolkit, and then imports the selected results after the process has run for a few weeks.
This article covers only the WebSphere Business Modeler portions of the scenario. You can download sample modeler and results files.
Scenario: Satellite Television Service Company
Charlotte, the CEO of a Canadian satellite television service company, is looking for ways to improve the performance of her organization. She wants to increase the percentage of new subscribers that choose her company's high-definition television service over the regular, standard-definition service. To determine whether an upcoming advertising campaign for the high-definition service is successful, Charlotte would like to monitor the performance of her business.
Charlotte is also interested in extracting regional trends from across Canada.
Barry, the company's business analyst, has already modeled the satellite subscription process in WebSphere Business Modeler and done some preliminary simulation and analysis to determine the time and cost of processing invalid subscriptions. Figure 1 shows the process he created.
Figure 1. Satellite subscription process

Whenever a satellite service order comes in, it is automatically validated for completeness. Barry was not sure what percentage of incoming orders are typically valid, so he modeled the process with 50% of the orders as valid and 50% as invalid. He plans to check his assumption using WebSphere Business Monitor later.
Every time the system receives an incomplete order, someone must analyze it to find the problem. Then, a specialized response is created for the subscribing customer and sent back. Because these tasks require human involvement, responding to invalid orders can be quite time consuming.
For valid orders, the subscriber status is automatically checked to see whether this is a new subscriber. Again, Barry is not sure how many of the subscribers are new, so he modeled the satellite subscription process as having 50% new subscribers and 50% existing customers.
For a new subscriber, the path in Figure 1 splits into three tasks that occur in parallel:
- The subscription request is forwarded to operations, where the new subscriber is enrolled.
- The new subscriber discount is applied.
- The new subscriber is sent a Welcome e-mail.
The tasks are then recombined by a merge, which pulls the three paths back into a single flow. The flow proceeds, and the subscription request is processed for existing and new subscribers.
Defining information to be viewed and analyzed in dashboards
Business measures information in WebSphere Business Modeler is separated into two types:
- Information to be used for dashboard display and analysis (specified in the Business Performance Indicators tab). This information is specified as metrics and KPIs, whose values are captured and displayed as the process runs.
- Information to collect from running process instances and bring back into WebSphere Business Modeler (specified in the Monitored Values tab). This information can be used in simulation to model alternative process designs more accurately, based on actual results.
Charlotte gives Barry the questions she would like answered as a result of him monitoring her operations in WebSphere Business Monitor. Based on each of the questions, Barry works out the information he needs to extract from the business process, as shown in Table 1.
Table 1. Questions and information required for answers
| Question | Information required |
|---|---|
| Is the number of new subscribers increasing? |
|
| What services are new subscribers requesting? |
|
| Will the revenue per subscriber increase as a result of the advertising campaign, when a higher percentage of subscribers subscribe to the high-definition service? |
|
| What percentage of new customers subscribe to the high-definition service? What percentage of new customers subscribe to high-definition service in each region of the country? |
|
For some types of information, Barry wants the results of each subscription request that comes in. The values will help him track whether an order is for high-definition service, which package is chosen, and how much the subscriber will pay for the service. This information is modeled as instance metrics.
For other types of information, Barry wants to gather data about the group of subscribers. These values will show Charlotte the results based on many subscribers and will indicate how well the advertising campaign works. Also, from these values the company will be able to extract country-wide regional trends. Because the values indicate the performance of the business, the company can set specific goals it would like to achieve. This information is modeled as KPIs.
Barry also wants to collect information across the group of subscribers about the number of subscribers and the monthly revenue. These values are modeled as aggregate metrics.
Instance metrics return the result from one run (or instance) of the process. In this case, each run of the process is a different subscription request. For each new subscription request, Barry wants to extract:
- Is the request is for high-definition satellite service?
- Is the request is for the basic, full, premium, or unlimited channel package?
- What is the price the subscriber will pay per month for the satellite service?
In WebSphere Business Modeler, Barry opens the satellite subscription process and selects the Business Measures view. (Or, he could open the Business Measures view from the File menu by clicking Window > Show View > Business Measures). To create a new business measure, he selects the Business Performance Indicators tab, clicks Add, types Is High Definition for the name, and indicates that this business measure is an instance metric.
As shown in Figure 2, after Barry selects the Instance metric type, he opens the Dashboard views section to see sample representations of the views that can be shown in the dashboards. These views confirm he is creating the right type of business measure and that the information he wants to see will be available when the process runs.
Figure 2. Defining an instance metric

The following dashboard views are available for each instance metric:
- Alerts
- Displays alerts that notify users of the defined business situations that occur at run time. In this case, Barry is not planning to send any alerts based on instance metrics.
- Dimensional
- Displays multidimensional reports that can be used to analyze different business aspects of data. Barry plans to create a Location dimension with specific levels for the region (such as eastern and western) and the province (such as Newfoundland and British Columbia). Barry could configure the Dimensional view to track the number of instances for each type of channel package by region.
- Instances
- Displays the modeled instance metrics and their values while each process instance runs. The dashboard administrator can select the instances or set of instances to display.
- Report
- Displays performance reports relative to a time axis. Historical values of numeric business measures are shown in tables and graphs for analysis.
Barry could select Specify how to aggregate this metric across multiple runs of the process and then Sum to get the total number of high-definition subscription requests, but he decides he is not interested in this metric.
Barry specifies the type of metric as Boolean because he wants the value to be either true or false. He also adds a dimension so he can track subscribers by region. As shown in Figure 3, he names the dimension Location (Region, Province).
Figure 3. Adding a dimension

Barry has finished specifying the instance metric. He clicks OK and the instance metric is added to the business measures summary table.
The second instance metric is to keep track of the requested channel package and can be either basic, full, premium, or unlimited. Barry specifies the type of this metric as String so that it can contain text. He has already added the Location dimension, so he adds the same dimension to this metric by selecting Specify the aspects that will be available in the Dimensional view for analysis of the metric.
The third instance metric keeps track of the price of the service for each subscriber. Barry specifies the type of metric as Decimal so it can contain currency. Charlotte is not interested in tracking total price by region, so he does not select the dimension check box this time.
Table 2 summarizes the instance metrics that have been modeled. Barry is careful to add accurate descriptions, because Danielle, the integration developer who will use WebSphere Business Monitor Development Toolkit to implement the monitor model, must understand how each metric gets its value.
Table 2. Summary of instance metrics
| Name | Description | Type |
|---|---|---|
| Is High Definition | Tracks whether current subscription request is for high-definition satellite service | Boolean (default is True) |
| Satellite Package | Tracks whether subscription request is for basic, full, premium, or unlimited channel package | String |
| Service Price | Tracks the price subscriber will pay for satellite service per month | Decimal (default is 0) |
Aggregate metrics are used to calculate the average, maximum, minimum, or sum of a particular value across multiple runs of the process or to track the number of times a particular value occurs across multiple runs of the process. Across all the subscription requests, Barry wants to calculate the:
- Total number of new subscribers (the number of times the process runs)
- Total amount of revenue that new subscribers generate per month
- Average monthly revenue that each subscriber currently generates
To create another business measure, Barry selects the Business
Performance Indicators tab, clicks Add, types Total Number of Subscribers for the name, and indicates that this business measure is an Aggregate metric, as shown in Figure 4.
Figure 4. Defining an aggregate metric

Barry opens the Dashboard views to confirm that he is creating the right type of business measure for the views that he wants. For an aggregate metric, he sees that the following dashboard views are available:
- Dimensional
- Displays multidimensional reports that can be used to analyze different business aspects of data. In this case, the Location dimension will have specific levels for region (such as east and west) and province (such as Newfoundland and British Columbia). If Barry were interested in average monthly revenue by province, he would set up an aggregate metric to use the Location dimension.
- Report
- Displays performance reports relative to a time axis. Historical values of numeric business measures are shown in tables and graphs for analysis. In this case, Barry could configure the Report view to show the number of new subscribers by year and then drill down to see the breakdown by month or based on specific dates.
Aggregate metrics use an underlying instance metric and apply a function (average, maximum, minimum, sum, or count) to determine the resulting value. The instance metric can be created later in the WebSphere Business Monitor Development Toolkit.
Barry selects Specify how this measure is aggregated across multiple runs of the process and Sum to calculate the total number of subscribers. He clicks OK, and the aggregate metric is added to the business measures summary table.
To calculate the total revenue generated per month by the new subscribers, Barry creates a second aggregate metric and again selects Sum for the aggregation function.
However, as Barry begins to create the third aggregate metric, he looks at the available dashboard views for aggregate metrics and decides he'll model the average monthly revenue that each subscriber currently generates as a KPI rather than an aggregate metric. This metric is important information, and he wants to have more views available for it in the dashboards.
Table 3 summarizes the aggregate metrics, with descriptions to inform the integration developer using WebSphere Business Monitor Development Toolkit how each metric gets its value.
Table 3. Summary of aggregate metrics
| Name | Description | Aggregation function |
|---|---|---|
| Total Number of Subscribers | Tracks the total number of satellite subscribers | Sum |
| Total Subscription Revenue | Tracks the revenue generated per month by the satellite subscribers | Sum |
KPIs are the significant measurements used to track performance against business objectives. A KPI has a target, ranges, or both, to measure the improvement or deterioration in the performance of an activity critical to the business. Barry wants to calculate values to extract the following information:
- Average monthly revenue that each subscriber currently generates.
Barry decided that this information was important enough to model as a KPI instead of an aggregate metric, even though he has no specific target in mind.
- Percentage of new customers who are subscribing to the high-definition
service per month.
The company expects that about 75% of new customers will subscribe to the high-definition service rather than the regular service.
- Percentage of new customers who are high-definition subscribers in the western region (British Columbia, Saskatchewan, and Alberta)
- Percentage of new customers who are high-definition subscribers in the northern region (Yukon Territory and Northwest Territories)
- Percentage of new customers who are high-definition subscribers in the central region (Manitoba, Ontario, and Quebec)
- Percentage of new customers who are high-definition subscribers in the eastern region (Newfoundland, New Brunswick, Nova Scotia, and Prince Edward Island)
- Number of new subscribers per month.
To create another business measure, Barry selects the Business
Performance Indicators tab, clicks Add, types Average Revenue
Per Subscriber for the name, and indicates KPI, as shown in Figure 5.
Figure 5. Defining a KPI

When Barry opens the Dashboard views, the following views are available for KPIs in WebSphere Business Monitor:
- Alerts
- Displays alerts that notify users of the defined business situations that occur at run time. In this case, Charlotte mentioned that she plans to authorize an employee bonus if the percentage of new high-definition subscribers exceeds expectations, so Barry wants to set an alert for when the average percentage reaches a specified value.
- Dimensional
- Displays multidimensional reports that can be used to analyze different business aspects of data. The Location dimension has specific levels for the region (such as east and west) and province (such as Ontario and Quebec). Barry could configure the Dimensional view to show the aggregated numeric values at the region level, then drill down to see the breakdown of the numeric information at the province level.
- Gauge
- Represents the KPI value on a gauge, like a speedometer. A dial represents the position of the KPI value relative to the target and ranges. A needle on the dial indicates the current value of the KPI. If the KPI has a target, a gray line on the gauge represents that target.
- KPI
- Shows the details of the modeled KPIs. A graph displays the position of the KPI value relative to the KPI target and ranges. Each range can have a different user-defined color. In each bullet graph, a black vertical line represents the KPI target and a gray horizontal line represents the current value of the KPI.
- Report
- Displays performance reports relative to a time axis. Historical values of numeric business measures are shown in tables and graphs for analysis. The administrator can select from four types of analysis: basic, quartile, trend, and control.
Barry does not want to add target, range, or any other information for this KPI, so he clicks OK and the KPI is added to the business measures summary table.
Barry proceeds to enter the second KPI, which is to calculate the percentage
of new customers who are subscribing to the high-definition service per month.
This time, Barry wants to specify a target and ranges to measure how well
the company is doing against specified criteria during the advertising campaign. After entering the name of the KPI (Percentage of High-Def Subscribers)
and the description (Tracks the percentage of customers that are subscribing
to the high-definition service), he clicks Specify a target value and type
to specify an exact value that the KPI should achieve.
There are two types of targets: durations and numbers. KPIs with duration targets are
shown in the Gauge view and the KPI view as days, hours, minutes and seconds.
KPIs with numeric targets, such as this one, are shown as numbers. Barry types
in 75 as the target because the company expects that about 75% of new customers
will subscribe to the high-definition service rather than the regular service.
To enter a set of ranges to track the KPI against, Barry selects Specify range details and Actual value, as shown in Figure 6. He enters a set of ranges called Poor, Unacceptable, Acceptable, and Excellent, and specifies the Start value and End value for each range, making sure that the end value of each range is the same as the start value of the next range.
Figure 6. Adding ranges to a KPI

To specify the time-based criteria to use when including values for the KPI calculation, Barry selects Specify a time period over which the business measure will be monitored. The time period can be repeated, rolling, or fixed.
With a repeating time period, Barry can choose to calculate the KPI based on data from the last year, month, or day. If he sets the repeating period to monthly and selects the last full period, the KPI will reflect the value based on the last complete month. For example, if the current month is April, the last complete month was March. When May starts, the KPI value shown on the dashboards is no longer based on data from March but is based on data from April. If Barry selects the period in progress instead, the KPI is evaluated based on the current month. If the current month is April, the KPI is evaluated based on the April data so far. When May starts, the KPI value is no longer based on the data from April, but is based on the (initially very little) data from May.
If he wanted to specify an exact start and end date, such as May 1, 2007 to May 30, 2007, Barry could choose a fixed time period and have the KPI calculated across that single time period.
Barry chooses a rolling time period because he wants to evaluate the percentage of high-definition subscribers during a window of time that moves continuously. He selects Rolling and accepts the default of 30 days. The dashboard will always show the percentage of new high-definition subscribers based on the new subscribers for the past 30 days. To have up to, and including, the current day included in the calculation, Barry selects Day in progress. If he chose Previous day, the value of the KPI would have been calculated from 30 days ago up to the last full day.
Charlotte has authorized an employee bonus if the percentage of new high-definition subscribers exceeds expectations, so Barry decides to add an alert to this KPI. An administrator can then cause the alert to send an e-mail using the Adaptive Action Manager in WebSphere Business Monitor.
Barry selects Specify when to send an alert and the action to take as a result, clicks Add, and types:
Send reminder e-mail to management re: employee bonus when percentage of high def subscribers reaches Excellent range |
The Percentage of High-Def Subscribers KPI is complete, and Barry clicks OK to add it to the business measures summary table.
Barry continues to define the other KPIs. For the four KPIs that measure the percentage of high-definition subscribers by region, he selects Specify the dimensions across which to calculate the KPI value and then clicks the check box beside Location to add the Location dimension to the calculation.
Table 4 summarizes the KPIs. It includes descriptions of how each KPI calculates its value so that the integration developer can complete the monitor model implementation later using WebSphere Business Monitor Development Toolkit.
Table 4. Summary of KPIs
| Name | Description | Type and target | Ranges | Time period | Dimensions |
|---|---|---|---|---|---|
| Average Revenue Per Subscriber | Measures average monthly revenue that each subscriber currently generates | ||||
| Percentage of High Def Subscribers | Tracks percentage of customers who are subscribing to high-definition service | Number: 75 |
| Rolling: 30 days including day in progress | |
| Percentage of High Def Subscribers (WEST) | Tracks percentage of high-definition subscribers in west region (BC, SK, AB) | Number: 75 |
| Rolling: 30 days including day in progress | Location |
| Percentage of High Def Subscribers (NORTH) | Tracks percentage of high-definition subscribers in north region (YT, NT) | Number: 75 |
| Rolling: 30 days including day in progress | Location |
| Percentage of High Def Subscribers (Central) | Tracks percentage of high-definition subscribers in central region (MB, ON, QC) | Number: 75 |
| Rolling: 30 days including day in progress | Location |
| Percentage of High Def Subscribers (EAST) | Tracks percentage of high-definition subscribers in east region (NL, NB, NS, PE) | Number: 75 |
| Rolling: 30 days including day in progress | Location |
| Subscription Rate | Tracks number of new subscribers per month | Number: 200 | Rolling: 30 days including day in progress |
Defining information to collect and export to WebSphere Business Modeler
When Barry modeled the satellite subscription process, he made some assumptions that he can now validate. He ran a simulation to see how long it takes the company to handle a new subscription, and looked at the time and cost of handing invalid subscription requests. He wonders if it would be worth taking steps to reduce the number of invalid subscription requests that come in. First, he'd like to know how long the invalid subscription requests take to process and how much they actually cost the company.
By specifying the process information to collect in WebSphere Business Monitor and return to WebSphere Business Modeler, Barry can improve the accuracy of his simulations by providing realistic and accurate data derived from running the process. After the process model has been updated with realistic percentages, Barry can work on further process refinements to lower total subscription costs.
Barry opens the Business Measures view and selects the Monitored Values tab. As shown in Figure 7, each row in the table represents one process element. Each column represents a value that can be monitored while the process runs and then is returned from WebSphere Business Monitor. The check box in the column is enabled only if the value represented by the column applies to the process element. Barry clicks % Per Branch for the two decisions: Is new subscriber? and Is order valid?
When the results are returned, he will find out how accurate his 50% Yes and 50% No estimates were. He also clicks Processing Time, Processing Cost, and Startup Cost for the two tasks (Examine Invalid Order and Prepare Response) associated with processing invalid orders.
Figure 7. Specifying values to return

Exporting the business measures
Now that Barry has specified the business measures to be monitored and viewed on the dashboards and has specified some information to be returned to WebSphere Business Modeler, he's ready to export the business measures and the process to WebSphere Integration Developer. He saves his process and makes sure there are no errors in the Errors view.
In the Project Tree view, Barry right-clicks the satellite subscription process and selects Export > WebSphere Business Monitor Development Toolkit (.mm). He browses to the directory where he wants to put the files, clicks Export specific elements, selects the satellite subscription process, and then clicks Finish.
A monitor model file and two SVG files are created in the directory he chose, as shown in Table 5.
Table 5. Files created on export
| File | Description |
|---|---|
| Satellite Subscription Process Business Measures.mm | The monitor model file, which is imported into the WebSphere Monitor Development Toolkit in the WebSphere Integration Developer for further editing. |
| _Satellite_Subscription_Process_Business_Measures_ MDM_ Satellite_Subscription_Process_MC.svg | An SVG representation of the process to be associated with the monitoring context. The individual SVG elements that are created to represent single conceptual units in the process diagram (such as a task node with its labels) are collected into shape sets. Each shape set has a name and ID. This shape set can be referenced in a visual model action. |
| _Satellite_Subscription_Process_Business_Measures_ KM_ Satellite_Subscription_Process_KC.svg | An SVG representation of the process to be associated with the KPI context. |
After exporting the business measures to the toolkit, Barry wants to export the process model to WebSphere Integration Developer as a Business Process Execution Language (BPEL) process. Using BPEL as the implementation technology for the satellite subscription process makes it easy for the integration developer to get access to the monitoring information needed to calculate the business measures defined in WebSphere Business Modeler.
Barry switches to WebSphere Process Server mode (Modeling > Mode > WebSphere Process Server) and ensures that he has no errors in the Problems view. Again he right-clicks the satellite subscription process in the Project Tree view, but this time selects Export > WebSphere Process Server. He browses to the directory where he wants to put the files, clicks Export specific elements, and selects the satellite subscription process.
To
make the import into WebSphere Integration Developer easier, Barry decides
to keep the three files together by selecting Module project name and
typing SatelliteSubscriptionModule. Then he selects Project
interchange name, types SatelliteSubscriptionModulePI,
and clicks Finish.
When the process and business measures representations have been exported from WebSphere Business Modeler, the integration developer imports them into WebSphere Integration Developer and further specifies their implementation details. When the details of the business measures have been sufficiently defined in the WebSphere Business Monitor Toolkit, the resulting monitor model can be deployed to WebSphere Business Monitor to begin collecting the data used to calculate the business measures and to display the results on the dashboards.
Importing the monitored values
After the integration developer has implemented and deployed the monitor model, the dashboard administrator configures the dashboards for WebSphere Business Monitor to show the details that Barry specified. Barry and Charlotte can then see the values of the metrics and KPIs as the new satellite subscription process runs.
After he has monitored the satellite subscription process for a few weeks, Barry decides to import the monitored values that he specified. He wants to see what the actual Yes and No percentages were for the "Is order valid?" and "Is new subscriber?" decisions. He also wants to know the actual processing time and cost associated with invalid subscription requests.
First, Barry returns to WebSphere Business Modeler, copies his existing satellite subscription process, and renames it because he knows that the existing values will be overwritten when the new values are imported from WebSphere Business Monitor. Then, in the dashboards, he selects the Export Values view and exports his monitored values.
In WebSphere Business Modeler, Barry right-clicks the satellite subscription process in the Project Tree view and selects Import > Monitoring result (.xml). He selects the directory with the XML file to be imported, selects the results file (in this case, Satellite_Subscriptions_Monitored_Results.xml), and clicks Next.
When Barry selects Display Possible Updates as shown in Figure 8, he sees a table showing how many of the actual values contained in the monitoring result XML file can be linked back to a corresponding attribute in a WebSphere Business Modeler process. This information gives Barry an early indicator of how successful the import operation will be. Because he has not modified the satellite subscription process since it was exported for monitoring, he expects that all the monitored values returned in the XML file will match an existing process attribute. (See Downloads for a sample XML file.)
Figure 8. Importing results

Barry clicks Finish, and the values in the process model are updated with the actual results of running the process. He opens the satellite subscription process to take a look. Now he can create a new simulation profile based on more realistic data and continue to run simulations to improve the satellite subscription process.
Barry is pleased by how easy it was to add business measures to the process he modeled in WebSphere Business Modeler. He also likes the flexibility inherent in the business measure definitions and the efficiency with which monitored values can be requested and returned.
Charlotte is impressed with the information she could view, and the analysis she could perform using the WebSphere Business Monitor dashboards. She is also impressed with the business results. The advertising campaign was a success, and the employees were given their bonus for a job well done.
As Barry and Charlotte discovered, they can use WebSphere Business Modeler to express business measure requirements in everyday terms, and WebSphere Business Monitor to analyze and understand process performance at the business level. Together, WebSphere Business Modeler and WebSphere Business Monitor are powerful tools for tracking and improving the performance of any business.
Note: The information in this article is subject to IBM's Terms of Use.
| Description | Name | Size | Download method |
|---|---|---|---|
| Sample Modeler file for this article | ar-model1codesample1.zip | 180KB | HTTP |
| Satellite subscriptions results to import | ar-model1codesample2.zip | 7KB | HTTP |
Information about download methods
Learn
-
Get the RSS feed for this series. (Learn more about RSS.)
-
Get more information about how to accelerate process improvement and facilitate business innovation. See the latest installments in the entire
Business Process Management series.
- WebSphere Business Modeler: Access the library, success stories, news, trials and demos, and more.
-
Additional technical documentation about WebSphere Business Modeler, including a quickstart tutorial.
-
Download a free trial version of WebSphere Business Modeler now.
-
Learn more about the benefits of using WebSphere Business Monitor.
-
Discover how WebSphere Business Integration products, can integrate data, applications, processes, and people across and beyond the enterprise to leverage existing IT investments.
-
"What's New in IBM WebSphere Business Monitor 6.0.2?" (developerWorks, Nov 2006) provides a brief description of updates, changes, and new functions in IBM WebSphere Business Monitor 6.0.2.
-
Check out IBM WebSphere Business Monitor 6.0.2 InfoCenter for useful information covering all aspects of WebSphere Business Monitor 6.0.2.
- In the
Architecture area on developerWorks, get the resources you need
to advance your skills in the IT architecture arena.
-
Browse the technology bookstore for books on these and other technical topics.
- Stay current with
developerWorks technical events and webcasts.
Get products and technologies
-
Get started now! Download more IBM product evaluation versions and get your hands on application development tools and middleware products from DB2®, Lotus®, Rational®, Tivoli®, and WebSphere.
Discuss
- Participate in the discussion forum.
-
Check out developerWorks
blogs and get involved in the developerWorks community.

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.

