Flexible Workflow Management Systems? 20
Paul Roberts asks: "I just started on my new job and I have to develop, in J2EE, a workflow management system (WMS) for the financial department. I'm both new to J2EE and WMS, so I could really use any help that experienced Slashdot readers have to offer. I have been warned of frequent changes in the process flows, due to changes in the law or management vision, and the system should be able to handle these, including any retroactive changes that may need to be made. As a bonus, the system could produce personalized letters, but if that feature isn't available, we can program that ourselves. I've been searching the web to find existing solutions, Sourceforge gave a list of 2 pages of active projects (and many more inactive projects), OpenSymphony has OSWorkflow, JBoss now includes jBPM. Of all those WM systems around, what are your experiences, what are the things I should look out for - both in features that should be present and in pitfalls to be avoided?"
*raises hand to ask question* (Score:5, Insightful)
Re:*raises hand to ask question* (Score:1)
Re:*raises hand to ask question* (Score:2)
Re:*raises hand to ask question* (Score:3, Insightful)
Maybe Sun made a huge mistake by putting all these under the J2EE name since this leads to lots of misunderstandings. Even you do a little J2EE bashing while
Object Relational Mapping Frameworks (Score:2, Informative)
The other thing to keep in mind is to not depend on a product to give you a
Re:Object Relational Mapping Frameworks (Score:3, Insightful)
Re:Object Relational Mapping Frameworks (Score:2)
I agree, Objects should be stupid. That's why you declare an object `Type` that has `Attributes` and you declare `Policies` that govern the object types. This way you can have one object that is governed by multiple policies. The policy is the abstraction level where you would declare lifecycles and access.
When an object is instantiated in the ORMF it is specified what policy governs that instance and inherits the poli
Re:Object Relational Mapping Frameworks (Score:2, Insightful)
Dear Slashdot, (Score:5, Funny)
Give the guy a break (Score:1)
Open Source Workflow Engines Written in Java (Score:5, Informative)
# 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.
# Codehaus 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.
# OpenSymphony OSWorkflow What makes OSWorkflow different is that it is extremely flexible.
# jBpm 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 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 scalable J2EE application.
# 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 Workflow Engine 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.
# 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. Taverna is both a workflow enactor and also an editing suite.
# JFolder JFolder (formerly PowerFolder) contains features critical to many applications - including web pages, workflow, security, persistence, email, file management, and data access.
# 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 serv
XPDL (Score:4, Informative)
XPDL is not the only workflow description standard and XPDL in itself won't bring you anywhere. This is a topic which is unfortunately being worked by a lot of marketing and sales guys who will promise anything to get their tools sold.
While I can assure you that XPDL was the right choice for us it can be the wrong choice for you. This very much depends on what you actually need to achieve. "Workflow" is a really broad topic (as is "J2EE" by the way). If it comes down to management of approval then you maybe better roll your own.
If you are really forced to use J2EE than this probably has a reason which might be that J2EE is used in your company alot. So for questions like persistence you might ask your co-workers. We worked with EJB for years and ended up using our very own "bean managed persistence". I would not advice using EJB to starters but like I said there might be enough knowledge arround you anyway.
As always you can't have both flexibility and simplicity. Unfortunately with Workflow Management this seems to be even more the case. So get your priorities straight and then - Good Luck!
Does it have to be developed? (Score:3, Interesting)
Re:Does it have to be developed? (Score:1)
If not, I highly recommend TeamTrack.
For those wondering what he was talking about, I think this is the home page of TeamTrack [serena.com], which lets you download an evaluation version, and a InfoWorld review [infoworld.com] indicates pricing is about $9,000 USD for 10 named users and $17,000 USD for 10 concurrent users. Even with heavy discounting, it would put a moderately stiff price tag on a deployment that makes BPM infrastructure like this a linchpin of operations for a medium-sized (400-900) company.
At 50% discount with 40
Do you even know licencing needs?? (Score:2)
What are your company's need for this stuff?
Does it need to be saleable? In which case, stop looking on sourceforge for GPL'd stuff.
Is it a purely in-house one-off? Is it doing mission critical things? These things have a habit of growing well beyond your original expectations or companies decide they want to sell their in-house product for other people.
For some discussions about workflow
Lotus Notes and J2EE are spectacular together (Score:1)
If you're an Oracle shop... (Score:2)
We have done a project where database-intensive tasks were hung in the workflow as PL/SQL workflow steps and where the Java workflow steps were put on a queue. A servlet ran in the application server and checked whether there were Java workflow steps on the queue. If so, it de
Slashdot, please help... (Score:1)