processi

about processes and engines

Rest and AtomPub for Rufus

Mark Masterson just posted about RESTafarian Workflow / BPM Ganja, here are my two favourite quotes :

I’m gnawing on the beginnings of the idea that we might be able to implement an entire BPMS on top of a RESTful infrastructure

I’m beginning to suspect that embracing the various aspects of REST might allow us to build the “next generation” of process management systems.

This is great to read, and I’m quite happy that OpenWFEru is just in the middle of that. I hope Mark will post more about his ideas, maybe one day, OpenWFEru could be useful for him.

The old OpenWFE (the java one) featured a RESTlike interface and I was surprised to find out a year ago that the FormsPlayer people were using it, directly from the browser for some of their customers.

The first RESTful business process engine that I know of is the GeoBPMS of Pat Cappelaere, there is OpenWFEru behind it and Pat was always evangelizing to me the need for a RESTful OpenWFEru (with AtomPub for posting resources).

Matt Zukowski, in parallel, was working on Fluxr, a RESTful envelope around OpenWFEru, but unfortunately, he cannot continue the development.

That’s it for the context, so why the title “Rest and AtomPub for Rufus” ?

Rufus is the nickname of OpenWFEru, please use it when you feel that OpenWFEru is too hard to pronounce.

I’ve just implemented a new AtomPubParticipant for Rufus. It posts its workitems to an AtomPub enabled resource.

require
  ('openwfe/extras/participants/atompub_participants')
include OpenWFE::Extras

target_uri = \
  "https://openwferu.wordpress.com/wp-app.php/posts"

params = {
  :username => "x",
  :password => "y",
  :categories => "test, workflow"
}

engine.register_participant(
  "app", 
  AtomPubParticipant.new(target_uri, params))

This example posts to a [dump] wordpress account. By default, it dumps the workitem as YAML, but it’s easy to override or monkey patch the methods of the AtomPubParticipant to have it use other formats.

So why brag about it ?

  • it’s easy to build a publication workflow based upon OpenWFEru and a blog engine like WordPress
  • a blog can be used for holding business activity trace/history

which are just sub-cases of :

  • in a RESTful environment, you can create resources via AtomPub inside of an OpenWFEru driven business process

Next step for me will be the implementation of a BlogParticipant for posting human oriented entries (no big work, it’s just an extension of the class AtomPubParticipant).

And the step after that is quite obvious : reverse the vapor, and expose the OpenWFEru resources for creation and modification via AtomPub.
It has already begun with exposing the activity of the engine, as a feed (rather read-only).

Mark will certainly be better than me at explaining the benefits of such a business process management system.

Written by John Mettraux

November 13, 2007 at 5:58 am

One Response

Subscribe to comments with RSS.

  1. […] quite happy with the BlogParticipant, a specialization of the new AtomPubParticipant, I can use phrase like “you can have business processes that blog”, “read the […]


Comments are closed.

%d bloggers like this: