BPMFlow is an implementation of the Buisness Process Model standards and includes an execution engine for business process automation.

BPMFlow is built on top of the state-of-the-art backend GemStone/S from GemTalkSystems. BPMFlow is an open source project.

BPMFlow is integrated with different technologies such as:

Open Source BPM using GemStone/S, Orbeon , Bizagi, Highcharts and others

BPM packages for GemStone/S ® implements the BPM standard. The application code can be found at (

BPM models are created using Bizagi Modeler ® and exported as XPDL files. The XPDL files are imported into BPMFlow, and the BPM Meta Model Execution Engine can instantiate and execute the models inside GemStone/S.

The BPM application presents forms for the user to enter or modify data using Orbeon ® or Seaside components. Inside Bizagi Modeler if a task has the extended attribute -seasideComponent- then is a Seaside task if not then is an Orbeon form. The execution engine will show a Seaside component or an Orbeon form depending on the task's definition in the Bizagi Modeler.

Using Orbeon is entirely optional..

BPM Flow + Orbeon + Bizagi

GemStone/S Packages


  • Store Orbeon Form Definitions and Instances

    • It creates from the XML string an object representation of the Form Definition or Instance .

  • Query Orbeon Form Definitions and Instances.

    • Different queries can be applied to Form Definitions and Instances.

  • Process Orbeon Forms in XML format after being POST by the user.

    • Orbeon do a POST to a REST services and it is processed and added to GemStone/S object base.

  • Synchronization between Orbeon MySQL Database and GemStone/S Object Database.

BPM Implementation:

  • Import XPDL files from Bizagi Modeler.

    • Others modeler tools can be added using XPDL import.

  • Each Bizagi element is mapped to an BpmArtifactDefinition subclass.

  • The Bizagi process creates a BpmProcessDefinition instance representing the process definition inside GemStone/S.

  • The BPM Execution Engine instantiate and execute instances of BpmProcessDefinition giving life to the process.

  • Each Bizagi task presents a user interface using either an Orbeon Form or a Seaside Component.

  • Support for Gateways:

    • Creation Conditions: [:form | form amount > 15000]

  • Display Orbeon in a IFrame or in a different page (configurable by user).

  • Backoffice and Frontoffice web applications.