I am contemplating if I should employ a workflow or BPM suite (like jBPM/ Intalio/ joget) or build my app using a simple Struts+Spring+Hibernate OR JSP+Servlet+database technology stack.
Looking at the several examples; available with the above products; like
* Leave appliation and approval
* Self appraisal, followed by super-visor & HR evaluation and then computing a result.
I could very well implement such use cases, using a Struts+Spring+Hibernate OR JSP+Servlet+database technology stack.
On the UI, the requestor submits a requests.
In the controller layer/ Action class it can be validated and then in the DAO layer, inserted into a database.
(followed by sending an email to the supervisor/ hr) to also login and approve/ reject the request.
When supervisor or HR login, in a table I can display the items pending (giving it l&f of a Inbox), (be retrieving from the database)
If they wish to proceed, display the details (in a JSP) with a approve/ reject button.
The same will be submitted to the Action class and updated into the database; with an email sent to the requestor.
If I were to use a workflow product and model this in BPEL; where is the benefit?
I can find several problems though
1. Steep learning curve
2. I will have to develop UI (and invest time for making it aesthetically appealing) .... let alone the costs of integrating into a BPM.
3. Deployment and huge infrastructure costs (to support the BPM suite), as approsed to a simpler App server + database setup.
Please can you help me decide?
Joined: Dec 05, 2011
...we are facing the same dilemma..
At the moment custom application(s)
can solve the business' problems.
However as the applications mature
and the business workflows fully emerge
and get clearer/simpler in the process,
it seems that the time is there to introduce
a workflow system...
Personally I would not have used workflow systems
as a first solution. Trying a top down
approach would have been impossible
and custom apps were preferable.
Joined: Mar 11, 2004
I think it comes down to just how complex your workflow is, and how subject it is to change. Workflow tools are good and implementing complex workflows and helping you manage change to them.
For simple, static workflows, I don't see a lot of point in introducing this extra level of cost and complexity. It doesn't really give you anything back.
So some upfront analysis of the complexity of your workflow, and how likely it is to change, should answer the question for you.