Workflow Services

The OBE server runtime depends upon a number of workflow services. The services themselves are defined as interfaces and OBE supplies at least one default implementation of each. In some cases, two implementations are supplied: a basic, non-transactional, local in-memory implementation suitable for simple applications and a persistent, transactional, distributed J2EE-based implementation.

Configuration Files

Many of the services initialize themselves from one or more XML and/or Java properties-format configuration files. These files can be located in the $OBE_CONFIG_DIR directory or in the META-INF/services folder inside obeconfig.jar.; entries in the XML files have the general form:
<type id="nmtoken" type="nmtoken"? threadsafe="true|false"?>
<display-name .../>?
<author .../>?
<description .../>?
<doc-url .../>?
<!-- Additional service-specific elements -->
...
</type>
id
The unique ID of the entry.
type
The ID of the entry which this entry extends.
threadsafe
Indicates whether an instance of the described entry is threadsafe.
display-name
The name to be displayed in design tools.
author
The name of the author or organisation which created the entry.
description
Textual description of the entry.
doc-url
A URL to online documentation for the entry.
The type attribute provides a reuse and extensibility mechanism for user-defined entries. The value must match the ID of one of the other entries in the configuration file. Any properties which are not set explicitly on the child entry will be recursively inherited from the parent type. It is thus possible to set up entire hierarchies of configuration data. N.B. The system does not detect circular dependencies - they will cause infinite loops when the system attempts to resolve an unset property.

The definitive specification of the elements and attributes supported by the XML configuration files is the Castor mapping file  META-INF/services/castor-map.xml inside obeconfig.jar.

The Services

Application Event Broker
Provides an interface to external asynchronous event sources including timers.
Assignment Strategy Factory
Provides support for pluggable strategies for assigning work items to workflow participants.
Async Manager
Provides support for asynchronous execution of workflow operations.
Calendar Factory
Provides temporal computation services.
Completion Strategy Factory
Provides support for pluggable activity completion strategies.
Data Converter
Provides data conversion services.
Evaluator Factory
Provides support for evaluation of expressions in arbitrary scripting languages.
Function Factory
Provides support for user-defined functions in expression evaluation.
Instance Repository
Provides storage and lookup for process instances.
Process Repository
Provides storage and lookup for workflow process definitions.
Resource Repository
Provides storage and lookup for arbitrary XML and other documents.
Security Realm
Provides security principal resolution services.
Tool Agent Factory
Provides support for client- and server-side invocation of arbitrary applications and procedures.
Workflow Event Broker
Provides notification services for all workflow lifecycle events.
XPDL Parser Factory
Provides support for parsing and serialization of XPDL documents.