How the DCS Runtime Executes a Service Based on a Category Workflow
A category workflow lets you define an operation template for several operations. For example, consider an online business that uses one of several payment providers, depending on the country in which a payment is made. You can create a category workflow to collect all the required information for a payment, and then implement specific workflow operations to communicate with each payment provider.
Note
If you are familiar with object-oriented concepts, you can think of a category workflow as a base class and a specific workflow as a child class that inherits from this base class.
When you create a category workflow, you use the InsertSpecialisticWorkflow activity to indicate when the category workflow should invoke the specific workflow. When you create your specific workflow, you reference the category workflow that can invoke it, which links the workflows so that when the client invokes the specific workflow at run time, the DCS runtime can invoke the correct category workflow.
When the client application creates and sends a request message, the client application directs the message at the specific workflow that contains the required functionality. When the DCS runtime receives the message, it instantiates and runs the category workflow associated with the specific workflow, and execution follows the sequence of operations in the category workflow. When execution reaches the InsertSpecialisticWorkflow activity, the DCS runtime invokes the specific workflow that the client called and suspends the category workflow. Execution is passed to the specific workflow until that workflow completes. The DCS runtime then resumes execution of the category workflow, until the category workflow is finished and the DCS runtime can send a response message to the client application.
See Also
Activities for Building DCS Business Workflows
Building a Service by Using a Category Workflow
Walkthrough: Implementing a Service by Using a Category Workflow