Workflow Draft
1: The State of workflow
More information please goto http://jbpm.org/2/state.of.workflow.html
1.1 The main information of the article maybe as following.
2: Select a open source workflow systems or Engine
You can comparing workflow systems from following Open source projects
Shark - Shark is an open source workflow engine based on WfMC and OMG specifications.
jBpm - jBpm is a flexible, extensible workflow management system written by the author of this article. Business processes, expressed in a simple and powerful language and packaged in process archives, serve as input for the jBpm runtime server. jBpm combines easy development of workflow-applications with excellent enterprise application integration (EAI) capabilities. jBpm includes a web-application and a scheduler. jBpm is a set of J2SE components that can also be deployed as a clustered J2EE application.
OpenEbXML - The Open ebXML project is working to providing a ebXML framework that primarily supports the v2.0 set of ebXML specifications soon to be released by UN/CEFACT and OASIS.
Werkflow - Werkflow is a flexible, extensible process- and state-based workflow engine. It aims to satisfy a myriad of possible workflow scenarios, from enterprise-scale business processes to small-scale user-interaction processes. Using a pluggable and layered architecture, workflows with varying semantics can easily be accomodated.
OSWorkflow - What makes OSWorkflow different is that it is extremely flexible.
wfmOpen - 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). Workflows are specified using WfMC's XML Process Definition Language (XPDL) with some extensions.
OFBiz - The Open for Business Workflow Engine is based on the WfMC and OMG spec. OFBiz Workflow Engine uses XPDL as its process definition language.
ObjectWeb Bonita - Bonita is a flexible cooperative workflow system, compliant to WfMC specifications. 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 Worflow engine based in the activity anticipation model.
Bigbross Bossa - The engine is very fast and lightweight, uses a very expressive Petri net notation to define workflows, does not requires a RDBMS and is very simple to use and to integrate with java applications. Actually, it was designed to be embedded.
XFlow - XFlow runs within an EJB and servlet container.
Taverna - The Taverna project aims to provide a language and software tools to facilitate easy use of workflow and distributed compute technology within the eScience community.
Enhydra Shark - 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.
PowerFolder - PowerFolder consists of a developer studio, administration environment, and a runtime engine.
Breeze - Breeze is a lightweight, cross-platform component-based workflow engine prototype.
Open Business Engine - Open Business Engine is an open source Java workflow engine which supports the Workflow Management Coalition's (WfMC) workflow specifications, including interface 1, also known as XPDL, interface 2/3 known as WAPI and interface 5 for auditing. OBE provides an environment for executing activities in a controlled, centralized environment. OBE supports both synchronous and asynchronous execution of workflows. The primary OBE implementation is based on J2EE.
OpenWFE - OpenWFE is an open source java workflow engine. It features 3 components, easily scalable: an engine, a worklist and a web interface. Its workflow definition language is inspired of Scheme, a Lisp dialect, though it is expressed in XML.
Freefluo - Freefluo is a workflow orchestration tool for web services. It can handle WSDL based web service invocation. It supports two XML workflow languages, one based on IBM's WSFL and another named XScufl. Freefluo is very flexible, at its core is a reusable orchestration framework that is not tied to any workflow language or execution architecture. Freefluo includes extension libraries that enable execution of workflows written in a subset of WSFL.
ZBuilder - ZBuilder3 is a second generation of workflow development and management system which intends to be an open source product. It defines a set of standard JMX management interfaces for different workflow engines and their workflows.
Twister - Twister's aim is to provide a new generation, easily integrable, B2B oriented workflow solution in Java, based on the latest specification efforts in this field. The process engine is based on the BPEL business process specifications and Web Services standards.
Con:cern - con:cern is a workflow engine based on an extended case handling approach. A process is described as a set of activities with pre- and postconditions.
3: My Suggestion
(1): Select shark as workflow engine and JaWE as Workflow Editor.
Download Link
Shark: http://forge.objectweb.org/project/showfiles.php?group_id=74
JaWE: http://forge.objectweb.org/project/showfiles.php?group_id=50
3.1 What is Shark?
This is workflow engine completely based on WfMC and OMG specifications.
· It is using WfMC's XML Process Definition Language (XPDL) as its native workflow definition format.
· In its standard kernel implementation, shark is a library which does not create its own threads, and it can be used in many different environments (from WEB application, from swing application, deployed as CORBA service, in EJB container, ...). Our project distribution gives an example of using shark from Swing application and through CORBA, as well as from JSP client application.
· It is very configurable, and all of its "internal" interfaces, as well as complete kernel could be replaced by another implementation.
· It can be used from many VMs simultaneously (in cluster scenario).
· Along with its POJO interface, it provides a CORBA interface through which the CORBA client applications can communicate with the shark deployed as a CORBA service.
· It can be configured to use organizational structure defined on LDAP server (through the use of specific implementation of shark's UserGroup and Authentication component)
· It does not use any XPDL's Extended Attributes for its execution rules.
· Its interfaces allow passing of "external" transactions (used in some applications), so shark can work with this "client" transactions
· It uses DODS (OR/M tool from Enhydra), which enables shark to use almost any DB system for storing information, and it can be easily configured to switch target DB vendor and/or url (it has predefined scripts, and means to automatically create appropriate tables in those DBs using Octopus - ETL tool from Enhydra)
· It has implemented ToolAgent concept defined by WfMC to execute tools of automatic activities (several useful ToolAgents comes with shark)
· Shark can use custom Java classes (and even interfaces or abstract classes) as process variables.
3.2 What is JaWE?
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 and LDAP connections. It can be used to edit / view every XPDL file which conforms to WfMC specifications
JaWE is a tool for Process Definition modelling. The final output of this process modelling is a XPDL output file, which can be interpreted at runtime by the workflow engine(s). JaWE accomplished three main goals:
Graphical representation of process definition
Export of process definitions to XPDL
Import of any valid XPDL and its graphical representation
The workflow process definition interface defines a common interchange format, which supports the transfer of workflow process definitions between different products. A workflow process definition, generated by JaWE, is capable of interpretation in different workflow run-time products. The principles of Process Definition Interchange are based on Meta-Model framework. This meta-data model identifies commonly used entities within a process definition, their relationships and attributes. A variety of attributes describe the characteristics of this limited set of entities. Using this Meta-Model, JaWE can transfer models using a XPDL as a common exchange format. Beside this interchange, JaWE is also used for internal representation of process definitions. The whole concept is shown on the following picture:
There is a mandatory minimum set of objects, which must be supported within XPDL. This "minimum meta-data model" identifies those commonly used entities within a process definition and describes their usage semantics. Extensibility is provided by the facility to encompass additional object attributes ("extended attributes") which can be included as extensions to the basic Meta-Model to meet the specific needs of an individual product or workflow system.
3.3 Shark Administrator Application Interface
More Information please goto http://shark.objectweb.org/doc/1.0/index.html2.3.1
3.3.1 login
3.3.2 Management
3.4 JaWE editor Interfacw
More Information Please goto http://jawe.objectweb.org/doc/1.4/Manual/ch02.html
(2) Select Jbpm as workflow system
Download link: http://jbpm.org/download.html
3.5 What is Java Business Process Management(JBPM)?
JBoss jBPM is a flexible, extensible workflow management system. Business processes, expressed in a simple and powerfull language and packaged in process archives, serve as input for the JBoss jBPM runtime server. JBoss jBPM bridges the gap between managers and developers by giving them a common language : the JBoss jBPM Process definition language (jPdl). This gives software project managers much more control on their software development efforts. After loading the process archive, users or systems perform single steps of the process. JBoss jBPM maintains the state, logs and performs all automated actions. JBoss jBPM combines easy development of workflow-applications with excellent enterprise application integration (EAI) capabilities. JBoss jBPM includes a web-application and a scheduler. JBoss jBPM can be used in the simplest environment like an ant task and scale up to a clustered J2EE application. For easy of evaluation, there is a download of a preconfigured JBoss application server.
3.6 Overview
3.7 JBPM interface
More information please see http://jbpm.org/getting.started.html
3.7.1 use Carl gauss(cg)login. The interface as following:
Click “request a pay raise”