A workflow is a mechanism to execute a number of distributed application tasks in an asynchronous way. With workflow, you can manage multiple activities asynchronously using more than one computing resources. The execution of the workflow tasks can be sequential and parallel as needed. While creating a workflow, you need to determine the tasks to be executed in the workflow. SWF recognizes these tasks as activities. You can define the coordination logic in the workflow that determines the order in which the activities are executed.
As shown in Figure 14.1, a customer order processing workflow can be implemented using SWF:
Figure 14.1: SWF customer order processing workflow
- The workflow starts with the customer placing an order.
- The order is verified by the order verifiers component of the application, which is hosted on a separate environment.
- Once the order is verified, the customer is charged by the Credit Card Processors component of the application.
- After a successful...