Using the Proxy Providers
CCF uses proxy providers in order to decouple the interaction between the CCF server and the actual provider. You can choose from any of the proxy providers depending on the type of communication and the client application. The Integrated Desktop configuration file includes a section <ProxyProviders>, which contains proxy information and the default proxy in use by ID. You can specify the default proxy provider in the <defaultProvider> tag.
The proxy providers allow you to pass an identity along with a service call to WCF service calls. However, passing identities does not eliminate the need to create SPNs for Kerberos. The passing of identities only ensures the authenticity of a service call.
CCF SP1 includes the following proxy providers:
- WCFProxy: Provides WCF-based proxy to retrieve endpoint address and identity details from an application configuration file. The WCFProxy allows you to use basic WCF configurations.
- WCFSeProxy: The proxy is similar to the WCF proxy; additionally, it support security extensions.
- CCFProxy: The proxy uses CCF configuration service to retrieve the endpoint address and identity details. The CCF proxy provider allows you to pass a Kerberos identity from the database.
- CCFSeProxy: The proxy is similar to the CCF proxy; additionally, it supports security extensions. In addition to the functions of a CCFProxy, the CCFSeProxy sets the client credentials using AgentCredentialUtility.
- AdminConsoleProxyProvider: The admin console uses this proxy provider to retrieve the addresses using the identity passed in the Connect dialog box. It then retrieves the server name and identity details from the registry and updates the endpoint address with this information. This proxy is required since Admin Console does not use the Configuration Service to retrieve endpoint addresses.
- DcsProxyProvider: Provides DCS-based proxy to retrieve endpoint address and identity details from an application configuration file. The proxy uses the discovery service to retrieve the information.
- CustomAddressProxy: The proxy is used to create custom proxy providers.
Each of the above proxy providers are built for a specific purpose. You can interchange the use of proxy providers among services. However, you have to ensure that you use the appropriate proxy for your environment and/or service call. While using proxies, you must ensure that:
- You use proxies other than CCFProxy and CCFSeProxy to access the Configuration web service. Since these proxies are based on the configuration web service, they create a conflict in the CCF environment.
- You must use proxies supporting security extensions whenever you are using security extensions.
- You do not use DCSProxy for asynchronous web service calls. DCS channel factory does not support asynchronous calls; hence, it is recommended that you use other proxies.