The open source workflow initiatives

Generic J2EE engines

 

Tool:

PowerFolder, http://www.powerfolder.org

Version:

0.7a, august 2003

Language:

Java JDK 1.3.1; J2EE (BEA, IBM, jBOSS)

Status:

alive, beta

License:

LGPL

Description:

PowerFolder is an open source workflow studio and engine. It is easy to install and use. The project team currently provides free email and phone support. PowerFolder takes your business process and brings it to life. Applications are easy to create with the web based developer studio. The script studio draws the process similar to a flowchart and assigns actions to each state. The web page studio designs the web pages to interface with the process. XML is integral to the lifecycle of a process and its instances. The triggering data, process template, and process instance are all formatted in XML. This makes PowerFolder more flexible and eases migration to future versions. PowerFolder is flexible. Processes can be created with as little or as much Java code as desired. A small amount of JSP scripting can bring a process to life. Likewise, custom Java classes can be leveraged for more complex functionality. Administration and management takes place through the PowerFolder console. Applications can be deployed and undeployed. Process instances can be queried and viewed. PowerFolder follows the accepted conventions of J2EE programming. No native or threading-specific code is used. The persistence layer is agnostic and interchangeable.

 

Tool:

Open Business Engine, http://www.openbusinessengine.org

Version:

none, build from cvs

Language:

Java, J2EE

Status:

alpha/beta; unclear

License:

Modified Apache (do anything, but don’t use their name)

Description:

Open Business Engine, also known as OBE, is designed from the ground up to conform to WfMC standards for workflow processors. OBE is still in development but has already acquired the interest of numerous organizations who are contributing to the project. Once complete, OBE will provide support for XPDL for process definition with the ability to plug in parsers for other definition languages, WAPI for client access, using RMI initially with XML-RPC and SOAP implementations to follow, a complete implementation of the WfMC audit specification and support for the Workflow Interoperability specification. OBE is J2EE compliant, executing on top of any J2EE application server. OBE will also include an embedded version of the engine for use directly in Java applications.

 

Tool:

jBpm, http://jbpm.org

Version:

1.0beta, september 2003

Language:

Java, J2EE

Status:

active

License:

Apache

Description:

jBpm's process definitions are based on UML activity diagram's. That establishes a clear and effective communication between process developers and managers. jBpm includes a web-interface that will enable users to execute in their browser without having to write code. jBpm has a unique, powerfull mechanism for integrating existing IT-infrastructure such as databases, ERP-systems, LDAP-systems... : it allows to add java-classes to your process definition. The java-classes can access the process instance information as well as the complete J2EE environment. That feature creates a clear separation between the states of a process and the interactions with other systems. jBpm supports rich process modeling concepts such as parallel flows and process composition (=sub-processes). The design of jBpm is makes it the easiest to learn and use. Design based on van der Aalst’s workflow patterns. Will not conform to any wfm standards.

 

Tool:

Bonita, http://bonita.forge.objectweb.org/

Version:

2.0b4, August 2003

Language:

Java J2EE, SOAP

Status:

active, stable release available

License:

LGPL

Description:

Bonita is a flexible cooperative workflow system, compliant to WfMC specifications, based on the workflow model proposed by the ECOO Team, which incorporates the anticipation of activities as a more flexible mechanism of workflow execution. The system provides:
A comprehensive set of integrated graphical tools for performing different kind of actions such as process conception, definition, instanciation, control of processes, and interaction with the users and external applications.
100% browser-based environment with Web Services integration that uses SOAP and XML Data binding technologies in order to encapsulate existing workflow business methods and publish them as a J2EE-based web services.
A Third Generation Workflow engine based in the activity anticipation model. This flexibility allows a considerable increase of speed in the design and development phases of cooperative applications.

Up to date info at http://freshmeat.net/projects/bonita-workflow/

 

Tool:

XFlow, http://xflow.sourceforge.net

Version:

1.1, September 2003

Language:

Java, J2EE

Status:

stable, production

License:

 GPL

Description:

XFlow is a pure J2EE platform for building, executing and managing business processes and workflows. It is a basis for building collaborative applications as well as integrating processes across an enterprise. XFlow has a small footprint but is extremely powerful. It is designed to be easy to use from the development, deployment and management standpoints.

 

XFlow runs within an EJB and servlet container. JBoss 4.0 (with bundled Tomcat) is the container used in this implementation. The architecture supports distributed and parallel processes within an organization's firewall as well as across organizational boundaries.

 

XFlow is designed for scalability, extensibility and ease of integration with security models and legacy processes. XFlow's service-oriented architecture supports both a simple Java API as well as a web-service (SOAP/HTTP) interface.

 

Documentation of XFlow appears to be quite complete. However, there no graphical process editor as of yet. Instead, XML has to be used.

 

Tool:

wfmOpen, http://wfmopen.sourceforge.net

Version:

1.1 RC, september 2003

Language:

 

Status:

wfmOpen can be downloaded as a stable release. The product is an OS version of a commercial product.

License:

 

Description:

WfMOpen is a J2EE based implementation of a leightweight workflow facility (workflow engine) as proposed by the Workflow Management Coalition (WfMC) and the Object Management Group (OMG).

 

The workflow component is based on a set of JAVA interfaces that define an API for a workflow management facility. The basic "omgcore" interfaces follow OMG's Workflow Management Facility Specification, V1.2 very closely, while making some modifications to adapt the CORBA service to the established design practices for a Java API.

 

Workflows are specified using WfMC's XML Process Definition Language (XPDL) with some extensions.

 

The workflow component may be used as the core for any process based application implementation and is thus e.g. suited to provide a solution for BPM (Business Process Management) related tasks.

 

 

 

 

Engines for specific application servers or environments

Zope

