Open Source Workflow Engines in Java

The Open for Business Workflow Engine is based on the WfMC and OMG spec.

Open Source Workflow Engines in Java

Open Source Workflow Engines in Java

The Open For Business Project: Workflow Engine Guide
The Open for Business Workflow Engine is based on the WfMC and OMG spec.  it is a member of the Services Framework, and is tightly integrated with the Entity Engine. It uses the entities found in entitymodel_workflow.XML for definition information and entitymode_workeffort for runtime storage. All changes to a process or activity are persisted real-time. Therefore, the engine does not run in a thread, it is simply a group of APIs and common objects which handle the flow. When a change to the workflow is made, the engine then processes that change. When finished, the engine returns. Hence, if the application does crash, or the system reboots, the workflow will continue right where it left off upon restart.

Open Source Graphical XPDL Java Workflow Editor
Enhydra JaWE (Java Workflow Editor) is the first open source graphical Java workflow process editor fully according to WfMC specifications supporting XPDL as its native file format. It can be used to edit view every XPDL file which conforms to WfMC XPDL specifications, does NOT use any proprietary XPDL extensions and is available in English, German, French and Serbian language already. But we are still searching for volunteers for even more translations. Feel free to contribute. Advanced features like the consistency validation and guided property editor dialogs for all XPDL objects make it really easy to create valid XPDL files. The representation of workflow participants as "swimlanes" in the editor graphics gives a comprehensive overview of process responsibilities. In combination with Enhydra Shark, the Java XPDL Open Source Workflow Engine you get a complete workflow solution for embedded or standalone usage .
   
Open Source Workflow engine
WfMOpen is a J2EE based implementation of a 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. 

Weblog: Open source workflow
In this blog we share our discoveries in our search for open source workflow management tools. For tools that we find interesting, we download the code, try to execute the engine, or even get our reference process model working. From documentation, I gather that wfmOpen's XPDL implementation is quite complete, and the type of changes mentioned in the changelog suggest that wfmOpen is used heavily in production environments. From the forums I gather that the wfmOpen folks are very much into commercial support for their engine, but at least that means that they're making money out of it, and that they feel the pain when the thing doesn't work.

The Open Source Business Engine
 The Open Source Business engine is a flexible, modular, standards-compliant Open Source Java workflow engine. It is fully J2EE compliant, and supports several J2EE application servers, operating systems and databases. It faithfully implements Workflow Management Coalition Open Standards (WfMC), to which it offers a variety of extensions and enhancements. OBE is equally suited to embedded or standalone deployment.
OBE supports automated, manual and mixed workflow processes, and has extensible work item allocation and activity completion algorithms. Activities are automated through an extensible system of Tool Agents, which enable the invocation of external logic defined in Java classes, EJBs, native executables, scripts in arbitrary scripting languages, Web Services, and so on. Human interactions are managed through work items, which can be purely manual or can provide the means to invoke the appropriate software tools. OBE provides a worklist API and worklist clients to manage work items.

A flexible workflow management system
The most innovative aspect of OpenFlow is its flexibility. Unlike others WfMS, OpenFlow can easily handle all the exceptional situations that usually stress workflow-based applications. Moreover, from the analysis of the exceptional situations encountered, it is possible to dynamically modify workflows in order to increase efficiency and make the conceptual flow closer to the real one. OpenFlow offers complete support to deal with exceptional situations that could occur in workflows; it offers various tools for the administrator to bring back the system in a coherent state.
Every exceptional case can be traced, isolated and properly processed, so that it can be re-inserted in the flow. Thus, it is no more necessary to forecast every possible situation while modelling the process: the system will remain always coherent, always up and running.
  
JBoss adds open source BPM engine to its offerings
JBoss Inc. announced today it has added a business process workflow engine to its array of open source offerings. Known for its popular application server, JBoss said it has acquired the open source Java Business Process Management project (jBPM) and hired its founder and lead developer, Belgian Tom Baeyens. JBoss vice president of strategy and development Bob Bickel said jBPM has been downloaded 30,000 times and will be available from JBoss as a free download under the Lesser General Public License (LGPL). The LGPL is amenable to businesses because it requires the user to release only the changes made to the open source code, unlike the GPL which requires release of the entire code stack to the development community. 
  

Open Source Workflow
Open Source Workflow is fairly 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 can be hard to grasp at first, however. For example, OSWorkflow does not mandate a graphical tool for developing workflows, and the recommended approach is to write the xml workflow descriptors 'by hand'. 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 all requirements in a full-blown application.

 

