DCS is a communication infrastructure that provides an end-to-end development model that you can use to develop discovery-based client and service systems. The purpose of DCS is to speed up the development of high-quality services and the client applications that connect to them, and to let services make the best use of hardware, thus maximizing performance. You can use DCS to help solve many of the issues with distributed systems development, including problems that arise from service location changes, networking issues, interoperability, and concurrent throughput. In particular, DCS provides functionality to help build solutions with the following attributes:
- Support for business-oriented development
- Ability to reuse front-end logic and business logic across multiple channels
- Support for long-running operations spanning multiple channels
- Requirement for business continuity, such as service availability and system recovery
DCS components are built on Microsoft .NET technologies, such as Microsoft Windows Communication Foundation (WCF) and Microsoft Windows Workflow Foundation (WF), to help you build out-of-the-box enterprise-ready business services. Additionally, DCS tools can be scripted, which enables you to deploy services in an enterprise production environment.
DCS incorporates reusable application blocks based on guidance provided by the Microsoft Patterns and Practices group, a developer toolkit to simplify consistent solution development, and a run-time toolkit for managing deployed processes and services. DCS also provides a Microsoft Management Console (MMC) snap-in that you can use to fine tune performance and configure services to meet the business needs of your organization.