Tool:

OpenFlow, http://www.openflow.it

Version:

1.2.0

Language:

Java; requires Zope OS application server

Status:

alive and stable

License:

GPL

Description:

OpenFlow is a workflow engine developped by Icube and released as free software. It is based on an object oriented structure, it has a powerful exception handling system and it supports dynamic redesign. These features make OpenFlow much more flexible than other existing workflow engines. OpenFlow supports the open standards (XML/XML-RPC) and the web standards; it facilitates integration between heterogeneous systems thanks to simple access to most of relational databases. OpenFlow is activity based, multiplatform, web-based, WfMC inspired, built and integrated with the application server Zope, and it is completely free software.

 

note: an Australian commercial workflow tool is also called OpenFlow. This is a completely different product.

Open for Business

Tool:

Open for Business, http://www.ofbiz.org

Version:

2.1.1, May 2003

Language:

Java, J2EE

Status:

stable and alive

License:

MIT OSL

Description:

The Open For Business Project, founded in 2001 by David E. Jones and Andy Zeneski, is an open source enterprise automation software project licensed under the MIT Open Source License. The goal of the project is to build a community of end users and developers that work together directly to create easy to customize business software based on best practices. The workflow engine in OFBiz is based on the WfMC and OMG Workflow Standards. OFBiz utilizes WfMC's XPDL spec for process definitions, and our Entity and Service engines for state and procedure invocations.

Enhydra

Tool:

Enhydra Shark, http://shark.enhydra.org

Version:

1.0 beta, september 2003

Language:

Java

Status:

 

License:

LGPL

Description:

Enhydra Shark is completely based on standards from WfMC and OMG using XPDL as its native workflow definition format. Storage of processes and activities is done using Enhydra DODS.

 

Tikiwiki

Tool:

Galaxia, http://tikiwiki.org/Galaxia_introduction.pdf

Version:

 

Language:

 

Status:

 

License:

 

Description:

Galaxia is based on OpenFlow (http://www.openflow.it), and is aimed at extending the Tikiwiki (http://tikiwiki.org/) groupware / cms environment with activity-based workflow management functions.

 

Open for Business

Tool:

Open for Business Workflow, http://ofbiz.org

Version:

 

Language:

 

Status:

 

License:

 

Description:

The Open for Business initiative aims to provide a development framework from open source components. OfB contains a custom workflow component, that depends on other OfB component for persistence and other services.

 

 

 

Other workflow engines

Java engines

 

Tool:

OSWorkflow, http://www.opensymphony.com/osworkflow

Version:

2.5.0, date unknown

Language:

Java, SOAP, JDBC or EJB

Status:

unclear, seems active

License:

Apache

Description:

OSWorkflow is very different from most other workflow systems available, both commercially and in the open source world. What makes OSWorkflow different is that it is extremely flexible. This flexibility can be hard to grasp at first, however. In fact, OSWorkflow does not contain graphical user interface components. It is up to the application developer to provide this sort of integration, as well as any integration with existing code and databases. These may seem like problems to someone who is looking for a quick "plug-and-play" workflow solution, but we've found that such a solution never provides enough flexibility to properly fulfill requirements in a full-blown application. OSWorkflow gives you this flexbility. Can work with Open for Business framework.

 

Tool:

Werkflow, http://werkflow.werken.com/

Version:

none, build from cvs

Language:

Java

Status:

slow

License:

custom open source

Description:

The werkflow system is a Petri net based engine for executing transactional workflows. The design has been heavily influenced by the academic literature on workflow such as the papers of Wil van der Aalst and also by suggestions from the diverse community of developers that hang out on the Werken company's IRC. Given the current immaturity and volatility of workflow standards, the werkflow project has been architected to be standards-neutral. The core engine has a layered architecture on top of which new syntaxes and semantics can easily be built. This approach will alllow users to avoid vendor lock-in and enable The Werken Company to rapidly roll out support for the most popular standard of the month. Currently, support for BPML and BPEL4WS are being built upon the core engine to support current popular web-services coordination languages. While the current focus is on web-services specifications, the werkflow system can support most any sort of process flow

 

Tool:

OpenWFE, http://openwfe.org

Version:

0.4.0, September 2003

Language:

Java, file system

Status:

active

License:

BSD-like

Description:

Two other things are provided : a worklist and a webclient for this worklist. The webclient is a standard java web application that you can deploy in Tomcat or Jetty for example. The 'webclient' as released embeds Jetty, so you don't have to think about downloading and deploying a servlet container.

Workflow definitions are expressed in our own language, which is extensible. We feel that defining a workflow with it is as simple and straightforward as using some kind of graphical tool. We don't plan to make such a tool for the moment : a good XML-editor is sufficient. It appears that the process model editor, that is used for JBpm process specifications, will be extended to support OpenWFE as well.

The current implementation focuses on direct usability. Thus, participant maps, definitions, workitems, etc, are all stored as files.
Future releases may see implementations of the components that find their information in LDAP repositories, SQL databases...

The OpenWFE site contains a live demo.

 

 

Non-Java engines

 

Tool:

wftk (workflow toolkit), http://www.vivtek.com/wftk/

Version:

1.0pre2 (beta); july 2002

Language:

C, SOAP webservice for client

Status:

slow

License:

GPL

Description:

The wftk (open-source workflow toolkit) is a workflow engine in library form which can be integrated with whatever you need to integrate with. It's designed on a very flexible adaptor architecture, whereby interfaces to external functionality are defined and implemented as independently as possible of the core workflow logic. It makes heavy use of XML, so that its data structures are always easily inspected. All it lacks (soon to be rectified) is experience in Real Life.

 

 

Tool:

 

Version:

 

Language:

 

Status:

 

License:

 

Description: