In the end of April, I published a
message to the Grails Activiti plugin's discussion forum, the plugin development progress will shift to low gear. An active plugin user from US semiconductor firm saw my message and contacted me for a consulting work opportunity related to the plugin, unluckily the deal was not materialized. So, my priority for development of the plugin remain the same.
I would like to see the plugin keep evolving, even I can't promise I will be always active in development and super responsive in community support, you will see me there :). Hence, I write about the future of the Grails Activiti I envisioned in this blog post. You can assume it is evolution roadmap of the plugin, your feedback and comments are very much appreciated.
Business Process Management 101
What is Business Process Management (
hereafter called "BPM")? Let's look from BPM as business practice perspective, the following diagram is the BPM process itself:
|
Diagram 1: taken from slide 12 of slides by Gregor polan |
As
Grails Activiti plugin is built on top of
Activiti BPM suite, let's look at the support of Activiti BPM for the BPM processes above. In my opinion, Activiti BPM had great support the process modeling process with BPMN 2.0 (Eclipse-based Activiti Designer and Web-based Activiti Modeler) and process execution (Activiti Engine) with basic process management and simulation (Activiti Explorer).
|
Diagram 2: taken from slide 6 of slides by David Noble |
Let's look at similar diagram above, the bigger text above are business practices, and the smaller one below are computerized systems.
What is Missing in Activiti BPM?
I break down the BPM Processes and Systems from Diagram 1 and 2 into the following DevOps table:
|
The black color text is Business BPM and red color text is Technical BPM | | | |
|
|
I think Activiti BPM has great support for process modeling (Activiti Designer/Modeler) and process execution (Activiti Engine), but the following items have much room to improve:
- Process simulation: I think the user interface of Activiti Explorer is not user-friendly enough for production use. Users should able to use the deployed processes for their daily operation works after process engineer deployed the process resources (process definitions, form definitions, etc) to Activiti Engine. This will greatly shorter the process development and management cycle.
- Better integration to Business Rule Engine such as Drools and OpenL Tablets
- Better integration with Mule ESB or other EAI platforms
- Better integration with Portal using Grails Portlets plugin.
- Better monitoring and reporting features (which currently unavailable and can be implemented using HistoryService API)
In my opinion, the Grails Activiti Plugin can further expand and evolve quickly to deliver the improvements above by leverage the Grails Framework and it's richness of plugins. I think item #1 and #5 above will create greatest value to the customer business, what do you think?
Going Forward
I think most improvements above will be implemented as separate Grails plugins. When there is enough interest, creating a Grails Activiti Organization in github is more appropriate to host Grails projects/plugins that related to Grails Activiti such as Spring Security Integration plugin and Shiro Security Integration plugin and other upcoming plugins.
Lastly, if you are interested to join the Grails Activiti Organization or your company is user of the Activiti BPM and would like to see these improvements implemented, I'd love to hear from you!
Edited on 11 July 2012: Great discussion about this blog post in
Activiti Forum.