about processes and engines

syndicating workitems

I’ve just added a few lines of code to OpenWFE. They leverage Rome to create workitem feeds.

A few posts ago I wrote : “workitems are messages, participants are channels” to map OpenWFE to process calculus (especially pi-calculus).

I’ve also shown in ‘when and more’ that the <when>, <save> and <restore> expressions could be used to implement a channel/message system inside of an OpenWFE process engine.

Now, with the inclusion of syndicated dispatchers into OpenWFE, the idea of participants as channels takes its full meaning. External participants may subscribe to an engine feed. The model is simple, lots of libraries are available to parse those feeds, it’s just around, ready to get piggy-backed.

I currently see two kinds of clients to those engine feeds : engines and applications.
Engines as clients, to fully implement the process calculus concept : incoming messages (workitems) trigger processes.
Applications, until now, only consumed workitems upon push, now integrators have an opportunity to pull workitems within their applications.

Feed notification will become a serious alternative to email notification.

Dispatching of workitems per feed will be part of the upcoming OpenWFE 1.7.2 release.

(I’ll have to blog about practical examples of this technique, this first post is a bit shallow but I’m sure part of my audience will fully grasp the idea)

Written by John Mettraux

August 13, 2006 at 9:13 pm

Posted in bpm, openwfe, workflow

%d bloggers like this: