Easy workflow management with Java EE

I have an application that allows various users to update some data, which is then published to a website. The app uses JPA as its persistence layer. Now I want to add a bit of workflow management to this scenario so that when users with lower roles update data, they don't publish directly, but rather wait for the older user and approve the update. Although the update is not confirmed, the original data should remain visible.

Ideally, the older user should be able to decline the update, and the younger user will see that they have been rejected and edit the update accordingly.

The question is, what is a good template for creating such a scenario?

The part I am having trouble confusing my brain with is how to represent modified data without duplicating all the entities I have. What about multiple data changes before approval?

I looked at the command pattern since it allows the type of cancellation. I am wondering if anyone has any experience with a similar scenario and if there are any recommendations?

I must point out that I am aware of some tools, such as JBPM , which is a workflow engine, but I was hoping to avoid the complication of integrating such tools into the existing architecture. I would appreciate it if someone points out that using such a tool will bring great performance in the end.

thank

+1


source to share


1 answer


Yes, I absolutely understand what you are doing in this scenario, starting different business processes. Using tools like JBPM or drools-flow (which you should look at) not only accurately reflects your problem, but allows your application to visually flow through the designers they provide. You can use what makes your application work like documentation directly.



+1


source







All Articles