(This is an example of a workflow representation, from AgliPro)
Since I started working on workflow and planning&scheduling integration, i’ve been searching for the perfect open source tool in this field. The search have been unsuccesful most of the time. On the one hand, standards in BPM are still changing and evolving, it is not clear if we should use XPDL or BPMN, and where BPEL should come into play. On the other hand, workflow technology seems to be closed to enterprise solutions (oracle, ibm or fujitsu offers BPM suites, which are not easy/cheap). But this is coming to an end. The next 4 tools are the best i found out there, in the google space field:
* [lightweight!] TWE, Together Workflow Editor (community edition) [link]. It is a java-based tool, emerging from previous Enhydra JaWe editor. It provides XPDL 1.0 support at the moment, but no roadmap is visible anywhere. XPDL 2.0 is required to any complex model, where web services are going to be used. It comes with some workflow patterns implemented as samples, which is useful for research.
* [mature!] Intalio|BPMS [link]. Intalio|BPMS is the only open source BPMS to natively support the BPMN (1.1) and BPEL industry standards at the moment. It comes with a eclipse-based editor and a workflow engine based on Apache Geronimo. Very easy to install (windows, mac os x and linux) and with lot of documentation, screencasts and samples.
* [not tested!] Spagic [link] is a SOA Enterprise Integration Platform composed by a set of visual tools and back-end applications to design develop and manage SOA/BPM solutions.
- Improves the efficiency of all the actors involved in integration processes: analysts, planners, developers and managers working with Spagic; a team can model some process and another one can define technical concepts with specific tools (JBI SA, BPEL, mapping, ETL).
- Improves the efficient management of services-to-services, processes-to-services and process-to-process. All activities can span over organizations and geographical locations.
- Improves the efficiency of existing open source ESB/BPM: Spagic model enhances the features of some engines to realize a complete ESB/BPM platform.
- Takes benefit from the best choice of specific engines the end user needs: Spagic allows composing the platform with different open source ESBs and BPM engines.
* [promising!] Eclipse Java Workflow Tooling (JWT) Project [link]. JWT aims to provide both build-time and runtime generic tools for workflow engines. It will initially be composed of two tools, WE (Workflow Editor) and WAM (Workflow engine Administration and Monitoring tool). JWT also aims to provide generic APIs for defining and administrating business processes, in order to achieve said genericity.
The workflow editor is based on a German project called AgilPro. Therefore, the WE tool can either be downloaded as an Eclipse plugin from this site or it can be received as a standalone RCP-application from SourceForge. Please view the provided videos with examples of the usage of the workflow editor (together with one of the desktop tools, the Simulator or Previewer) at the AgilPro-site. The presentation given at the Eclipse Summit Europe 2007 might also be helpful.
Workflow Editor (WE)
WE will be a tool for the modeling of process definitions. The final output of this process modeling phase is an XML file which can be interpreted at runtime by any workflow engine compliant with the XML format of the process definition. WE will provide four core features :
- Different graphical representations of the process definition
- Export of process definitions to several XML-formats
- Import of valid XML process definition and its graphical representations: process can be defined in several formats (mostly based on XMI) and the graphical figures can be described in an abstract way.
- Additional features easing the development of business processes, like business process validation, business process reuse (in conjunction with the WAM’s Process Repository) and semantic matching. Partners of JWT are currently working on several semantic process matching algorithms and procedures which will be included in WE.
WE can be subdivided into two different layers :
- the graphical representation layer. The intent behind this is to be able to plug in several views for the same workflow definition file: for example, a business manager might want to see other details than an IT expert. Additionally it might be necessary to have one view for the certification of ISO 9000, one for ITIL, and others. Having several pluggable graphic representation will allow us to expose simplified, business oriented user-friendly views of the same workflow definition. Note that Amadeus will contribute on the extensibility mechanism allowing business-specific activities and integrate business specific representation views in the scope of the SCOrWare project.
- the grammar definition layer. The intent behind this is to be able to plug in several different grammars for the same representation: this is of particular interest when a graphical representation (such as BPMN or UML) can support different grammars. For example, BPMN can support both XPDL and BPEL. WE will be able to support not only XPDL and BPEL but other proprietary notations (e.g. jPDL from JBoss jBPM) or future standards as well.
As process definitions and graphical representations can vary, we propose to build a generic, extendable framework that enables several representations and grammars to be implemented and plugged in, thanks to a common, pivotal business process definition metamodel. The list of generatable process definitions as well as viewable graphical representation will be extensible.
Update: nice post about “BPEL and XPDL editors”.
I will comment further details ASAP.