Tools for Building DCS Services

The DCS Software Factory provides the Business Logic Visual Studio Extensions and an associated set of tools. These components enable rapid application development and deployment of DCS services and client applications.

A developer can use the Business Logic Visual Studio Extensions to implement operations based on business workflows. The DCS Software Factory supports the following common models of business workflow:

  • Specific workflows. This is the simplest workflow model. A specific workflow implements a self-contained, single-call, stateless operation that performs a sequential series of business logic tasks. Whether you use the OneWay or Request-Response communication model, there is only one incoming message to the service instance that exposes the operation. After the process triggered by that message is finished, the service instance ends.
  • Category workflows. In many scenarios, multiple operations can share a common process before they perform their assigned tasks. A category workflow lets you define this shared process as a WF workflow, and then insert a placeholder so that the DCS runtime can execute a specific workflow. When you start the operation, you call the specific workflow implementation that you want to run, and the DCS runtime executes the category workflow automatically.
  • Dd632036.note(en-us,MSDN.10).gifNote:
    A category workflow and a specific workflow have a relationship that resembles the inheritance relationship of a parent class and a child class in an object model. A specific workflow basically inherits all of the functionality of the category workflow that it is inserted into.

  • Conversational workflows. A conversational workflow lets you execute a predefined series of workflow activities by using a series of message exchanges based on a predefined conversational pattern. A conversational workflow is a stateful series of commands that is executed against a single instance of a service. The service instance remains active between operations until the conversation ends. When the workflow that defines the conversation is complete, the service instance expires and no additional calls to the service instance are possible.
  • Dd632036.note(en-us,MSDN.10).gifNote:
    Multiple clients can share the same instance of a conversational service. One client can start a conversational workflow, and another client can send a request to the same workflow. This feature lets multiple clients share data and state information.

  • Transparent workflows. A transparent workflow defines business logic that can be transparently plugged into the request pipeline for an operation. When a client application invokes the operation, the transparent workflow runs and can transform the request or response message in some way or perform additional processing. For example, a transparent workflow could perform auditing of client application requests. Transparent workflows cannot be called directly and are not discoverable by the usual means.
  • Transparent workflows are configured in the DCS Management Services console as a transparent pipeline of tasks that is attached to another service operation (known as the base service). The transparent workflow executes when the base service operation is invoked. The client application has no knowledge of the transparent workflow and cannot call it.
  • Dd632036.note(en-us,MSDN.10).gifNote:
    You can configure a transparent workflow to run if an event occurs when an operation is invoked. For example, a transparent workflow could run when the operation starts, when it finishes, or if it throws an exception. For more information, see Building a Transparent Process.

The DCS Software Factory includes a set of custom Windows Workflow Foundation (WF) activities that a developer can use for defining business workflows. For more information about how to use custom WF activities to build business workflows, see Activities for Building DCS Business Workflows.

The Guidance Automation Toolkit was used to construct the Business Logic Visual Studio Extensions. The extensions include Visual Studio templates for constructing DCS services, and they have recipes for:

  • Defining service contracts and fault contracts.
  • Implementing workflow-based services
  • Creating client proxies for DCS services
  • Deploying DCS services to a development or test environment.
  • Dd632036.note(en-us,MSDN.10).gifNote:
    The tools that are provided with DCS to deploy services can also be scripted to enable automated deployment to a production environment.

Show: