Goal

Twister is aiming at providing a new generation, easily integrable, B2B oriented workflow solution in Java, based on the latest specification efforts in this field.

Justification

A workflow engine is a highly reusable piece of software in the sense that it has been, functionally speaking, pretty well specified. All commercially available engines provide more or less the same set of basic features, the difficulty being how easy it integrates in a complex architecture. There ? s not so much space for specifics here.

The problems faced by the industry in the last years were the absence of normative communication protocols between services and the lack of specification in the way processes are defined. The first problem has partially been solved by the Web Service trend, the second by efforts like BPML, XPDL or more recently BPEL4WS. We felt that the industry was getting more mature for a larger use of workflow technologies.

Commercial implementations are now easier to integrate and to use but an Open Source fully functional implementation targeted to the software industry and adapted to a B2B context, taking profit of the last standardization efforts, is still lacking. The goal of Twister is to fill this gap.

Structure

Twis ter will be fully Web Services oriented, using SOAP over HTTP as a communication protocol and WSDL as the interface description grammar.

The Twister solution is split into 3 separate blocks and an additional service :

  • The process designer that assist end-users in designing a process in a user-friendly way and produces a standard XML description.
  • The process deployer that takes this document as input and deploys it in the process engine runtime.
  • The process engine that runs your process.
  • A Work List Manager service that produce the user view of the list of tasks for the process actors.

Overview of all components

We will support BPEL4WS as standard for the process description language but could extend the process deployer and designer later on to support other standards. The process designer will probably not be shipped with the first increment as other medium could be used starting with (like XMLSpy or Eclipse with BPWS4J plug-in).