I just got a project which I need to implement lots of workflows, and I am considering to use jbpm engine to implement those workflow, so I want to know is their limits which I need to think through before useing jbpm engine , or any alternates ?
Our workflow is something like following:
user fill in the application form => assistant manager approval => dept director approval => director approval => boss approval. And we need to customize the task forms and integrate with other legend system.
Is their any workflow foundation like in windows in Java ?
Any recommendation are greatly appreciated !
1 Answers
I have to say; my experience regarding workflow in both Java and .Net when it comes to the core libraries or API libraries was either under-featured or over complicated.
Saying that, I found that in most cases having a table with statuses did the trick. Let me explain.
Have a foreign key in the table which contains your application form referring to a status table.
Have the status table with an ID (PrimaryKey) Column and StatusName Column.
The statuses should include:
ID(1) Captured - User fill in application form.
ID(2) Pending Assistant Manager Approval - Assistant Manager Approval
etc for all of the statuses...
Have a user table or make usage Java - ACL which has group assignments for each of the Users vs Groups.
Like for instance, the people / person who has access to Assistant Manager Approvals will be able to see the application forms which have a status of Captured.
You should get the picture by now.
On the other had I do find the jBPM very useful, but I also think it has its place in much bigger workflow environments.