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.
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.
- Log onto your server.
- Log on to the administrative console; for example, https://localhost:9043/ibm/console .
- Expand Users and Groups and click Manage Groups.
- On the Manage Groups page, click Create.
- Specify a group name of
Associate, and provide an optional description, as shown in Figure 1.
Figure 1. Specify group name
- Click Create at the bottom of the page.
- Click Close.
- Select Manage Users under Users and Groups.
- Click Create, and specify
Tomfor User ID.
- Click Group Membership.
- On the Group Membership page, accept the default values and click Search.
- Select Associate under Matching groups and
click Add, as shown in Figure 2.
Figure 2. Specify group membership
- The Associate group will be moved under Current groups. Click Close.
- On the
Create a Userpage, specify the following values to finish creating the user:
- First Name:
- Last Name:
- Confirm Password:
- First Name:
- Click Create.
- Select Administrative User Roles under Users and Groups, and click Add.
- Specify the following information, as shown in Figure 3:
- For Role(s), select Administrator and Deployer (use the Ctrl key for multiple selections).
Tomfor 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
Figure 3. Mapping user roles
- 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
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.
- From your Windows® explorer, navigate to C:\Labfiles (or wherever you saved the downloadable sample) and open configuration_security.xml with a text editor.
- Add the
memberMappingattribute after the
securedattribute 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
- 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.
- Start WebSphere Business Modeler with a new workspace.
- Specify a name for the workspace, such as
- Close the Getting Started tab.
- From the icons menu at the top, click the Apply 4-Pane Layout icon ().
- From main menu, select Modeling => Mode => WebSphere Process Server to set the mode to WebSphere Process Server.
- Create a new project as follows:
- Right-click in the project tree and select New => Business Modeling Project.
DoSomethingfor New project name.
- Make sure that Create process is checked, and
RequestWorkfor Name, then click Finish as shown in Figure 6.
Figure 6. Create new project
- Create a new business item as follows:
- In the project tree, right-click Business Items.
- Under DoSomething, select New => Business Item.
- Specify the name of the business item as
WorkRequest, as shown in Figure 7.
- Click Finish.
- Click Add under Business item attributes.
- For Name, replace Attribute with Work Item Number.
- Change the type from Text to Integer. You've now finished adding the first field, Work Item Number, of type Integer.
- Complete the same steps to add the attributes shown in Figure 8.
Figure 8. Add business item attributes to WorkRequest
- Save and close the WorkRequest business item.
- Create a Resource catalog as follows:
- In the project tree, expand DoSomething, right-click Resources and select New => Resource Catalog.
- For Name of new resource catalog, specify
WarehouseCatalogand click Finish.
- Create a role called
Associateand assign a color to it as follows:
- Right-click WarehouseCatalog and select New => Role.
- For Name of the role, enter
- 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
- Close the Associate window.
- Open the RequestWork process by expanding Processes and double-clicking RequestWork.
- Add three local human tasks as follows:
- In the Palette, click Human Task and then click the empty canvas.
- Type over the default name Human Task and replace it
Create work request, as shown in Figure 10.
Figure 10. Add a human task
- In the same manner, add two more human tasks: Prepare environment and Review quality.
- 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
- Now update the business item as follows:
- Click the connection and select the Attributes tab on the bottom pane.
- On the General tab, scroll down and select Browse next to Associated data.
- In the Type Selection dialog, click Complex type.
- 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
- 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. Diagram with three tasks and connections
- Assign a primary owner to the Create work request human task
- In the process editor, highlight Create work request and then select Attributes in the bottom pane.
- Select the Primary Owner tab and then click Role.
- Click Browse next to Role and then select DoSomething => Resources => WarehouseCatalog => Associate from the Select Role Requirement dialog.
- Click OK to return to the Attributes pane.
- 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
- Repeat the previous step for the Review quality human task and assign Associate as the primary owner.
- 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:
- In the palette, click Annotation and then click below the Prepare environment human task to place the annotation under it.
This is the placeholder human task for the service that will be implemented in a subsequent exercise.
- Add a connection from the annotation to the Prepare
environment human task, as shown in Figure 15.
Figure 15. Add annotation
- From the icons menu of the RequestWork process window, click the
Color by icon and select Role, as shown in Figure
Figure 16. Select Color by Role
- Click the Color by icon again and select Show Color
Legend. Your process diagram should look similar to Figure 17.
Figure 17. Process diagram
- Save your changes and close the process editor.
- 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:
- In the WebSphere Business Modeler Project Tree, right-click DoSomething select File => Export.
- In the Export window, select WebSphere people directory data, and click Next.
- 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.
- Make sure that the project is DoSomething.
- For the export file name, specify
- Click Finish. The rmf extension is automatically appended to the exported file.
- Update the role file with the new uniqueName as follows:
- 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
- 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.
- Update the value of the
uniqueNameattribute of the
Associaterole 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>
- Save and close the file.
- 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
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.
- Add the Servers view to your modeling workspace as follows:
- Select Windows => Show View => Other.
- 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.
- In the Process Execution Environment view, right-click Test
Servers and select Add Server, as shown in Figure 18.
Figure 18. Select Add Server
- In the Add Server dialog, provide the following values, as shown in
- 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
- Click OK. A new server will be added and listed in the servers view.
- Run the process on the server and check the
Errorsview, 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
- In the Project Tree, expand Processes, right-click
RequestWork, and select Verify Process Design, as
shown in Figure 21.
Figure 21. Verify process design
- Click OK on the Show Future Errors dialog. The process deployment will take a few minutes.
- When complete, click OK in the Switch to Process Testing Environment window to open a process testing window.
- Log in to Business Space as Tom, as shown in Figure 22.
Figure 22. Log in to Business Space
- Create a process instance as follows:
- Select Work with Processes and then select the Start Process Instance widget.
- In the Start Process Instance widget, select
RequestWork then select Actions =>
Create, as shown in Figure 23.
Figure 23. Create process instance
A Request Work window opens in the Enter Data into Forms widget.
- Provide values as shown in Figure 24.
Figure 24. Enter data into forms
- Click Submit at the top of the widget.
- Scroll down to the
Trace Process Executionwidget 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
- 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
- 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
- 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.
- 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.
- 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
- 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
- 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.
- Scroll down to the Trace Process Execution widget and select RequestWork => Prepare environment. Note that the status is now Prepared.
- 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
- Claim the Review quality task by scrolling to the Claim Available Tasks widget, selecting Review quality, selecting Actions => Edit.
- 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.
- 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.
- 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
- Log out and close the Business Space window.
- 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
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.
- In WebSphere Business Modeler, open the RequestWork process.
- Add the Business Measures view as follows:
- From the menu, select Window => Show View => Other.
- From Business Modeler Views, select Business Measures. You should see the view added in the bottom pane.
- Click the white background of the RequestWork diagram to display the business measures for this process in the Business Measures view.
- 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
- Click the Business Performance Indicators tab, as shown in
Figure 34, and expand
Instance Metricsand Aggregate Metrics. Notice that these metrics have been automatically created for you based on your selections on the
Figure 34. Business performance indicators
- 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.
- 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.
- 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
- Click the first aggregate metric in the list.
- 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
- 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.
- Test the process on the server.
- Check the Errors view to ensure that you have no errors.
- In the Project Tree, expand Processes, right-click RequestWork, and select Verify Process Design.
- Click OK in the Show Future Errors dialog.
- 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.
- When complete, click OK in the Switch to Process Testing Environment window to open a process testing window.
- Log in as Tom.
- 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
- From the Processes tab, create and complete several process instances.
- Click the Business Measures tab. You should see the monitoring widgets.
- 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
- 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
- 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
- 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
- You can drill down to individual days by double-clicking a specific
month, as shown in Figure 42.
Figure 42. 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
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.
|Sample configuration file||configuration_security.zip||1KB|
- Interactive process design: An IBM Education Assistant presentation.
- Interactive process design videos: Five IBM Education Assistant videos on interactive process design. To find the videos, look for click Interactive process design under the Model driven development section.
- Developing deployable business processes using WebSphere Business Modeler: Check out this topic in the WebSphere Business Process Management V7 Information Center.
- WebSphere Business Modeler Advanced Information Center
- WebSphere Business Monitor Information Center
- developerWorks BPM zone: Get the latest technical resources on IBM BPM solutions, including downloads, demos, articles, tutorials, events, webcasts, and more.
- IBM Business Process Management: Get product information, including features and benefits.