Email based – with Actions: Savvion BPM Integration with Mobile Devices Series
Mobile Apps have been emerging as one of the most powerful drivers in the recent years. Any product offering which does not integrate with Smart phones is definitely on its way of facing serious resistance in market penetration. Savvion Business Manager from Progress seems to have overlooked the fact in recent years. What's surprising is that the version 3.0 of Savvion (Current Production release is 7.x) actually claimed to have an integration with Biz Mobile although I am not aware of a working version of the same. Organizations that have huge Savvion infrastructure are struggling to have an integration with Smart Phones and similar devices, Blackberry being one of the major phones being sought for.
This white paper intends to showcase some of the approaches in which Savvion Business Manager could be integrated with Mobile Devices with focus on Blackberry. Our overall approach assumes that Cellphone requirement pertains to task Approvals/Completions rather than Business Process Modeling etc.
Savvion Mobile Approaches: Email based – with Actions
This approach is really useful for scenarios wherein the mobile users essentially just need to Approve or Reject. They may not be required to provide any additional information. Functionally, the system involves the following steps
- Each Workstep has an adapter or a pre-script which can compose notification emails and send out to the client.
- The notification email would have the data slot names and values based on which a decision could be made. We can send out all the dataslots or maintain a list of dataslots (with order, Labels etc) in a configuration file somewhere.
- Possible Actions for the work step along with how some decision making dataslots would be modified. For Example, consider your workflow has Approve and Reject Buttons and you have a dataslot called isApproved which needs to have YES or NO based on the action, then we would need to encode this information in the link itself. One of the ways could be to create a deliminator string with workflow meta data and dataslot name, encode it and pass it as part of the URL. Another approach could be to maintain a configuration file or database table which has the details of which dataslot should be updated with what and pass the primary key of the row as part of the URL
- The end user, receiving the email would see the dataslot details and actions.
- Clicking on action would launch a custom page. This page would parse the passed on information and using API Calls complete the tasks in the backend. Data slots could be updated in the process. This page would auto close or display a status message to let the user know that the task has been completed. For Commercial scale applications it is essential that privileges and security be addressed in this intermediary page.
The drawbacks to this process are that the system would be complex in cases where user input is required as part of approval/rejection. Although using additional business logic, the pop up page could ask for only the required information, validations could become difficult. This approach also has the problem of end user not being sure if the task has been completed or not.