The blog that aims at the largest possible balance of pleasure over pain

Main menu

Tag Archives: bpm

Post navigation

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.

Post navigation

Hi, I'm a Solutions Architect for a major Telecom company. I design and develop software solutions leveraging several Java and JavaScript based platforms including ExtJS, Node.js, Spring, etc. I am also experienced using relational and NoSQL database solutions like MongoDB. I help evangelize Rich Internet Applications and open source technologies in Web application development, Web services, search, and developer collaboration. I graduated from the University of Michigan with a M.S. in Computer Science.
Note these views are my personal views and do not necessarily reflect the views of my employer. All code on this site is licensed under BSD.