InfoQ

News

WS-BPEL4People on its way to OASIS

Posted by Arnon Rotem-Gal-Oz on Jun 26, 2007 03:00 AM

Community
SOA
Topics
Orchestration ,
WS Standards ,
Workflow / BPM ,
Web Services
Tags
Web services ,
Standardization ,
WS-BPEL
A group of several vendors including IBM, Adobe, SAP, Oracle ,BEA systems and Active Endpoints published today a final draft for a new suggested WS-* spec that goes by the interesting name "WS-BPEL4People". Compared to WS-BPEL which deals with automated business processes, the WS-BPEL4People spec, which has been under works  for nearly two years now, aims to add  human workflow capabilities to SOA in general and  to the recently approved WS-BPEL 2.0 spec specifically. 

WS-BPEL4People is comprised of 2 complementing specs. This first is  WS-BPEL extension for people which defines layers to deal with human interactions and tasks on top of WS-BPEL -or  as the spec's abstract describes it:
Web Services Business Process Execution Language, version 2.0 (WS-BPEL 2.0 or
BPEL for brevity) introduces a model for business processes based on Web services.
A BPEL process orchestrates interactions among different Web services. The
language encompasses features needed to describe complex control flows, including
error handling and compensation behavior. In practice, however many business
process scenarios require human interactions. A process definition should incorporate
people as another type of participants, because humans may also take part in
business processes and can influence the process execution.
 
This specification introduces a BPEL extension to address human interactions in BPEL
as a first-class citizen. It defines a new type of basic activity which uses human tasks
as an implementation, and allows specifying tasks local to a process or use tasks
defined outside of the process definition. This extension is based on the WS-
HumanTask specification.
The second spec introduced is WS-Human Task which defines interfaces to allow introducing  people tasks as services in an SOA independently of WS-BPEL. The idea is that non-human services will have a consistent and standard way to interact with humans. The spec defines the goals as follows:
Human tasks, or briefly tasks enable the integration of human beings in service-
oriented applications. This document provides a notation, state diagram and API for
human tasks, as well as a coordination protocol that allows interaction with human
tasks in a more service-oriented fashion and at the same time controls tasks’
autonomy. The document is called Web Services Human Task (abbreviated to WS-
HumanTask for the rest of this document). 

Human tasks are services “implemented” by people. They allow the integration of
humans in service-oriented applications. A human task has two interfaces. One
interface exposes the service offered by the task, like a translation service or an
approval service. The second interface allows people to deal with tasks, for example
to query for human tasks waiting for them, and to work on these tasks. 
A human task has people assigned to it. These assignments define who should be
allowed to play a certain role on that task. Human tasks may also specify how task
metadata should be rendered on different devices or applications making them
portable and interoperable with different types of software. Human tasks can be
defined to react on timeouts, triggering an apropriate escalation action. 

This also holds true for notifications. Notifications are a special type of human task
that allows the sending of information about noteworthy business events to people.
Notifications are always oneway, i.e., they are delivered in a fire-and-forget manner:
The sender pushes out notifications to people without waiting for these people to
acknowledge their receipt.
The vendors plan is to submit both specs to Oasis and approve them as yet another WS-* standard.

Microsoft's John Evdemon who was one of the chairs of the Oasis committee that approved WS-BPEL 2.0 hopes that  before the specs  will be approved as standards
...they can fix some of the issues (such as people resolution) and come up with a name.that doesn't sound like a punchline.  :)
On the other hand SAP's Alan Rickayzen is excited about the new standards . On his blog you can see  a diagram of the components of the two standards as well as a pod-cast explaining them briefly.

What do you think - do we need another WS-* standard? does the new standards fall under what Jon Udell calls WS-Justright?
Superb news by Steve Jones Posted Jun 27, 2007 4:36 AM
  1. Back to top

    Superb news

    Jun 27, 2007 4:36 AM by Steve Jones

    funny name, great idea. Commoditising human workflow is a good next step for the standards bodies at it enables best practice to be shared independently of the vendors and helps to move the debate on to solving the next set of problems by commoditising some of the current integration and data porting challenges.

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.