Prova Workflows is a set of examples that utilize Mule ESB to run a set of collaborating agents (workflows). The agents use Prova 3.0.1 as well as (albeit in a very simple way) Drools 5.0.1. Partial solution to the Flower Delivery problem from Opher Etzion and Peter Niblett's book on Event Processing is also included. The examples showcase sophisticated workflow patterns including, for example, Milestone, Structured Distriminator, Deferred Choice and Cancel Activity.
Prova version 3.0.1 has been released. Prova JIRA (http://www.prova.ws/jira) contains full details on the fixed issues and improvements. The binary artifacts are available from http://www.prova.ws/downloads and the Maven 2 artifact is in http://www.prova.ws/maven2. The source code is tagged and is available from the usual location linked from http://www.prova.ws/downloads. The OSGi manifest is now updated to version 3.0.1.
Prova 3.0 has now been released. The concepts that have gone into it are the result of extensive discussions with a lot of people. I want to particularly acknowledge help from Adrian Paschke, Bart Viaene, and David Jeffery.
This release has an extensive and up-to-date documentation available at http://www.prova.ws/etc/Prova 3.0 User Guide.pdf. If you prefer to read Confluence WIKI, it is as usual at http://www.prova.ws/confluence.
To streamline development, documentation, packaging and deployment, the decision has been made to release a completely rewritten Prova as a "Compact Edition", version 3.0.0. This version does not include ANY old Prova code or examples. The upside of this is that the binary distribution is reduced to about 2.1M, the Prova OSGi-enabled bundle jar to only 460K with only 8 external dependencies (also OSGi bundles). The release candidate is available at http://www.prova.ws/downloads as ws.prova.compact-3.0.0-all.zip and the Prova bundle alone is ws.prova.compact-3.0.0.jar.
The first draft of the new version documentation is now available at http://www.prova.ws/documentation.php. The current focus is on running Prova from command line and Java, reactive messaging and event processing.
A New Year 2010 is a great time to go ahead with a final push for a full Prova re-release with Documentation now in position one in the queue. The home for the documentation is the Confluence WIKI pages. The most overdue are the areas on Reactive messaging and Event processing.
Prova JIRA at http://www.prova.ws/jira is now upgraded to the JIRA Enterprise version. Special thanks go to Atlassian who kindly donate their excellent products to Open Source projects. Prova JIRA is now correctly linked to the Prova Subversion repository in SourceForge. JIRA plugin for Mylyn in Eclipse is now used for tracking issues and task assignment, which is in line with how we do things in Betfair for research projects.
This post discusses some arguments in favour of joining together the workflow logic with event processing. Typically, event processors and, in particular, stream processors detect event patterns, i.e., groups of events related by temporal relationships and meeting constraints on their content. Event detection is usually an all-or-nothing affair, so that a composite event is either detected or not, in which case nothing happens.
This post gives more details on the approach to event patterns now being added to the new Prova version. As explained in the previous article, the main idea is to group event reactions and associate an operator to the group. I use a term event channel to refer to each reaction that is a member of a reaction group. The new version introduces a variety of annotations that fine-tune the semantics of a reaction group. We make a distinction between control channels and ordinary signal channels.
Event algebras are a formalism for describing composite events that are groups of other events satisfying specified algebraic constraints. We wish to embed event algebra into the Prova language in the simplest, most natural way, allowing Prova rulebases to detect situations arising from events arriving according to pre-defined temporal patterns.