Scenario: Human workflow management

Most business processes involve people in some way. This scenario provides a very high-level view of the concepts and steps for a process in which people play a significant or dominant role. See the documentation under Developing integration applications > Using people interactions for detailed information about the topics introduced here.

A process is composed of tasks. A human task is, quite simply, a unit of work that involves human intervention. Human tasks can be deployed only to Process Server (or IBM Business Monitor for testing) and so this scenario does not apply to WebSphere Enterprise Service Bus.


Human task types

In general, there are three types of human tasks:

Along with the human tasks, you sometimes need administrative tasks to perform actions such as suspending or terminating a human activity that is taking too long to complete.

Human tasks can be stand-alone or inline. Stand-alone human tasks have no interactions with a business process. Inline human tasks are implemented inside a BPEL process. Administrative tasks are always inline. Collaborative tasks are always stand-alone. You can choose whether you want other types of tasks to be inline or stand-alone, although you are likely to use inline tasks most often. See the topic "Inline and stand-alone tasks" for more information about these two types.

In the assembly editor, human tasks are exposed as SCA components with a human task implementation and a WSDL port type as an interface. A participating task offers an interface to another SCA component. An originating task has a reference that is wired to an SCA component such as a business state machine or a business process. A collaborative task has no interface or reference.


Task definition

A task definition is a representation of a human task that includes the following information:


Security

Administrative security is a requirement for workflows that include human tasks. How to turn administrative security on and off in the Process Server administrative console and in IBM Integration Designer is covered fully in the documentation about managing security.


Create a new process with human tasks

You can involve people in a process in a number of ways, depending on what you need to accomplish.

  1. Create a business process. The process handles the sequence of actions, such as receiving input data and sending it to people who need to take action. All the data that is needed to run the business process with inline tasks is located within the component.

  2. Add human tasks. Drag a human task implementation onto the assembly editor canvas. The component is created and displayed.

  3. From the component with a human task implementation, open the human task editor to assign the task and define the functions with the associated service.
  4. Define roles. Configure roles to specify the set of permissions that you want to grant to members of that role.

  5. Assign people. Assign users or groups of users to the roles that you defined.
  6. Define administration. Use administrative tasks to give certain people the rights to perform administrative actions such as suspend, terminate, restart, force-retry, and force-complete.
  7. Define authorization. Select a BPEL receive or pick activity and define who is authorized to start this activity.
  8. Call a human task from a service. Drag an invoke on the assembly editor canvas. Create a human task component. Connect the invoke with the human task component interface.
  9. Define duration and escalation settings to specify how long to wait for a task to complete and which role to notify when it does not complete.

  10. If required, use internationalization settings to support other languages.


Create a user interface for the people in the business process

People need to work with a client that provides a user interface between the person and the process. Consider the following factors when you set up a user interface:


Deploying the client user interface

You now must deploy the client on the server.

  1. Use the Business Process Choreographer Explorer to test the human workflow.
  2. Deploy the client on the server.

    • If you generated the client using JSF technology, you deploy an EAR file on the server.

    • If you used portal technology, you need to install the Portal server and deploy the client there.

    • If you used IBM Forms, you need to do some additional installation work.

    • If you linked to an existing client, there are things to set up and configure.

  3. Extend the API.


Versioning

When you are working with human workflows, versioning is important. You are probably working with long-running processes, so when the process changes, there is a period of time when the old and new process must coexist. You can use WebSphere business process management products to create new versions of your human task so that multiple versions of the same tasks can coexist in a runtime environment.

Developing an application from WebSphere Business Modeler