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
WS Standards,
Web Services,
Orchestration,
Workflow / BPM
Tags
WS-BPEL,
Web services,
Standardization
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?

1 comment

Reply

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.

Exclusive Content

Agile Project Management: Lessons Learned at Google

In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.

AtomServer – The Power of Publishing for Data Distribution

In this article, Bryon Jacob and Chris Berry introduce AtomServer, their implementation of a full-fledged Atom Store based on Apache Abdera, which is now available as open source.

An Introduction to Virtualization

It is easy to think that virtualization applies only to servers. In reality the recent resurgence of the concept is also being applied to networking, storage, and application infrastructure.

REST Anti-Patterns

In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them.

Choosing between Routing and Orchestration in an ESB

In this article, Adrien Louis and Marc Dutoo discuss the differences and relative merits of using orchestration vs. routing in a typical ESB setup, and discuss various implementation options.

Enterprise Batch Processing with Spring

Wayne Lund discusses batch processing, Spring Batch objectives and features, scenarios for usage, Spring Batch architecture, scaling, example code, failures and retrying, and the future roadmap.

User Story Estimation Techniques

Developer Jay Fields draws on his experiences as a ThoughtWorks consultant to describe effective user story estimation techniques.

Security (CAS and OpenID) with Ruby

In this talk from QCon SF 2007, Justin Gehtland explains two open solutions to distributed identity and their Rails integration components: OpenID (using ruby-openid) and CAS (using rubycas-client).