Share via


DCS Core Services

DCS provides a set of core services that let developers perform specific tasks that are important for building distributed applications. These core services include DCS Dynamic Messaging Patterns, the Security Token Service, the DCS Discovery Service, centralized policy management, identity management, policy management, and an execution engine.

DCS Dynamic Messaging Patterns

The DCS Dynamic Messaging Patterns component is an extension of Windows Communication Foundation (WCF), part of the .NET Framework 3.0. DCS Dynamic Messaging Patterns extends Windows Communication Foundation to provide an enterprise-ready distributed bus with facilities for context transportation, logging, discovery, policies, security, reliability, authentication, authorization, and caching. DCS Dynamic Messaging Patterns is built on WS-Web Services standards to maximize interoperability and extensibility.

DCS Messaging Patterns uses the following WCF programming model concepts:

  • Contract – An agreement between the client and the server that defines the pattern of messages that will be exchanged. WCF makes it possible to implement different Message Exchange Patterns (MEP) through different types of contracts. DCS Dynamic Messaging Patterns supports Request/Reply and One-way MEPs.
  • Address – An address that a client can contact to communicate with a service.
  • Binding – A method for communicating with a service, such as transport, security, policy, and so on.

DCS Dynamic Messaging Patterns extends WCF as follows:

  • It provides a group of behaviors that extend the functions of all calls.
  • It provides an infrastructure to create custom binding elements that act as filters.
  • It provides an infrastructure to define policies.
  • It defines possible service hosts.
  • It simplifies configuration management.

Security Token Service

DCS includes a Security Token Service (STS) to provide authentication support for business applications. STS issues Security Assertion Markup Language (SAML) tokens to authentic clients. It relies on Active Directory to authenticate the clients. Before using STS, an administrator must configure STS with X509 certificates and supply authorization policies that meet corporate guidelines.

For more information about STS and other security topics, see the Microsoft Distributed Connectivity ServicesTechnicalGuide.

Service Agents

On the architecture diagram, Service Agent is used to refer to the client component and database.

Discovery Service

The DCS Discovery Service maintains a SQL Server database named *Discovery *that identifies the services that are participating in the DCS deployment. The Discovery Service provides clients with endpoints that match the client contract and the scope of that contract.

For more information about the managing Discovery Service, see DCS Discovery Service and Configuring Discovery Service.

Centralized Policy Management

DCS manages the configuration of each business process instance. Service access requirements, such as security and transaction flow, are defined as policies. DCS Dynamic Messaging Patterns uses a policy-based approach to configure the capabilities of a service instance. Policies can be used to configure both dynamic and central services. The DCS policy framework is based on the WS-Policy specification, available on MSDN at https://msdn.microsoft.com/en-us/library/ms951239.aspx.

The policy has three main effects on the communication:

  • It exposes the policy details in the Web Services Descriptive Language (WSDL) service manifest. The WSDL can then be exchanged through the WS-Metadata Exchange protocol.
  • It places an element that implements the receiving side feature that the policy requires in the receiving pipeline of the service.
  • It places a custom element that implements the sending side feature that the policy requires in the send pipeline of the calling proxy.

The following figure illustrates the flow of policy management.

Dd632505.e7df9e8d-8c1a-4c86-8e8f-67eae1f83014(en-us,TechNet.10).png

Policy management

To simplify configuration in the enterprise, DCS stores the configuration data for each DCS service instance in a central policy repository. When a service instance starts, the communication layer queries the central policy service and obtains the policies that are configured for each contract that it needs to expose. It then exposes the policy directives inside the WSDL and configures the receiving pipeline with the appropriate elements.

Business Process Management (BPM) Engine

The server-side components include a Business Process Execution Engine that can disconnect the implementation of a service from its service contract. Based on the context of a request, it chooses the correct implementation of a service operation and then executes it. The service operations can be implemented by using Windows Workflow Foundation (WF) or an assembly written in C#, for example.