Share via


Intermediary Router

I got queries for potential of using WCF LOB Adapter SDK for developing a "forwarding service" or a "router" adapter.  WCF LOB Adapter SDK is useful for communicating with target systems that have large and dynamic metadata.  Even though the adapter is surfaced as a WCF binding, the transport channel is embellished with metadata generation and message transformation.  We recommend using WCF Channel Model (and other extensibilty features of WCF) to create transport and protocol channels. 

There is a WCF sample on 'Intermediary Router' that can give you some guidance on developing a basic service routing functionality using WCF. Basic routing functionality is useful in network configurations where services may not be directly accessible by clients.  In a typical communication scenario that involves SOAP intermediaries, a message sent by a client traverses one or more additional services before reaching its final destination—the service that actually processes the message and provides a response, if one is expected. A SOAP intermediary may perform various actions on the message that is passing through it. For example, a caching intermediary would return a cached response to the message, which alleviates stress on the service that would have to process the request again. A load-balancing intermediary would use a round-robin algorithm to forward the message to one of many potential services. A schema validation intermediary would only forward messages that are fully compliant with the XSD of the contract and, possibly, other protocols. The intermediary developed for this sample is responsible for routing messages to an appropriate service based on the message's headers and content. Read more here

The Microsoft ESB Guidance provides architectural guidance, patterns, practices, and a set of BizTalk Server and .NET components to simplify the development of an Enterprise Service Bus (ESB) on the Microsoft platform and to allow Microsoft customers to extend their own messaging and integration solutions. You can also refer to Microsoft ESB Guidance at https://www.codeplex.com/esb and https://www.daveandal.net/articles/esbdocs/.