Smart interactive process design for modeling and monitoring

Interactively design and test business processes and business measures

In this article, you'll learn how business analysts can use interactive process design in WebSphere Business Modeler to create and test a business process and business measures without relying on IT to develop and test the application. This content is part of the IBM Business Process Management Journal.

Share:

Scott Walden (sw@us.ibm.com), Software Engineer, IBM

Scott Walden photoScott Walden has been with IBM since 1981, working in Global Services and Software Group. He is currently a software engineer in Software Group in Application Integration Middleware Early Programs and is on the technical team supporting beta programs for IBM Business Process Management products. He has worked on many beta and early programs since 2003, and has extensive experience with the IBM BPM products.



19 January 2011

Introduction

The objective of this article is to show you how to create a process design in WebSphere Business Modeler and test the process design on a test server. For this article, you can use the integrated test server that is provided with WebSphere Integration Developer, although you could also use a standalone server for testing purposes.

First you'll create a process design in WebSphere Business Modeler, initially with three human tasks, and test it on the server. Once the process design is complete, you'll add monitoring elements and test these on the server. Next you'll select built-in metrics for process and activity durations, and test these. Then you'll add other monitoring elements such as instance metrics, aggregate metrics, dimensions and KPI’s.


Prerequisites

You'll need the following software to complete this article.

  • WebSphere Business Modeler Advanced Version 7.x
  • WebSphere Integration Developer Version 7.x with integrated test server (WebSphere Process Server augmented with WebSphere Business Monitor server)

You also need to download the sample provided with this article and unzip it to a folder, such as C:\Labfiles.


Interactive process design

Interactive process design enables business users to quickly deploy and test their business processes without enlisting the services of the IT group.

For a human-centric business process, the business user is can step through the tasks, providing the input using Lotus® Forms. While completing the tasks, the user can review the data values for the inputs and outputs.

Numerous components are involved in interactive process design. WebSphere Business Modeler is used to create the business model and initiate the interaction. WebSphere Process Server is where the business process runs. If business monitoring is used, WebSphere Business Monitor is used to run the monitoring model.

The next big piece of the solution is WebSphere Business Space, which is used to manage the user interactions. Business Space has widgets for the interactive test environment and business monitoring. These widgets are supplied with the respective products.

WebSphere Service Registry and Repository is not required until you're ready to invoke external services from your business process. WebSphere Service Registry and Repository provides the facilities for doing dynamic endpoint lookup to locate the service implementation based on the interface name. If the endpoint information is known, then the service can be called directly from the business model. The service must be running and accessible through the network.

Forms are in integral part of a human-centric business process. They provide the mechanism for getting information to and from the application. Lotus Forms Viewer with the interactive process design feature is used for this. If you want to create more elaborate forms, you’ll need to use the Lotus Forms Designer.

To establish communication between WebSphere Business Modeler and the test server, you must create a server configuration file. Normally your IT department would create the test server and supply this file to you. For this article, you'll use the integrated test server in WebSphere Integration Developer and create the configuration file yourself. The configuration file is a list of the components to be used, such as Business Space, Process Server, Monitor Server and the role mapping file.

Testing on the server invokes the interactive test environment in the Business Space dashboard. You can step through the business process by filling out and submitting forms, watching the execution trace and inspecting the data values for each step.


Create users and groups in the server

In this section, you'll use the administrative console to add users and groups to the server. The groups are directly related to the roles that you create in the process design. An Associate role is used in the process design so you need the Associate group in the user registry.

  1. Log onto your server.
  2. Log on to the administrative console; for example, https://localhost:9043/ibm/console .
  3. Expand Users and Groups and click Manage Groups.
  4. On the Manage Groups page, click Create.
  5. Specify a group name of Associate, and provide an optional description, as shown in Figure 1.
    Figure 1. Specify group name
    Specify group name
  6. Click Create at the bottom of the page.
  7. Click Close.
  8. Select Manage Users under Users and Groups.
  9. Click Create, and specify Tom for User ID.
  10. Click Group Membership.
  11. On the Group Membership page, accept the default values and click Search.
  12. Select Associate under Matching groups and click Add, as shown in Figure 2.
    Figure 2. Specify group membership
    Specify group membership
  13. The Associate group will be moved under Current groups. Click Close.
  14. On the Create a User page, specify the following values to finish creating the user:
    • First Name: Tom
    • Last Name: Thumb
    • Password: <password>
    • Confirm Password: <password>
  15. Click Create.
  16. Select Administrative User Roles under Users and Groups, and click Add.
  17. Specify the following information, as shown in Figure 3:
    • For Role(s), select Administrator and Deployer (use the Ctrl key for multiple selections).
    • Enter Tom for the search string, then click Search.
    • Click Tom in the Available list and click the right arrow to move Tom to the Mapped to role list.
      Figure 3. Mapping user roles
      Mapping user roles
  18. Click OK and then Save. You should see Tom listed with roles of Administrator and Deployer, as shown in Figure 4.
    Figure 4. User added with administrative roles
    User added with administrative roles

