Saturday, April 11, 2009

BPEL for the People

BPEL for the People  is not a new song like John Lennon's Power to the People.
It is a new extension to WS-BPEL standard called officially BPEL4People.
The new extension goal is to address Human Processes to the automatic processes addressed so far by BPEL.
The proposed extension was submitted to OASIS as draft in 2009.

In my lecture on SOA BPM in a CIOs course, a week ago I summarized the current status of BPM by the following bullets:
  • Many enterprises did not start their BPM initiative
  • Usually a BPM effort is executed together with a SOA initiative. Sometimes they are not synchronized because SOA is initiated by IT while BPM is initiated by a Business unit.
  • In many cases the implementation scope is in a departmental level or a Business Line and not in the Enterprise.
  • A large number of BPM tools in the market indicating an immature market
  • Beginning of market consolidation due to acquisitions
As far as BPM standards are concerned, there are two leading standards OASIS's WS-BPEL and OMG's BPMN. Few years ago WS-BPEL was considered as the most promising BPM standard, however due to disappointments from BPEL implementations, BPMN is now considered as the most important BPM standard.

BPMN and WS-BPEL are not competing standards. Part of BPEL acronym EL, stands for Execution Language, describing a run time BPM standard. Unlike WS-BPEL, BPMN is a modeling Standard and not an execution standard.

On the one hand the two standards are not competing, but on the other hand they are not completing each other by addressing together a full Process Life Cycle.
The following section depicts BPEL limitations and some of the reasons why the two standards are not completing each other.

WS-BPEL Limitations
The main three limitations of current WS-BPEL standards are:
1. BPEL does not address Human Processes.
BPEL addresses only Orchestration of automated services.
BPMN addresses Automatic as well as Human Processes.

2. BPEL does not include a concept of Subprocess.
The concept of Subprocess is important. It enables division of the process to logical units. Each logical unit or Subprocess is composed of related activities.
A Business user view could be composed of Subprocesses, while an IT BPM developer's view could be drilled down to technical details.

3. There is no full Round Tripping between BPMN model and BPEL execution code. The issue of Process Round Tripping was discussed in a general level in previous posts: SOA and BPM: Too Much Round Tripping? and SOA & BPM.
In most cases BPMN model which does not include Human activities is translatable to BPEL, but in many cases it is not possible to build a BPMN based model, from BPEL code. The reason for this limitation is incompatibilities between two standards which are managed by two standards bodies.

BPEL4People goal is to overcome the first limitation.
In June 2007 a paper titled: WS-BPEL Extension for People (BPEL4People), Version 1.0 was published by Active EndpPoints, Adobe, BEA, IBM, Oracle and SAP.

In January 2008 it was submitted to OASIS and OASIS committee is working on it.
As discussed in my presentation in the CIOs course handling Human based processes is a tougher task than handling automatic processes.

The following elements are included only in human based processes:
  • Roles – Who is authorized to execute a human activity in a process?
  • To Do List – Which Process instances should be handeled by a person?
The To Do List should include priorities.
  • Schedules – Until which time and date an activity should be completed?
  • Replacement – Who will handle activities which should be handled by an unavailable person (due to illness, vacations or other reasons)?
  • Reports – a manager should have a report describing current status of all process instances activities which should be performed by his subordinates. The manager could use the reports for solving Bottlenecks as well as for adjusting the human workload by assigining new processes to the least busy team members.

The highlights of BPEL4People's draft described in the next paragraph illustrate the complexity of handling Human based processes.

BPEL4People draft Highlights

  • The Human processes tasks are handled by two completing standards BPEL4People and WS-Human Tasks (WS-HT)
  • The extension defines three roles:
Process Initiator – The person triggering the Process instance
Process stakeholders – people who can influence the progress of the Process instance. They can influence it, for example, by adding ad-hoc attachments.
Business administrators - people allowed to perform administrative actions on the business process, such as resolving missed deadlines.
  • People are assigned to acting upon a process via logical People Groups or other methods. People assigning is performed by usage of BPEL3People in conjunction with WS-HT.
  • People activities are basic activities for integrating human interactions with automatic BPEL processes. It may include Human tasks and notifications.
  • Four types of people tasks are defined:
Constellation 1: Inline task as part of a people activity – limited to a specific people activity

Constellation 2: Inline task which may be reused within multiple people activities
Constellation 3: Standalone task within the same environment without the specification of a callable Web Services interface on the task i.e. task invocation is implementation-specific.
Constellation 4: Standalone task from a different environmentwith the specification of a callable Web services interface.
  • Priorities are assigned to human tasks and are subject to change during the process instance execution.
WS-HT Highlights
A detailed description of WS-HT is available in a document dated June 2007 titled:
Web Services Human Task (WS-HumanTask), Version 1.0.
It was published by the same companies which published BPEL4People document on the same month and year. (The companies' names are cited in the BPEL4People Highlights section of this post).

  • Defines Human Tasks which are part of a Business Process, but they can also be used for human tasks which are invoked as services.
  • Enables integration of Human beings in Service Oriented applications
  • Roles based. This document defines the same roles defined in the corresponding BPEL4People document and additional roles. Unlike the BPEL4People document, the roles in this document are defined in the task level and not in the process level. Additional roles are: Actual Owner, Potential Owners, Excluded Owners and Notifications receivers.
  • Logical People Groups are defined and used in conjunction with BPEL4People
  • The User Interface for Man-Machine interactions in the specific context is included in the WS-HT defined.
  • Examples of properties defined for a task:
Interface (WSDL)
People Assignments
Delgation (to whom a task instance task could be delegated)
Presentation Elements – elements to be presented as part of the task in
task lists
Outcome – Business results of the task
SearchBy – Customed search for task instances
Rendering method
Deadlines – for Timeouts and Escalations

  • An authorized user can invoke Participation Operations such as: Start, Stop, Suspend, Resume, Cancel, Claim (Reserve an instance for a specific user), Complete (The Human task was completed successfully), Fail (The task's owner complete it unsuccessfully). There are many other Participation Operations.
  • Query Operations allow retrieving task data.
  • Administrative Operations may be invoked by an Administrator e.g. Activate a task (change its status to Ready), Nominate (nominate an organization entity to process the task)
  • Xpath extension function

  • In case of an application which is human task aware a coordination protocol is required. WS-HT coordination protocol is a protocol based on WS-Coordination standard. The difference between regular WS-Coordination and the WS-HT coordination is that usually the coordination is between Web Services and in this particular case the coordination includes also Human tasks.

The complex technical aspects of WS-HT coordination protocol are beyond the scope of this post. A reader who would like to drill down to that protocol should read Chapter 7 of the WS-HT document cited in the beginning of this section.
It should be remained seeing if the new specifications of BPEL4People and WS-Human Tasks will address the issue of extending BPEL to Human based Processes.
Probably, it will take at least two years until this draft standard will mature.

AS far as the complexity of handling Human based Processes is concerned I am sure that I rest my case: It is complex.

I will not be surprised if the next version of BPEL4People and the next version of WS-HT standards will omit the some of the current complex features.

No comments:

Public Cloud Core Banking: Hype or Reality? - Revisited

  More than 4 years ago I was asked if Public Cloud Core Banking is a Hype or a Short Term Reality? If you had read the post, you would prob...