Process flows are used to process
event messages. Process flows contain process nodes, which contain
logic to process messages, and message nodes, which encapsulate the
inputs and outputs for the process nodes.
For broadcast events, you can configure one or more
process flows for an event. For request/response events, you can
configure only one process flow for an event.
You can configure a
process flow by using the Process Flow Editor to define a Process
Flow Diagram (PFD). A process flow configuration consists of the following
elements:
-
Name and description: the process name and an optional description.
-
Process nodes: a process node is a Java class that can have one or more inputs
and outputs. You diagram these inputs and outputs as message nodes.
When an event is received and a process flow needs to be instantiated
for the event, a run-time flow engine is instantiated. The run-time
flow engine calls a process node by instantiating the Java class associated
with that node. Currently, all process nodes are executed synchronously.
A process node configuration consists of the following:
-
A name and description: the process node name and an optional description.
-
A class: the Java class is used to instantiate the process node. You can
then generate the skeleton for the class, define your logic for the
class, and compile the class.
-
Attributes for the
class: attributes are name/value pairs for the class.
Note: If a process node has no
predecessors, then it is the starting node for the process flow. Each
process flow can have only one starting node.
-
Message nodes: a message node encapsulates the outputs and inputs to process nodes
in a process flow. A message node configuration consists of the following:
-
Name and description: the message node name and an optional description.
-
Details: details specify whether a message is required from the previous
process node in order to make a process node eligible for firing.
The following display
shows an example of a portion of a process flow diagram: