Skip to main content

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:
Name
Interface (WSDL)
Priority
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.
Conclusions
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.


Comments

Popular posts from this blog

The mainframe: still alive and kicking

Recently, I was interviewed by  Pcon   (unfortunately the link points to an Hebrew only site) as part of debriefing on Legacy Systems.  Pcon is an Israeli company investigating IT topics by quoting professional articles and interviewing experts. They publish the results of the investigations including practical recommendations. This post is mainly about topics raised by me during the interview, but not included in the debriefing, which will be published.    What are Legacy Systems? The term Legacy Systems refers to old application systems and/or veteran technologies still in use.  Usually, the term Legacy Systems is associated with: 1. Mainframe Hardware e.g. IBM System z and its Operating Systems or Proprietary Servers and Operating Systems such as HP Alpha and OpenVMS Operating System, IBM AS/400 and OS/400   Operating System. 2. Development and Production Environments, e.g. COBOL , Natural and DBMS systems such as Adabas  ...

Will Business and IT Aligned?

For decades we are talking about closing the gap between business and IT , but the gap is still as wide as it was. In the beginning of the ERP era, we focused on aligning Business Processes and Core Systems, but in most enterprises we failed. SOA was the next alignment promise: defining the SOA Services in Business boundaries instead of Technical boundaries, should narrow the gap. However, despite of SOA Business Value ( Agility and Reuse )  in most enterprises,  the large Business-IT Gap remained as large as it was.  The IT Community aimed at the next alignment attempt: SOA is technical and BPM is its Business related complement.  Will the current BPM based alignment attempt succeed? I do not know, but Nick Heath's article  titled: Stop doing what the vendors tell you, CIOs told , published in  Tech Republic , suggests that the root of the problem is not Technological .   Stop Doing What the vendors Tell You Nick Heath's article is based ...

Vendors Survival: Will Software AG Survive until 2019?

This post is another post in the Vendors Survival series following posts on Microsoft , Google , HP , Sun and EMC . On July 14 th Software AG and IDS Scheer announced that Software AG is going to take over IDS Scheer . The intended acquisition is an opportunity to add another post in my Vendors Survival posts series. A brief history of Software AG Mainframe products Software AG is larger than any German software company except SAP . It was established in the Mainframe age (in 1969). I worked with many customers, who used and some of them are still using, its two flagship products Adabas and Natural . Although these products support many platforms, their main platform is IBM Mainframe. Adabas is a database and Natural is a development environment. Like other pairs of Database and Development Environment in the mainframe environment (e.g. Ideal and Datacom , Mantis and Supra) build by the same vendor, they are tied together. As a result, although it is possible t...