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

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.