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.