Ruote is a workflow engine. It's a runtime for long running business processes. Processes are explicitly defined and may be explicitly handled (start, pause, cancel, update). A process is started by handing a business process definition to the engine. A process definition is expressed in ruote’s own process definition language, which comes in three flavours: XML, a Ruby DSL, and Radial. A process definition describes the flow of work among participants. A ruote engine can simultaneously handle multiple process instances, created from one or more different process definitions. A process instance can be modified on the fly.
| Tags | Information Management Workflow Frameworks |
|---|---|
| Licenses | MIT/X |
| Implementation | Ruby |
Recent releases


Release Notes: Many improvements and new features. Backward compatibility is preserved. Participants get a new "on_apply" hook. Expressions accept a new "timer" attribute and a "flanking" concept is introduced for parallel branches of execution.


Release Notes: Tokyo Cabinet/Tyrant and DataMapper persistence was added. Lots of improvements were made.


Release Notes: Major enhancements were made for the workflow engine itself and for its packages ruote-web and ruote-rest. A Web based process designer named ruote-fluo was introduced.


Release Notes: The gem name has changed from "openwferu" to "ruote". The source code has moved from Rubyforge to GitHub. New "step" expressions were added for state-transitions based process definitions.


Release Notes: Lots of simplifications (and bugfixes) were made in the engine itself. The demo Web application has improved a lot. The state of business processes is visible as "tags".
A Java component for manipulating PowerPoint presentations.