July 18, 2005
Workflows, web services and the REST
Here's the paper I submitted for the recent IMS Alt-i-Lab sessions, ably presented by my colleague Wilbert Kraan.
John Evdemon has pointed out that BPEL is still a work in progress, so some of my comments in its regard are a bit premature, which is fair comment.
On the whole, I think the main point I make in the paper still stands; that there are some very distinct choices we can make on service workflows at this point, and they will take you in very different directions in terms of the requirements for tooling, performance, reliability, and so on:
Choice 1: Exploit simple stateless workflows (e.g. REST, HTTP+XML) as far as you can
Choice 2: Embed dynamic workflow management and services in a more tighly integrated fashion until the tricky problems of distributed dynamic workflow are sorted out (this is the LAMS approach, and could also describe Blackboard's Building Blocks APIs)
Choice 3: Adopt a web services stack that provides the parts needed for dynamic workflow management (BPEL4WS, WS-Reliability, WS-Addressing, WS-Security, WS-Policy, WS-Federation, WS-SecurityPolicy)
I'd argue that (1) and possibly (2) are the more pragmatic solutions that you can use today, but keep an eye (and open mind) on (3) as sometimes technologies can mature faster than you expect.
In typical fashion, Warwick Bailey apparently followed Wilbert's presentation of my paper with a cracking BPEL demo :-)