jCatalog Software AG
Home | Contact | Imprint   

De
 
About
Why GrailsFlow?
Release Notes
First Steps
Demo
Screenshots
Download
Installation
User's Guide
Developer's Guide
Licence
Contact

Home > OSS > Why Gratisflow

Why GrailsFlow?

We wanted to create an engine that is

  • easy to extend
  • written with Groovy and Grails
  • covers the engine, the process definition and the management tools
  • doesn't require a process definition in XML
  • has open source with a very liberal licence
  • 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

  • edit processes definitions
  • define actions that get executed in a process
  • support for process variables of all types (including documents)
  • start/list/kill processes
  • list all processes
  • drill into processes (history/current nodes/variables)
  • user and role driven worklist management
  • complete history of all processes and process variables


  • © Copyright 2000-2008 jCatalog Software AG Contact