Links - Business Process Execution Language

Related Subjects:


Updated Sept 12 2008: moved from Devel site, added new links.

I must admit that I have been skeptical about the utility of full-featured, full-blown business process languages, especially for use in what I anticipate to be a simplified interface for the Semantic Web. If the language isn't fairly intuitive, people just aren't going to understand it.

However, the BPEL specification has been around for a while and the new 2.0 version of BPEL (a 230K html file ) takes pains to provide practical examples of business process encodings. Maybe it can be made simple enough for everyday use by non-technical people. There are open source engines from Apache, Sun Systems and a variety of other sources, mostly implemented in Java.

Apache.org has good, business-oriented presentations about Ode, Apaches BPEL process engine.

IBM has some interesting discussions about WS-BPEL Extension for People, apparently spot on the money as usual - I guess their corporate earnings in the last 40 years have proved that. IBM even has an extension spec called BPEL4People. Note that even the humanized version seems to assume full-time business specialists as its audience.

Oracle's BPEL Process Manager is also a major contender in the BPEL market.

For a good technical introduction, also note-worthy is the OpenLink BPEL Reference.

The Eclipse SW engineering tool/environment has a plugin for BPEL.

A link to some excellent efforts by our Altantic cousins at the University College London OMII ( Open Middleware Infrastructure Institute ). They got a grant of £3M ( not Euros ! ) to develop a nice looking set of Eclipse-based design tools and middleware for BPEL. The process engine runs ( or can run ) under the control of the Eclipse environment, sort of like Apache and the PHP plugin but with tighter integration. The chief developers are Prof. Wolfgang Emmerich, Bruno Wassermann and Liang Chen.

 

The Good, the Bad and the Pi Calculus

One of the underlying principles of the next generation of BPM engines is Pi Calculus. For a fairly accessible introduction to what can be an arcane subject, see Workflow is just a Pi Process. While not specifically related to BPEL, it has a number of good observations on representing processes. It even has a good list of basic process ( task ) types:

Whereas previous technology paradigms address only pieces of the business process, the Pi Calculus provides a representation that forms the basis for higher-level process idioms that combine elements across a wide variety of process semantics, including:

  • Automational, eliminating human labor from a process
  • Informational, capturing process information for purposes of understanding
  • Sequential, changing process sequence, or enabling parallelism
  • Tracking, closely monitoring process status and participants
  • Analytical, improving analysis of information and decision-making across processes
  • Geographical, coordinating processes across distances
  • Integrative, consolidating and integrating sub-processes and tasks
  • Intellectual, the process of capturing and distributing intellectual assets
  • Disintermediating, eliminating intermediaries from a process
  • Computational, performing calculations as part of a distributed process
  • Collaborative, allowing participants to manage sets of shared work processes
  • Compositional, building new processes from elementary reusable process patterns

 

It's quite a good list, perhaps better adapted to the semantic web than those provided by some of the generic task modeling methodologies.

More in the arcane school of BPM is Using the Pi-calculus for Formalizing Workflow Patterns. It's considerably more dense and mathematical than the above, but it has extensive coverage of Event-Condition-Action rules within workflows. It may also serve to give the reader an idea of why I was so skeptical about business process modeling languages in the first place ...