Basic Workflow Tickets
The examples in Basic Job Tickets show job tickets executing requests for only one business service. If there is a need to execute requests for more than one business service then the workflow business service can be used. For example:
<workflow submitter="John" product="ProductX" job-name="Test" priority="1">
<math>
<request name="calculate-square-root">
<number type="integer">144</number>
</request>
</math>
<dictionary>
<request name="get-definition">
<word type="string">inchoate</word>
</request>
</dictionary>
</workflow>
This example will execute the “math” and “dictionary” business services in sequence. By default, if a business service fails then workflow processing will be aborted (i.e., remaining business services will not be executed). If you wanted the ‘dictionary’ business service to execute even if ‘math’ failed then you can specify the “on-fail” option for the “math” business service as follows:
<workflow submitter="John" product="ProductX" job-name="Test" priority="1">
<math on-fail="continue">
<request name="calculate-square-root">
<number type="integer">144</number>
</request>
</math>
<dictionary>
<request name="get-definition">
<word type="string">inchoate</word>
</request>
</dictionary>
</workflow>
The “on-fail” option may be “continue” or “end”. If the option is not specified then “end” is assumed.
Note that optional information about the ticket (i.e., submitter, product, job name, and priority) may be specified at the workflow level and at each subordinate business service. If a business service does not have this information then the workflow information will be used.