Chapter 9. Human Tasks

Human tasks enable human interactions in business processes. Business processes are not generally fully automated and certain activities have to be carried out by humans. Business users whether employees, customers, or suppliers often need to participate in business processes. Examples of human interactions include approval, decision making, error and exception handling and so on. For instance, a human interaction might be necessary for cancelling the order due to product unavailability, increasing the manufacturing of a product due to increase in demand and so on. In a nutshell, human tasks provide a description or speculation of tasks to be performed by humans within business processes.

In this chapter, we will take a closer look at the human tasks and explain the human workflow integration into BPEL processes. In this chapter, we will:

  • Understand human tasks
  • Get familiar with the Human Task workflow service
  • Understand how to design and create human tasks
  • Understand how human tasks are executed
  • Get familiar with web forms development for human tasks
  • Get to know the BPM worklist application

So let's get started...

Understanding human tasks

Human tasks in business processes allow us to include activities that are carried out by humans. So far, we have seen that in BPEL processes we can invoke external services. We call these automated activities. However, often an activity needs to be included that requires human intervention.

Human interactions in business processes can be very simple, such as approval of certain tasks or decisions, or complex, such as delegation, renewal, escalation, nomination, chained execution, and so on. Human interactions can include data entries, process monitoring and management, process initiation, exception handling, and so on.

One of the simplest and probably the most common human interactions is approval. In our book warehousing business process, which we developed in Chapter 4, Conditions and Loops, a human task might be required to get an approval of the selected bookstore by a business user, instead of letting the process select the appropriate bookstore (Bookstore A, B, and so on) itself. We can achieve this by adding a human task for approval, before the books are warehoused.

In BPEL, human tasks are implemented similarly as other service invocations. For human interaction, a special service is provided by the process server. In case of Oracle SOA Suite, this service is called human workflow. The human workflow component provides a set of interfaces that allow a BPEL process or other SOA composite component to invoke a human task and assign it to a specific user or a group of users. The human workflow component also provides a set of interfaces that allow querying for all human tasks assigned to a specific person, displaying the human task and fulfilling it.

BPEL does not make a distinction between services provided by applications and other interactions, such as human tasks. Therefore, to implement a human task, our BPEL process will call the special service—the human workflow service. As human tasks usually can take a while to fulfill, the human workflow service will be called asynchronously.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset