Software AG Products 10.7 | Integrating On-Premises and Cloud Applications | Service Development | Building Flow Services | What Is a Flow Service? | What Is a Flow Step?
 
What Is a Flow Step?
A flow service contains flow steps. A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time. The webMethods flow language provides flow steps that invoke services and flow steps that let you edit data in the pipeline.
webMethods flow language also provides a set of control steps that allow you to direct the execution of a flow service at run time. The control steps allow you to:
*Conditionally execute a specified sequence based on a field value.
*Retry a specified sequence until it succeeds.
*Repeat a specified sequence (loop) for each element in an array field.
*Exit a flow service, flow step, or iteration.
*Try a set of steps, catch and handle failures that occur in those steps, and execute a set of cleanup steps.
In the following flow service, control steps have been inserted to loop through a subset of the flow service and branch to one of two services in the last step of the loop.
Control steps are used to direct the execution of a flow
A flow service can contain the following types of flow steps:
Invocation Steps
INVOKE
Executes a specified service. For more information about this step, see The INVOKE Step.
Data-Handling Steps
MAP
Performs specified editing operations on the pipeline (such as mapping variables in the pipeline, adding variables to the pipeline, and dropping variables from the pipeline). A MAP step can also contain transformers which are service invocations. For more information about this step, see The MAP Step.
Control Steps
BRANCH
Executes a specified flow step based on the value of a specified variable in the pipeline. For more information about this step, see The BRANCH Step.
LOOP
Executes a set of flow steps once for each element in a specified array. For more information about this step, see The LOOP Step.
REPEAT
Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set. For more information about this step, see The REPEAT Step.
SEQUENCE
Groups a set of flow steps into a series. The SEQUENCE step is implicit in most flow services (that is, the steps in a flow service are treated as a series). However, at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit. For more information about this flow step, see The SEQUENCE Step.
EXIT
Controls the execution of a flow step (for example, abort an entire flow service from within a series of deeply nested steps, throw an exception without writing a Java service, or exit a LOOP or REPEAT without throwing an exception). For more information about this step, see The EXIT Step.
TRY
Executes a set of flow steps for which you want to provide failure handling and/or cleanup in a CATCH or FINALLY step. For more information about this step, see About the TRY, CATCH, and FINALLY Steps.
CATCH
Executes a set of flow steps that handle a failure that occurred during execution of a TRY step. For more information about this step, see About the TRY, CATCH, and FINALLY Steps.
FINALLY
Executes a set of flow steps that typically perform some type of clean up after a TRY step or TRY and CATCH steps execute. For more information about this step, see About the TRY, CATCH, and FINALLY Steps.
Some flow steps are container steps because the step can contain child flow steps. The REPEAT, SEQUENCE, LOOP, REPEAT, TRY, CATCH, and FINALLY steps can all contain child flow steps. An EXIT step can be used to exit a container flow step or the top-level flow service. A flow service is itself an implicit SEQUENCE.