Edit the server configuration file

The server configuration file is used to identify the test server to WebSphere Business Modeler. You need to edit the server configuration file to set the member mapping file name. You'll create the member mapping file later in this article. You also need to set the host name and port numbers for the Process Server, Monitor Server and Business Space in the server configuration file.

  1. From your Windows® explorer, navigate to C:\Labfiles (or wherever you saved the downloadable sample) and open configuration_security.xml with a text editor.
  2. Add the memberMapping attribute after the secured attribute as shown in Figure 5. Also ensure that the host name and port numbers match those of your server.
    Figure 5. Modify server configuration file
    Modify server configuration file
  3. Save and close the file.

Open the workspace and build the process design

In this section, you'll create the design for a simple process based on human tasks.

  1. Start WebSphere Business Modeler with a new workspace.
  2. Specify a name for the workspace, such as c:\workspaces\ipd.
  3. Close the Getting Started tab.
  4. From the icons menu at the top, click the Apply 4-Pane Layout icon ().
  5. From main menu, select Modeling => Mode => WebSphere Process Server to set the mode to WebSphere Process Server.
  6. Create a new project as follows:
    1. Right-click in the project tree and select New => Business Modeling Project.
    2. Specify DoSomething for New project name.
    3. Make sure that Create process is checked, and enter RequestWork for Name, then click Finish as shown in Figure 6.
      Figure 6. Create new project
      Create new project
  7. Create a new business item as follows:
    1. In the project tree, right-click Business Items.
    2. Under DoSomething, select New => Business Item.
    3. Specify the name of the business item as WorkRequest, as shown in Figure 7. Specify business item name
    4. Click Finish.
  8. Click Add under Business item attributes.
  9. For Name, replace Attribute with Work Item Number.
  10. Change the type from Text to Integer. You've now finished adding the first field, Work Item Number, of type Integer.
  11. Complete the same steps to add the attributes shown in Figure 8.
    Figure 8. Add business item attributes to WorkRequest
    Add business item attributes to WorkRequest
  12. Save and close the WorkRequest business item.
  13. Create a Resource catalog as follows:
    1. In the project tree, expand DoSomething, right-click Resources and select New => Resource Catalog.
    2. For Name of new resource catalog, specify WarehouseCatalog and click Finish.
  14. Create a role called Associate and assign a color to it as follows:
    1. Right-click WarehouseCatalog and select New => Role.
    2. For Name of the role, enter Associate.
    3. Click the grey box next to Color and select the color you want, then click OK and Finish. You'll see the new Associate role in the tree, as shown in Figure 9.
      Figure 9. Associate role in project tree
      Associate role in project tree
  15. Close the Associate window.
  16. Open the RequestWork process by expanding Processes and double-clicking RequestWork.
  17. Add three local human tasks as follows:
    1. In the Palette, click Human Task and then click the empty canvas.
    2. Type over the default name Human Task and replace it with Create work request, as shown in Figure 10.
      Figure 10. Add a human task
      Add a human task
  18. In the same manner, add two more human tasks: Prepare environment and Review quality.
  19. Add a connection from the process input to the input of Create work request by clicking the grey border line of the canvas, and moving the pointer to the Create work request task, and clicking again, as shown in Figure 11. This creates a connection with the default business item.
    Figure 11. Add a connection to the process input
    Add a connection to the process input
  20. Now update the business item as follows:
    1. Click the connection and select the Attributes tab on the bottom pane.
    2. On the General tab, scroll down and select Browse next to Associated data.
    3. In the Type Selection dialog, click Complex type.
    4. Select DoSomething => Business items => WorkRequest, and click OK. Your process diagram should now have the connection shown in Figure 12.
      Figure 12. WorkRequest business item on the connection
      WorkRequest business item on the connection
  21. Use the same process to add the following connections:
    • A connection from the Create work request human task to the Prepare environment human task, and assign the WorkRequest business item as Associated data.
    • A connection from the Prepare environment human task to the Review quality human task and assign the WorkRequest business item as Associated data.
    • A connection from the Review quality human task to the end of the process and assign the WorkRequest business item as Associated data.

      Note: You may find it helpful to right-click the diagram, and select the Compact Diagram menu option to move the right border close to the nearest human task.

    Figure 13 shows the diagram with all three tasks and their connections.
    Figure 13. Diagram with three tasks and connections
    Diagram with three tasks and connections
  22. Assign a primary owner to the Create work request human task as follows:
    1. In the process editor, highlight Create work request and then select Attributes in the bottom pane.
    2. Select the Primary Owner tab and then click Role.
    3. Click Browse next to Role and then select DoSomething => Resources => WarehouseCatalog => Associate from the Select Role Requirement dialog.
    4. Click OK to return to the Attributes pane.
    5. Make sure that Members by role name is selected for Name and Associate is the Attribute value in the table, as shown in Figure 14.
      Figure 14. Primary owner attributes
      Primary owner attributes
  23. Repeat the previous step for the Review quality human task and assign Associate as the primary owner.
  24. For the purpose of this article, let's assume that the Prepare environment task will eventually be implemented by a service but for now it will be simulated as a human task. Leave the primary owner information as the default. This means the owner at runtime will be everybody, which means that Tom or any other user can claim the task. Add an annotation to the task to indicate that this is a placeholder human task to be implemented later by doing the following:
    1. In the palette, click Annotation and then click below the Prepare environment human task to place the annotation under it.
    2. Type This is the placeholder human task for the service that will be implemented in a subsequent exercise.
    3. Add a connection from the annotation to the Prepare environment human task, as shown in Figure 15.
      Figure 15. Add annotation
      Add annotation
  25. From the icons menu of the RequestWork process window, click the Color by icon and select Role, as shown in Figure 16.
    Figure 16. Select Color by Role
    Select Color by Role
  26. Click the Color by icon again and select Show Color Legend. Your process diagram should look similar to Figure 17.
    Figure 17. Process diagram
    Process diagram
  27. Save your changes and close the process editor.
  28. Finally, you need to export the user role information into an rmf file. The rmf file is referenced by the server configuration file. To create deployable business processes using WebSphere Business Modeler, the primary owner for a human task must be specified using a role. Before the business analyst assigns roles to human tasks, you need to ensure that the roles correspond to groups in your people directory. When you deploy the business process application, WebSphere Process Server requires a role mapping file to map roles to these groups in the people directory. Export the role information as follows:
    1. In the WebSphere Business Modeler Project Tree, right-click DoSomething select File => Export.
    2. In the Export window, select WebSphere people directory data, and click Next.
    3. For the target directory, click Browse and select C:\Labfiles (or wherever you saved the downloadable sample. You should verify that this folder contains configuration_security.xml.
    4. Make sure that the project is DoSomething.
    5. For the export file name, specify DoSomething_Users_Roles.
    6. Click Finish. The rmf extension is automatically appended to the exported file.
  29. Update the role file with the new uniqueName as follows:
    1. Earlier you created the users and groups on the server. You created user Tom in group Associate. The IT group would normally do this for you and give you the unique name of the group in the people directory; in this case cn=Associate,o=defaultWIMFileBasedRealm.
    2. In your file explorer, navigate to the directory where you exported the DoSomething_Users_Roles.rmf file (for example, C:\Labfiles) and open the file with a text editor.
    3. Update the value of the uniqueName attribute of the Associate role as follows:
      <?xml version="1.0" encoding="UTF-8"?>
      <logicalmapping:LocationEntityRoot mlns:logicalMapping=
      	"http:///www.ibm.com/logicalMapping"
      peopleDirectory="bpe/staff/samplevmmconfiguration">
      	<role name="Resources/WarehouseCatalog/Associate"
      uniqueName="cn=Associate,o=defaultWIMFileBasedRealm" 
      	uid="BLM-$a0a22ef67c9b099d208719dbb67621ba"
      description="" groupName="Associate"/>
      </logicalMapping:LogicalEntityRoot>
    4. Save and close the file.

Test the process design

In this section, you'll test the process design on the test server. In Business Space, you'll step through the flow of the process and complete the human tasks.

  1. Add the Servers view to your modeling workspace as follows:
    1. Select Windows => Show View => Other.
    2. In the Show View window, select Business Modeler Views => Process Execution Environment, and click OK. The Process Execution Environment view will be added to the bottom pane.
  2. In the Process Execution Environment view, right-click Test Servers and select Add Server, as shown in Figure 18.
    Figure 18. Select Add Server
    Select Add Server
  3. In the Add Server dialog, provide the following values, as shown in Figure 20:
    • Configuration file: Browse and select the configuration_security.xml file
    • Account ID: Tom (the user you created earlier)
    • Password: <password>
    • Optionally, check Save the password, so that you don't have to enter it every time.
    Figure 19. Specify server configuration details
    Specify server configuration details
  4. Click OK. A new server will be added and listed in the servers view.
  5. Run the process on the server and check the Errors view, as shown in Figure 20. You should have only one warning and no errors. The warning message indicates that there is not a role assigned to the task Prepare Environment.
    Figure 20. Verify that there are no errors
    Verify that there are no errors
  6. In the Project Tree, expand Processes, right-click RequestWork, and select Verify Process Design, as shown in Figure 21.
    Figure 21. Verify process design
    Verify process design
  7. Click OK on the Show Future Errors dialog. The process deployment will take a few minutes.
  8. When complete, click OK in the Switch to Process Testing Environment window to open a process testing window.
  9. Log in to Business Space as Tom, as shown in Figure 22.
    Figure 22. Log in to Business Space
    Log in to Business Space
  10. Create a process instance as follows:
    1. Select Work with Processes and then select the Start Process Instance widget.
    2. In the Start Process Instance widget, select RequestWork then select Actions => Create, as shown in Figure 23.
      Figure 23. Create process instance
      Create process instance
      A Request Work window opens in the Enter Data into Forms widget.
    3. Provide values as shown in Figure 24.
      Figure 24. Enter data into forms
      Enter data into forms
    4. Click Submit at the top of the widget.
  11. Scroll down to the Trace Process Execution widget and expand RequestWork => RequestWork Input Criterion to verify the details under it. The right pane shows the data input to the process, as shown in Figure 25.
    Figure 25. Trace process execution widget
    Trace process execution widget
  12. In the diagram in the same widget, shown in Figure 26, note the pop-up next to Create work request saying that the task is waiting. If the diagram is not displayed as you like, you can click to adjust the zoom level, or you can hover over the canvas until you see the hand cursor, then drag the diagram to reposition it in the widget.
    Figure 26. Trace process diagram
    Trace process diagram
  13. Claim the Create work request task by scrolling up to the Claim Available Tasks widget. You should see a new Create work request task. Select this task and then select Actions => Edit, as shown in Figure 27.
    Figure 27. Claim available tasks
    Claim available tasks
  14. Scroll up to the Enter Data into Forms widget to edit the output form. Enter the same values as before, but set the status to Created to show that the work for the task has been completed, and click Submit.
  15. Scroll down to the Trace Process Execution widget and expand select RequestWork => Create work request. The right pane shows the output for the task and you can see that the status is now Created.
  16. Scroll up in the Process Execution widget. As you can see in Figure 28, the Prepare environment human task is now waiting.
    Figure 28. Prepare environment task waiting
    Prepare environment task waiting
  17. To claim the Prepare environment task, scroll up to the Claim Available Tasks widget, select Prepare environment and then select Actions => Accept, as shown in Figure 29.
    Figure 29. Accept the Prepare environment task
    Accept the Prepare environment task
  18. Scroll up to the Enter data into Forms widget to edit the output form. Enter the same values as before, but set the status to Prepared to show that the work for the task has been completed, and click Submit.
  19. Scroll down to the Trace Process Execution widget and select RequestWork => Prepare environment. Note that the status is now Prepared.
  20. Scroll up in the Trace Process Execution widget. As you can see in Figure 30, the pop-up now shows that the Review quality human task is waiting to be completed.
    Figure 30. Review quality task waiting
    Review quality task waiting
  21. Claim the Review quality task by scrolling to the Claim Available Tasks widget, selecting Review quality, selecting Actions => Edit.
  22. Scroll up to the Enter data into Forms widget to edit the output form. Enter the same values as before, but set the status to Reviewed to show that the work for the task has been completed, then click Submit.
  23. Scroll down to the Trace Process Execution widget and select RequestWork => RequestWork Output Criterion. Note that the output for the process shows that the status is now Reviewed.
  24. Scroll up in the Trace Process Execution widget. As you can see in Figure 31, all three tasks have been completed.
    Figure 31. Process completion
  25. Log out and close the Business Space window.
  26. To remove the process from the server, from the Process Execution Environment view right-click the server, then select Delete Processes from Server, as shown in Figure 32.
    Figure 32. Delete processes from the server
    Delete processes from the server

Add processing time metrics for monitoring

In this section, you'll add monitoring metrics to the process design. Initially, you'll only add metrics to track the processing times for the process and the human tasks. Later, you'll add other metrics and key performance indicators (KPIs) for monitoring purposes.

  1. In WebSphere Business Modeler, open the RequestWork process.
  2. Add the Business Measures view as follows:
    1. From the menu, select Window => Show View => Other.
    2. From Business Modeler Views, select Business Measures. You should see the view added in the bottom pane.
  3. Click the white background of the RequestWork diagram to display the business measures for this process in the Business Measures view.
  4. In the Business Measures view, click the Monitored Values tab, then select the processing times for each of the listed elements, as shown in Figure 33.
    Figure 33. Business measures monitored values
    Business measures monitored values
  5. Click the Business Performance Indicators tab, as shown in Figure 34, and expand Instance Metrics and Aggregate Metrics. Notice that these metrics have been automatically created for you based on your selections on the Monitored Values tab.
    Figure 34. Business performance indicators
    Business performance indicators
  6. There are instance metrics for the processing times of the process and human tasks. There are also aggregate metrics based on these instance metrics to show the average processing times. An aggregate metric is typically based on a numeric instance metric and it applies a function to it. The functions can be average, count, minimum, maximum, sum, and standard deviation. The instance metrics can be viewed in the instance widget in business space. The aggregate metrics can be used with the Dimensions widget in Business Space. These metrics are ready to be deployed to the server and monitored using Business Space.
  7. To review the definitions of these metrics, double-click any one of them in the list. The metric editor opens. You can click any of the metrics in the navigation tree to see the details for it. Click the first instance metric.
  8. As shown in Figure 35, you can see that the instance metric is based on the elapsed duration built-in template, and the process element is also defined here.
    Figure 35. Instance metric details
    Instance metric details
  9. Click the first aggregate metric in the list.
  10. As you can see in Figure 36, the average function is selected and it applies to the specified instance metric.
    Figure 36. Aggregate metric details
    Aggregate metric details
  11. Close the business measures editor and save your changes.

Test the process design and check the monitored processing times

In this section, you'll test the process design on the server. You should see a new tab in the dashboard that displays monitor widgets where you can see the monitored processing times.

  1. Test the process on the server.
  2. Check the Errors view to ensure that you have no errors.
  3. In the Project Tree, expand Processes, right-click RequestWork, and select Verify Process Design.
  4. Click OK in the Show Future Errors dialog.
  5. The process deployment will take a few minutes. You may notice that it takes a little longer this time because the monitor model is also being deployed.
  6. When complete, click OK in the Switch to Process Testing Environment window to open a process testing window.
  7. Log in as Tom.
  8. Notice that there is now an additional tab in the dashboard for monitoring widgets, as shown in Figure 37.
    Figure 37. Business measures tab in the dashboard
    Business measures tab in the dashboard
  9. From the Processes tab, create and complete several process instances.
  10. Click the Business Measures tab. You should see the monitoring widgets.
  11. In the Instance Metrics widget, you can see the processing times for the overall process and the individual human tasks in the process, as shown in Figure 38.
    Figure 38. Instance metrics widget
    Instance metrics widget
  12. In the Dimensions widget, you can see the process instance count by creation time. You will need to resize the widget, so click the arrow in the upper right corner to open the menu, then click Resize and pick a size, such as 400. You should see a graph and table similar to Figure 39:
    Figure 39. Dimensions widget
    Dimensions widget
  13. You can drill down on the creation time by double-clicking All CreationTime in the column header to see the instance count by year, as shown in Figure 40.
    Figure 40. Drill down on creation time
    Drill down on creation time
  14. You can continue to drill down by double-clicking a specific year in the column header to see the count by year, as shown in Figure 41.
    Figure 41. Drill down on year
    Drill down on year
  15. You can drill down to individual days by double-clicking a specific month, as shown in Figure 42.
    Figure 42. Drill down on month
    Drill down on month

In the Business Measures editor, you can easily add other metrics, measures, dimensions and KPIs to the Business Measure model to monitor other information. For example you could create an instance metric to track the numeric field Quality Rating in the business object. You could then view this metric in the Instances widget in the dashboard. You could create a KPI which would be based on averaging the Quality Rating metric, and then you could see this KPI with current average value, target values and range values in the dashboard, as shown in Figure 43.

Figure 43. KPI widget
KPI widget

Summary

In this article, you developed and tested a process design with three human tasks. You also added built-in monitoring templates to monitor processing times and verified them in the monitor dashboard.


Download

DescriptionNameSize
Sample configuration fileconfiguration_security.zip1KB

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 WebSphere on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=WebSphere
ArticleID=617824
ArticleTitle=Smart interactive process design for modeling and monitoring
publish-date=01192011