Workflow, BPM and BPEL made practical 
JBoss jBPM enables the creation of business processes that coordinate between people, applications and services. Designed for the mass market as well as supporting enterprise scale applications, jBPM bring process automation to a much wider set of business problems ranging from embedded workflow to enterprise business process orchestration and BPM. JBoss jBPM is a platform for multiple process languages supporting workflow, BPM, and process orchestration. Today, JBoss jBPM supports two process languages: 1. jPDL is a process language to implement BPM and workflow in Java. jPDL combines human task management with workflow process constructs that can be built in Java applications. 2. BPEL provides process orchestration which is the abililty to combine web services into a process execution flow.  

The Open For Business Project: Workflow Engine Guide
The Open for Business Workflow Engine is based on the WfMC and OMG specifications. The Workflow Engine is a member of the Services Framework, and is tightly integrated with the Entity Engine. It uses the entities found in entitymodel-workflow.XML for definition information and entitymode-workeffort for runtime storage. All changes to a process or activity are persisted real-time. Therefore, the engine does not run in a thread, it is simply a group of APIs and common objects which handle the flow. When a change to the workflow is made, the engine then processes that change. When finished, the engine returns. Hence, if the application does crash, or the system reboots, the workflow will continue right where it left off upon restart. The Workflow Engine is not designed for processing flow of a web site. This is a common misconception. Web site flow is controlled by the Control Servlet. Workflow is the processing of manual and automatic activities to fulfill a specific goal.
 

Bossa is a workflow engine written in Java
Bossa is a workflow engine written in Java. The engine is very fast and lightweight, without sacrificing functionality. Its main strengths are the very expressive Petri net based notation it uses to define workflows and the powerful resource selection mechanisms it provides. Also, it is free software licensed under the GNU GPL. Bossa does not require a RDBMS and is very simple to use and to integrate with java applications. Actually, it was designed to be embedded. Therefore, Bossa is organized as a library to be used by server side applications (especially web oriented ones) that need workflow services. The characteristic that makes Bossa at the same time simple and powerful is the clear separation between workflow logic and application logic. We believe that the application's workflow logic should be abstracted in the same way that RDBMSs abstract the application's data storage and retrieval concerns. 
   

J2EE Cooperative Workflow System
Bonita is a workflow system featuring innovative features like activities that can start in anticipation awareness infrastructure allowing user notification of any events occurring during the execution in a given process , or automatic activation of user's code according to a defined activity life cycle. Traditional workflow features like dynamic user/roles resolution, activity performer and sequential execution are also included in Bonita to support both cooperative and administrative workflow processes. Bonita is a fully conformant J2EE application, taking advantage of the power and robustness of the J2EE platform. The BONITA API is accessible either thru EJBs or Web Services calls. Processes are created using a graphical definition tool, by using the Project interface API or by means of a XPDL file definition. A process is defined as a set of activities and an associated execution model. The enactment engine takes care of scheduling the activities according to the defined execution model. 

OpenWFE is open source workflow engine
OpenWFE is an open source workflow engine. It is implemented in Java, and is available under the BSD license. OpenWFE not only features a workflow engine, but also a full fledged Business Process Management Suite. OpenWFE contains these features and many more:
* a worklist component for storing workitems (tasks) for participants
* an APRE component, allowing you to implement automated agents into your work flows
* Droflo, our web-based flow designer
* and a well-documented REST interface and several libraries to access it, with more on the way.
  
Jakarta Turbine Web Application Framework
Turbine is a servlet based framework that allows experienced Java developers to quickly build web applications. Turbine allows you to use personalize the web sites and to use user logins to restrict access to parts of your application. Turbine is a matured and well established framework that is used as the base of many other projects (like e.g. the excellent Jetspeed 1 Portals framework. Turbine is an excellent choice for developing applications that make use of a services-oriented architecture. Some of the functionality provided with Turbine includes a security management system, a scheduling service, XML-defined form validation server, and an XML-RPC service for web services. It is a simple task to create new services particular to your application. 

Open source bexee-BPEL Execution engine 
Bexee stands for BPEL Execution Engine and is an open source implementation of the BPEL standard. The bexee project has been initiated in the scope of a diploma project at the Berne University of Applied Sciences, School of Engineering and Information Technology The goal of the Web Services effort is to achieve universal interoperability between applications by using Web standards. Web Services use a loosely coupled integration model to allow flexible integration of heterogeneous systems in a variety of domains including business-to-consumer, business-to-business and enterprise application integration. Systems integration requires more than the ability to conduct simple interactions by using standard protocols. The full potential of Web Services as an integration platform will be achieved only when applications and business processes are able to integrate their complex interactions by using a standard process integration model .