uses Groovy as a Business process languague (a DSL)
We like the idea of the PVM (see http://docs.jboss.com/jbpm/pvm/) and have taken some ideas
from this concept while we dropped ideas that reduce the simplicity of GrailsFlow
Developers including us wanted a workflow engine that has all "basic"
functions out of the box, is really easy to understand and extend and
is closer to Java/Groovy than to XML.
Other Workflow Engines
We have used jBPM in a small installation and OSWorkflow in major installations.
Both provide nice and stable engines.
However OSWorkflow does not have a stable workflow definition tool, and
not many good example applications. jBPM has most of those tools (eg. a workflow
editor based on Eclipse), but not nicely integrated in one application.
Both application rely heavily on XML for the process definition including the related variables and
activities.
We have realized large workflows with OSWorkflow, where we had some 5.000 lines
of XML for the workflow definition. Also we needed some 80 support classes
written in Java on top of OSWorkflow (about 200 classes).
In comparision we only need some 50 classes in Groovy and Grails for comparable
or better functionality.
Architecture
The application is written in Groovy and Grails. Process Definition are
stored as plain Groovy classes, that fulfill certain coding conventions.
By looking at the examples, you should be able to figure out those conventions.
The embedding into Groovy/Grails is in some respect similiar to the
integration of Spring Webflow into Grails.
Basic Functions