DCS is designed to support the needs of distributed and enterprise solutions. DCS provides service management capabilities such as service-location transparency, dynamic client, context-driven business process selection, scalable hosting of workflows and service configuration, and support for standards-based services.
The following sections describe the important features of DCS.
DCS supports business-oriented development in a service-oriented architecture. This enables you to model your business requirements and then transform them into an end-to-end solution. The flexibility of the DCS architecture also lets you make rapid updates to business logic as the needs of the business change, with reduced or near-zero downtime while these changes are occurring.
DCS provides a business process management engine based on Windows Workflow Foundation. The development tools that are included with DCS let you separate the implementation of operations in a service from the logical definition of those operations.
The run-time components of DCS implement a task factory that is responsible for instantiating and running the business workflow that implements an operation. You can use DCS to create different versions of the same operation to perform variations of a business process, and you can configure DCS to select the most appropriate version based on the context of the request. You can use this functionality to direct users in different parts of your organization to appropriate service implementations, according to their requirements. This redirection is transparent to the user.
DCS is an end-to-end communications framework. This means that client applications, service implementations, and the communication between them, are handled within the same framework. This framework lets you integrate other service implementations into the solution architecture by creating service or client wrappers for legacy or custom components. The solution can then use the DCS framework for communication between the wrapper classes. This lets you continue to use existing systems without re-creating them in the new infrastructure or being limited to the requirements of those systems. For example, DCS can use BizTalk orchestrations to implement external business services, and DCS can access Host Integration Server to integrate with mainframe applications.
DCS provides a services infrastructure that supports most of the common Web services standards as defined by the WS-* specifications. For example, DCS includes a security token service that follows the WS-Trust specification, and services can be configured to use security policies that follow the WS-Security and WS-SecureConversation specifications. DCS implements the WS-Discovery (2005 version), WS-MetadataExchange, and WS-Policy specifications to enable client applications to discover services and query their policy requirements in a standard manner. DCS implements the WS-ReliableMessaging specification for services that require reliable transmission and receipt of messages.
DCS manages location independence by implementing a Discovery Service. Instead of using hard-coded references to the services that it requires, the client application uses the Discovery Service. When the client application requires access to a service, it sends a request that identifies the required service to the Discovery Service. The Discovery Service then provides the endpoint that the client should use to communicate with the service.
To increase service reliability, DCS uses the same core functionality that it uses for location independence. DCS lets you add any number of service instances to the DCS Discovery Service. You can use this feature to configure redundant systems. When a client application queries the Discovery Service, the Discovery Service returns a list of endpoints to service instances that match the client request. If the client tries to start an operation on an endpoint and an error occurs, the client can retrieve another endpoint from the list and try to use that instance instead. The client receives an error message only after all endpoints in the list are exhausted and no more can be obtained from the Discovery Service.
If you have a long-running business process that has a high chance of process latency while it waits for a user or service to respond, you can configure the environment to save the process state in a database and remove it from memory. This mechanism is called dehydration. When the process is ready to continue, the DCS framework restores and starts the process so that it is ready to continue execution.
DCS implements an MMC snap-in that lets you handle most system configuration activities from a centralized location. You can also implement trace services to provide detailed logs of system activity. This makes errors easier to find. DCS also uses some new features of Business Activity Monitoring, a logging approach that maps business-oriented milestones to software processes.
Additionally, a DCS management pack is available for Microsoft Systems Center Operations Manager. This management pack provides comprehensive diagnostics and monitoring of DCS.