The following is basically a cut-and-paste from the documentation page of a new project of a Java workflow management system which aims at real-time processing, and will provide real-time processing features to whoever is using it, such as the new real-time spec for Java and grid computing by point and clicking, all based on P/T networks. I’m interested to hear your comments!
Start quote..
There are many workflow frameworks to date. Many in Java, many in other languages as well, a standard has been created to define workflows and to be completely honest, the field looks quite saturated. So why create another framework?
What we have today
With the growth of the internet, the term “business to business” or “b2b” has emerged. The main idea is that business application logic could be operated with little or no human intervention, flowing inside the business processes and even outside of it to other businesses for various reasons such as authentication or authorization.
As the workflows of businesses got overly complex, applications started emerging to manage these flows, so that administrators could create, deploy, debug and monitor these complex processes more efficiently. With these applications different standards emerged, such as the Business Process Execution Language (BPEL).
At the same time, new developments were starting to happen such as Web Services, and were made completely easy to create and deploy using new languages (such as .NET) and new features in current languages (such as EJB 3.0 in Java EE). This made it easy for applications to converge to the new standrads and create some really great, amazingly comfortable workflow management and deployment tools.
Why Is This Not Enough
However, most of these tools still speak of the business process. These have issues such as security in terms of roles, functions and users in mind, running a single process for a long period of time which requires saving its state to some sort of database, to name a few features.
Because they were made for the business world, these features are extremely important. However, because they were not made for the real-time processing world, they lack some very important features these kind of applications require, such as dealing with an extremely large throughput of data, using real-time, uninterruptible threads for some processes, using real-time, unmovable and safe memory regions, just to name a few.
What We Want To Make
There is a large number of applications where developers write the same type of code for this kind of real-time processing. Sometimes its more efficient, sometimes its less - But it almost never covers all the features the developer really want to have. We believe that just like object/relational mapping needed an open-sourced project to make the feature available to consumer applications and not just enterprise applications, our framework would bring the business workflows to real-time processing.