Architecture Overview

The following diagram shows the main architectural elements of the Open Business Engine.

arch.png
Figure 1: Architecture Diagram, showing WfMC Interfaces

WfMC Interfaces

OBE implements several of the WfMC's Open Workflow Standards.

Administration Tool

The Administration Tool is used to manage workflow process definitions and the associated runtime process, activity and work item instances. OBE provides a command-line administration tool.

Worklist Handler

The Worklist Handler is an application that enables a human workflow participant to manage the work items which have been assigned to them. The Worklist Handler also launches custom third party applications on behalf of the participant. OBE provides command-line and web-based Worklist Handlers.

Workflow-Enabled Applications

These are custom applications that have been specially written to take advantage of the workflow management system. They use WAPI (Workflow API) to achieve a deep integration between application and worklist data.

Workflow Engine & Runner

The Workflow Engine is the core of the workflow management system. It is responsible for creating and enacting runtime instances of business processes. To achieve this it creates process, activity and work item instances and drives these through their standard life cycles (defined by WfMC Interface 2) in order to realize the activity flows defined in XPDL workflow models. The workflow engine relies upon various services which are provided by the Service Manager.

Service Manager

The Service Manager provides various services to the Workflow Engine. The services are completely pluggable to enable extensibility and server-side integration with workflow enabled applications. The implementations are specified by a configuration file. OBE provides two configurations: a basic non-transactional, non-persistent version based on in-memory JavaBeans and a robust, scalable, transactional configuration based on J2EE session and entity beans. Many of the services have their own XML configuration files.

External Persistence Services

The persistence layer provides long-term storage for workflow instance data. Typical service implementations use a relational database via JDBC and/or J2EE entity beans to achieve persistence and transactional integrity of in-flight process data. Other possible implementations include Hibernate and Spring.

External Event Sources

Workflows running under OBE have the ability to respond to a wide variety of external event sources via the Application Event Broker. External event sources can include both workflow-enabled applications and non-workflow aware sources such as asynchronous message publishers and relational database triggers. The default event broker implementations use a pluggable event classification scheme that can handle practically any kind of inbound data.

External Security Realm

The Realm service provides access to security principal information and allows the Workflow Engine to assign work items to workflow participants. In a J2EE configuration the Realm is typically integrated with the Application Server's authentication and authorization mechanisms, generally through JAAS (the Java Authentication and Authorization Service). Such mechanisms are generally backed by configuration files, relational stores or LDAP directory services.

External Applications

OBE can integrate external applications and custom procedures by launching them with parameters and data managed by the workflow system. Applications are launched client-side, procedures are invoked server-side.