Windows Communication Foundation: Application Deployment Scenarios
With this multiplicity of choices, many .NET developers often do not know which features to choose for their implementations what are the best implementation/deployment practices should be followed in each case. An excellent whitepaper by Michele Leroux Bustamante from IDesign provides an excellent summary on these multiple options. It is build around 5 common scenarios:
- Enterprise Web Services
- Web 2.0 services
- Intranet Applications
- Queued Messages
- Workflow Service
The whitepaper summarizes WCF features usage and implementation characteristics of each scenario, a summary of important development considerations, and answers to typical questions related to each scenario.
For the case of Enterprise Web Services whitepaper describes support for web services based on SOAP protocol and additional WS* standards. It includes extensive discussion on security implementations and such new features as Secure sessions, Reliable Sessions and Transactions. It also describes when these advance features should be used along with protocol and deployment options for them.
Web 2.0 services section starts with the detailed description of messaging protocols, prevalent in Web 2.0 implementations, including POX, REST, JSON, RSS and Atom and their support in WCF. It then describes deployment options, security support and client programming models for these protocols.
For the classic client-server applications and distribution of services behind the firewall a whitepaper discusses details of WCF support of binary SOAP messaging over TCP/IP and Named Pipes. Similar to the previous section this one provides a wealth of information on security and deployment option for client-server applications, using WCF.
Asynchronous messaging section describes WCF usage for implementation of guaranteed message delivery, asynchronous calls, disconnected calls and publish and subscribe patterns implementation. It includes recommendations on usage of the binary SOAP over Microsoft’s MSMQ transport, discusses recommended queues topology and security and deployment options for MSMQ transport.
Finally, Workflow section describes usage of WF for coordinating service calls using WF runtime and exposing a workflow as a higher level service. A whitepaper also introduces a notion of WF persistence as a way for implementation of long running (durable) stateful services.
The whitepaper is a very useful reference for everyone who is trying to navigate in an extremely rich and powerful WCF framework and is seeking a practical advice on a WCF usage for solving their specific problems.
cross-platform, cross-language integration with .NET WCF
You can download code, and read about user scenarios in the PDF documentation here. Cheers, alexis.