views:

228

answers:

1

Hi,

I have a Spring MVC web application that I need to introduce workflow into and was wondering if anyone had recommendations on existing products that would integrate well/easily with Spring.

The steps (if that's the term) in any given workflow may or may not involve user interaction - so you could imagine kicking off something like a sign-in workflow that involves the following steps: - user choosing a login name and password and submitting - once submitted an email is generated with a confirmation URL - on click of the confirmation URL the user is asked a few more questions and then the account is enabled - if URL is not click on in three days a reminder is sent - if URL is not clicked on after reminder is sent, account is deleted

Admittedly this is a workflow that could be solved without a workflow engine and I'm just using the example to illustrate that the steps involved in the workflows may or may not involve user interaction, have a time element and a concept of branching on certain event.

I had a look at Spring WebFlow and this seems more geared toward putting webpages together in a certain order to achieve a particular flow through the UI as opposed to specifying a persistent workflow.

I had a look at Spring Workflow Extensions but (a)the documentation seemed a bit thin on the ground and (b) its still in incubation state, both of which make me a bit nervous.

Any suggestions?

+1  A: 

I've worked with and evaluated a few workflow engine solutions. In general, they end up being so complicated to setup, it ends up being easier to code your workflow by hand. There is one open source project called OS Workflow that looks like it takes this complexity into account, but I haven't had an opportunity to give it a closer look yet. Also it doesn't look like the product is under active development currently.

I've used jBPM on a project, but I found the product to be confusing and not well documented. We ended up only using a very small set of the functionality and we plan on eventually replacing the functionality we're using with something homegrown.

Both frameworks also have Spring support via the Spring Modules project (which also looks to no longer have any development activity).

A quick google search found me this article on popular Java workflow solutions, but I'm not familiar with most of these products.

Jason Gritman