Contents


Business spaces for human-centric BPM, Part 2

Interacting with BPD processes and Human Services

Comments

Content series:

This content is part # of # in the series: Business spaces for human-centric BPM, Part 2

Stay tuned for additional content in this series.

This content is part of the series:Business spaces for human-centric BPM, Part 2

Stay tuned for additional content in this series.

Overview

Part 2 of this series focuses specifically on what you should consider when building business spaces used with business process definitions and Human services. Read Part 1 of this series to learn about Business Space and the Human Task Management widgets in general and in particular about the extent to which you can customize the user experience to specific user roles and scenarios.

Before working through the steps in this article, you should download the sample Order Handling process application provided with this article and import it into Process Center. This article takes you through the following aspects of using Business Space for business process definitions and explains the relevant modeling and configuration steps.

The sample process that is provided for download with this article is a simple Order Handling process, as shown in Figure 1. The only activity between the Start and the End step is a Human Service with a Coach for checking the order.

Figure 1. Sample Order Handling process
Sample Order                     Handling process
Sample Order Handling process

Working with processes and Human services using Business Space

When you access Business Space for the first time, you see the Getting Started page of the Welcome to Business Space space. The following section describe how you work with processes and Human Services.

Configure Business Space to use business process definition engine REST services

By default a profile in IBM Business Process Manager Advanced is configured so that Business Space uses the Federated REST services as process and task services. If you only interact with business process definition (BPD) instances and Human Services built with Process Designer, you can optionally use the business process definition engine REST services directly. This makes it easy to use your own saved searches from Process Portal in the Tasks and Processes list widgets. When using the Federated REST API, additional steps and considerations are necessary as explained in Part 3.

To change the REST endpoint, complete the following steps:

  1. Log on to the WebSphere administrative console.
  2. For a single server configuration, select Servers => WebSphere application servers and select your server.
  3. Click Business Space configuration in the Business Integration section, and then REST service endpoint registration. The list of endpoints contains process services and task services, as shown in Figure 2. For both types of services, select the Business process definition engine REST services.
    Figure 2. REST endpoint configuration
    REST endpoint                     configuration
    REST endpoint configuration
  4. Click Apply and then Save.

Create a space to work with processes and tasks

To work with processes and tasks in Business Space, you need to create a space to hold the Human Task Management widgets. Space templates are provided to help you create a space. For example, the Interact with Processes and Tasks template creates a space with two pages that contain the Human Task Management widgets that are configured for different interaction scenarios.

To create a space, complete the following steps:

  1. Log in to Business Space. If you do not have a bookmark to the Business Space portal, navigate to Process Portal or the Process Center Console and manually change the link to /BusinessSpace. For example, the URL might be http://localhost:9080/BusinessSpace, depending on your set-up.
  2. In the Business Space banner, select Actions => Create Space. The Create Space window opens as shown in Figure 3.
    Figure 3. Create a new space using a template
    reate a new space                     using a template
    reate a new space using a template
  3. Enter a name for the new space, and select the Interact with Processes and Tasks template. You can also choose a style for the space and an icon.
  4. Click Save.

You can now use the space you just created. The new space contains two pages: Initiate and Work with Tasks, and Check Status.

Initiate and Work with Tasks page

This page contains the following widgets:

  • The Task Definitions widget contains all the Human Services that you can start.
  • The Tasks widget shows all the tasks that are not yet closed and are assigned to you -- either already to you as user or to a participant group of which you are a member.
  • The Task Information widget shows the Coach forms during initiation and completion of a task.

Figure 4 shows the Initiate and Work with Tasks page.

Figure 4. Initiate and Work on Tasks page
Initiate and Work on                     Tasks page
Initiate and Work on Tasks page

