TSSJS Day 2: Spring and jBPM

Josh Long gave this topic.  We starts by saying…if you’re writing a huge conditional statement based on states in your application, you can benefit from a Workflow engine.

Process state is described by an UML activity diagram — it’s the voyage not the destination.

BPM is as much a business problem as it is a technical problem.  It’s helpful because it makes reuse from a given way to tackle a particular business problem.  Don’t believe the hype you can take a BP diagram and turn it into the implementation some vendors like you to believe. A techie will be involved and something you should go in knowing.

Workflow engines benefit from multiple steps performed by multiple actors.  State of BPM today focuses on two standards: BPEL 2.0 and BPMN 2.0.  The latter provides an execution behavior to model directly to an implementation…formerly, you could create stuff in BPMN that wasn’t possible BPEL…ouch!

Drools Flow, Grails Flow and jBPM are the relevant open source tools that you should look at.  Note that Drools Flow and jBPM come under jBoss and you probably should use the latter.  Oracle AquaLogic, MS Workflow and TIBCO iProcess are commercial alternatives.

jBPM 3.x is the most widely supported and works well with existing ESBs.  Spring Modules used to provide jBPMTemplate for Spring users but doesn’t work, so avoid it.  jBPM 4.x has integrated Spring support.  It’s also embeddable and integrates with many db’s and architectures.  Great support for human tasks as well as automated one asynchronously. jPDL is a much simpler alternative to BPEL  BPEL 2.0 support is limited in jBPM 4.x.

His demo was very clean but requires XML for configuration.  If you done that sort of stuff in Spring, you’ll have no problem here.  Borrows a lot from how you configure Hibernate in Spring.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s