Posts Tagged ‘ workflow

Workflow Framework Comparison

Workflow / bpm have very short history. But now there a several mature frameworks you can use in open source world.

Today there are lots of projects talking about workflow. most of them have totally different domains. (ERP/CRM/internal) and in response there are lots of frameworks to solve this problem. Here is my experience:

Read more

OSWorkflow as Object State Machine

A graph of an extremely basic process in a fin...

Image via Wikipedia

OSWorkflow is a very simple and flexible workflow engine. Developers including me really like its simplicity. One can write very simple XML’s for steps, actions, conditions and functions; and it is done. OSWorkflow can be easily integrated with very common frameworks like spring,acegi,hibernate.intergation project

What is next? In my simple example project you can see at least one persistent object with an attribute like status. With or without any workflow engine this property shows the step of that object.

public interface WorkFlowCoreService {
/** simply put className,objectID,url,property to propertySet */
long startWorkflow(int initialAction, String className, Long objectID, String property);

/**To the action in workflow and set property to new value for the object*/
void doAction(long workFlowId, int actionId) throws WorkflowException;

}
  • Draft
  • Send to approval
  • Accepted
  • Rejected

But let’s use this property only for the read out of WF engine. and only change its value when its step is changed by the engine.

What you will get ?

Simplicity: Since the state changes are done as workflow state changes, it will be clearer and simpler.

Workflow Engine: As your projects are getting close to end, you can expect approval and states with more frequent changes and additions. If you use a workflow engine it will be more manageable.

Abstraction: Your state change business (send mail to him, increase those values) will be more hidden from any other mechanisms.

Ref:

http://opensymphony.com/osworkflow

https://springmodules.dev.java.net/

http://today.java.net/pub/a/today/2006/01/04/business-processes-with-osworkflow.html?page=last&x-order=date&x-maxdepth=0

Reblog this post [with Zemanta]