In the provided sample (see the Downloadable resources section, the Task Definitions widget is empty because no Human Services are available yet. The Tasks widget shows some tasks from the Order Handling process that where started in Process Designer. The equivalent to the Run action in Process Portal is the Accept or Edit action in the widget.

  • Accept is available if the task is still assigned to the participant group.
  • Edit is available if the task is already assigned to you.

The Coaches are displayed in the Form tab of the Task Information widget.

Check Status page

This page, shown in Figure 5, shows all the processes. You can open them in the Process Information widget and see the corresponding tasks in the Tasks widget. The Process Information widget shows actions that can be performed on the process. These actions can be one of the following types:

  • Configured actions: These are defined for each widget when the widget is configured. The space template contains the configured action Show for illustration. The action triggers a widget event, which does nothing until you define a custom widget to handle it.
  • Modeled actions: These are ad hoc events that are modeled in Process Designer. For more information about ad hoc events, see Initiating process actions.

Because the sample BPD does not yet have any ad hoc events, there are no modeled actions.

Figure 5. Check Status page
Check Status                     page
Check Status page

Working with tasks

To work with a task in Business Space, you author your BPD in the same way as you are used to when running a task in Process Portal. In a nutshell, you complete the following steps:

  1. Add a lane and assign a participant group.
  2. Add an activity to the lane.
  3. Implement the activity as a Human Service.
  4. Build the Human Service and include Coaches, which are the forms that provide process-related data to users, as well as collect input from those users.

The Order Handling sample process includes a Check Order activity that is implemented as a Human Service with a single Coach. (See the Downloadable resources section.)

Starting processes

There are two approaches to enable users to start a process. The user initiates the process and the first task is automatically assigned to the user to provide the relevant business data. This is a task like any other task assigned to the user and is typically shown in his or her in-box.

Alternatively, the user initiates the forms to provide the relevant business data. Once he or she submits the forms, the process is started immediately with business data. This approach ensures that no process instances without business data exist. Essentially you define an invocation task that starts the process.

In Business Space, the Task Definitions widget provides a list of invocation task definitions. The user selects a task definition, provides the input and submits it to start the process. To provide a Human Service that realizes this task definition, you complete the tasks described in the following sections in Process Designer.

Create an Undercover Agent to start a process from a service

You use an Undercover Agent to start a process from within a Human Service. Complete the following steps:

  1. Create a General System service with a name of your choice. The input and output types of the service must match the input type of the Order Handling BPD. Establish a direct sequence flow between the Start and the End event, as shown in Figure 6.
    Figure 6. Order Handling General System Service
  2. Create an Undercover Agent (UCA) with a name of your choice. The UCA fires the event that starts the BPD. Select On Event as the schedule type, and the General System service that you created in step 1 as the attached service.
    Figure 7. Order Handling Undercover Agent
    Order Handling                     Undercover Agent
    Order Handling Undercover Agent
  3. In the Order Handling BPD add a Start Message Event step. On the Implementation tab, select the Undercover Agent from step 2 as the attached UCA. Ensure that Consume Message is checked and map the UCA output to the input variables of the BPD. Figure 8 shows the completed Implementation tab.
    Figure 8. Start Message Event step

Create a Human Service to realize the task definition

Now that you have set up the UCA, you can model the Human Service to collect the user input and start the process using the UCA.

  1. Create a Human Service. Give the Human Service a name, for example, Create Order. This name will be shown in the Task Definitions widget in Business Space,
  2. Expose the Human Service as a Startable Service and select a Participant Group that is allowed to start it.
  3. Add a Coach step to collect the process input, for example, customer information.
  4. Add an Invoke UCA step to start the process. As implementation, select the UCA created in the previous task as the attached UCA. Map the data collected using the Coach to the input of the UCA.
    Figure 9. Create Order Human Service
    Create Order human                     service
    Create Order human service

Start a process in Business Space

You can now log in to Business Space and see the exposed Human Service in the Task Definitions widget.

  1. In the Task Definitions widget, select the Create Order item and click Create. The Coach associated with the Human Service opens in the Task information widget.
    Figure 10. Task Definitions widget with exposed Human Service
    Task Definitions                     widget with exposed Human Service
  2. Enter the required data, and click Create. The Undercover Agent that starts a new process is triggered.
    Figure 11. Create Order Human Service
    Create Order human                     service
    Create Order human service

Initiating process actions

You often have a need for users to be able to perform actions on a process. For example, when a customer calls to cancel his order, a call-center agent needs to cancel that specific Order Handling process.

To enable users to cancel the sample Order Handling process with confirmation required, complete the tasks in the following sections.

Add an ad hoc event to the BPD

To model the process action as an ad hoc event that you add to the Order Handling process, open the BPD in Process Designer and complete the following steps:

  1. Add an additional lane to the BPD and place a Start Ad Hoc event and an End Event in the lane.
  2. Place a Confirmation activity between the two events. Implement it as a Human Service with a Coach. This allows the user to confirm the cancellation. Figure 12 shows the new lane in the BPD.
    Figure 12. Ad hoc event lane
    Ad hoc event                     lane
    Ad hoc event lane
  3. Select the Last User in Lane routing as shown in Figure 13, so that the task is automatically routed to the user that triggered the ad hoc event.
    Figure 13. Task routing
    Task                             routing
    Task routing

Authorize users

Users must be authorized to see and perform process actions in Business Space. This access is controlled globally for the ACTION_INJECT_TOKEN Process Portal function.

Default access for Process Portal functions is set in the 99Local.xml configuration file. By default, only members of the tw_admins group are allowed to inject tokens into processes. To enable other groups, you need to change the configuration by overwriting the action policy in the 100Custom.xml file.

For the sample Order handling process, you simply remove the restriction, thus making the function available to all users.

  1. Open the Custom100.xml file at: PROFILE_HOME/config/cells/CELL_NAME/nodes/NODE_NAME/servers/SERVER_NAME/process-center/config for a Process Center server or PROFILE_HOME/config/cells/CELL_NAME/nodes/NODE_NAME/servers/SERVER_NAME/process-server/config for a Process Server server.
  2. Insert the following entries to remove the restricted access.
    <server>
       <portal>
    	<default-action-policy>
    		<!-- allow to trigger ad hoc events -->
    		<action type="ACTION_INJECT_TOKEN" merge="replace">
    
    		</action>
    	</default-action-policy>
       </portal>
    </server>
  3. Restart the server to enable the changes. Now all users are allowed to see and perform the Cancel action.

Initiate a process action in Business Space

You can now log in to Business Space to see and cancel an Order Handling process by doing the following:

  1. Switch to the Check Status page.
  2. In the Processes widget, select an Order Handling process and click the Open action.

    Process details are shown in the Process Information widget. Notice that the Cancel action is included in the Actions list.

  3. Click the Cancel action, as shown in Figure 14, to initiate the cancellation. The confirmation tab is opened in the Task Information widget.
  4. Confirm the cancellation and submit it.
    Figure 14. Process Information widget shows the Cancel action
    Process Information                     widget shows the Cancel action
    Process Information widget shows the Cancel action

Using business data and filters in lists

When users work with lists they often need to see only a subset of tasks or processes and business data included in the list. In Process Portal, users can create saved searches that include search conditions as well as business data. Administrators can share saved searches making them available to all users.

In Business Space, the Processes and Tasks list widgets use saved searches to display processes and tasks associated with a BPD. By default, they use the All default saved search, which does not include any search condition or business data. To include conditions and business data, such as customer information, you can define your own saved searches, share them, and configure the widgets in Business Space to use them.

To include the customer's city information in the Tasks widget for the Order Handling process, you complete the tasks in the following sections.

Make business data available for searches

You first need to make the customer's city information available to searches. To do this, open the Order Handling BPD in Process Designer and complete the following steps:

  1. Make the corresponding process variable available as business data and give it a search alias.
    Figure 15. Process variable available in search
    Process variable                     available in search
    Process variable available in search
  2. Allow users to access the business data by exposing it in the process details.
    Figure 16. Expose business data
     Expose business                     data
    Expose business data

Create and share a saved search

As you will likely want to provide the same customized business space to many users, you need to share the saved searches. Only administrators can share saved searches in Process Portal. Complete the following steps to create and share a saved search:

  1. Log in to Process Portal using a user that is assigned to the tw_portal_admin Java™ EE role of the IBM_BPM_Portal application; only these users are allowed to share a saved search to all users.
  2. Click Show Search then More to show the available columns. The search conditions that you specify here are applied as filters in Business Space, which cannot be changed. However, you can specify additional filters using the column headers in the list widgets.
  3. Select the columns of interest and add them to the Columns To Display. The business data field you created previously is also available in the Candidate Columns list and should be added.

    Note: Although you can define default sorting criteria and number of items per page for the saved search, these are not used in Business Space. However, the number of items is automatically fitted to the view by default.

  4. Check Organize by Task. This property determines whether the saved search is available in the Tasks widget or in the Processes widget.

The completed Search dialog is shown in Figure 17.

Figure 17. Create Saved Search
Create Saved                     Search
Create Saved Search
  1. Click Search to run the search and check the result. Note that the customer city field is only filled in for instances that were started after you made the business data available.
  2. Click Save Search to save the search. The name of the search is used by Business Space.
    Figure 18. Save Search
    Save                     Search
    Save Search
  3. Click Share this Search to make the search available to all users.
    Figure 19. Share Search
    Share Search

The saved search, including the business data, is available to all users.

To use the saved search in Business Space, you need to change the Tasks widget configuration. To do this, log in to Business Space and complete the following steps.

  1. Switch to the Initiate and Work with Tasks page and click Edit Page.
  2. From the widget menu of the Tasks widget, click Edit Settings.
  3. In the Tasks settings dialog, select Select task lists under Select task lists to display. The list contains the saved search that you created and shared in Process Portal.
  4. Select your tasks list, and click Set as default to use it as the default list for this widget.
  5. Clear the All list, and click OK.
    Figure 20. Select Tasks List
    Select Tasks                     List
    Select Tasks List
  6. Select the properties that you want to display in the widget and then click OK to save the configuration.
    Figure 21. Select Task List properties
    Select Task                     List properties
    Select Task List properties
  7. Click Finish Editing to return viewing the page.

Using business data in lists in Business Space

The Check Orders saved search is now used to display tasks in the Tasks widget including the customer city information, as shown in Figure 22.

Figure 22. Tasks widget using Saved Search with business data
Tasks widget using                     Saved Search with business data
Tasks widget using Saved Search with business data

You can apply filters for and sort by the customer city as you can do for other columns using the column header. You can even combine column filters and pin these filter criteria for reuse.

Conclusion

In this article, you extended a business process definition so that users can start processes and perform actions on them in Business Space and you created a saved search so that users can see business data in task and process lists. You configured Business Space and the widgets and created a space from a template to work with your processes and tasks. You can now explore the possibilities of composing, wiring and configuring widgets and pages to adapt spaces to specific user roles and scenarios.


Downloadable resources


Related topics


Comments

Sign in or register to add and subscribe to comments.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=WebSphere
ArticleID=681973
ArticleTitle=Business spaces for human-centric BPM, Part 2: Interacting with BPD processes and Human Services
publish-date=06292011