To use the Automaton to handle a business process, create a flow
processor by doing the following:
Procedure
Model the business process as a state machine.
From this model, identify the Automaton entities that you need
to extend. To change the internal behavior of the Automaton to
suit the requirements of a particular project, create a specialized flow processor
and states by subclassing from DSEProcessor or DSEState, and define the relationships
between the tag names and the classes actually implementing the behavior.
These steps follow the normal programming model of the toolkit.
In addition
to the standard technique, you can directly set the tag name of the flow processor
to the actual name of the class that the externalizer is to instantiate. When
you use this technique, the externalizer does not use the relationships defined
in the configuration file. Instead, it follows the standard approach used
for operations, which is to use the name of the class set as the tag name
instead of searching in the toolkit configuration file for the relationship
between the tag name and the name of the class to be instantiated.
Using the model, create a definition of the flow processor. Each
node in the model has a corresponding state within the flow processor. You can define the process in the toolkit processor definition file,
dseproc.xml, or in a self-defined processor file. The self-defined processor
file can also contain definitions for the contexts and formats that the processor
requires that are not defined in the generic toolkit files.
To create the
definitions, use any ASCII editor.
To implement the business logic within the process, define the
flows in the processor using actions and guard conditions.
Example
The toolkit provides the following examples of realizing a complex
business function using a flow processor:
Managing processes in a rich graphical user interface (see Flow processor
example: process management in a GUI)
Managing navigation dialogs in a complex business function (a mutual fund
acquisition) using an HTML client (see Flow processor example: dialog navigation
controller)