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.