Runtime components : Core components : Operations : Concepts : Operation steps
  
Operation steps
An operation step is an entity that represents one or more actions performed inside an operation. An operation can invoked one or more operation steps during its operation flow to perform some or all of the actions that the operation is to perform. The actions within an operation step can include performing data validation, interacting with a service such as inserting a row in the database, performing a set of interactions with a group of services such as a set that adds a record in the journal, sends data to the host, updates an entry in the journal, and prints a form in the printer, or a combination of many actions. The action may also include executing another operation if the business process requires the execution of more than one operation. Since these actions can be common to several operations with the only difference being the format of the data interchanged with the system services, the operation step can be a highly reusable part. Formatters handle the differences in data formatting.
An operation step can, for example, handle the entire communication process with the host including registering the corresponding handlers, sending the data streams, handling the responses, deregistering the response handler, and letting the operation know whether any exceptions occurred. A more generic operation step might access the journal before and after establishing the host communication process. This type of operation step represents a kind of atomic unit that the operation step itself can roll back if a failure occurs. It also provides greater opportunity for reuse.
The operation steps interact with two basic entities: the operation context and formatters. The operation step uses formatters to convert the data into a format understood by the service and to convert the data received from service into a format that the step can place in the operation context. The formatters and services can be defined externally.
Operation steps return an integer that the operation can use to control the operation flow such as doing the next operation step, skipping some operation steps, and ending the operation. If you model an operation as a state machine, you can use a flow processor to control the behavior of the operation. In the state machine, the states map to the operation steps in the operation. The toolkit provides the DSEOperationProcessor and DSEStep classes of the com.ibm.btt.automaton.ext package for this purpose.
See also
Concepts