WCF Services
WCF services are the new distributed boundary in an enterprise application—with an emphasis on SOA.
In the past,you had to deliberate between Enterprise Services,.NET Remoting,or ASMX to distribute and reuse functionality,
WCF provides you with a single programming model to satisfy the needs of any equivalent distribution scenario.
With WCF,you can cross process,machine,and corporate boundaries over any number of protocols; you can expose interoperable web services; and you can support queued messaging scenarios.
I’ll take you through a few examples where WCF is deployed in lieu of earlier technologies.
Figure 1-11 illustrates an intranet scenario where a WCF service is invoked within an application domain over TCP protocol.
In this scenario,the client needed to reach remote services and authenticate with Windows credentials,and didn’t require interoperability.
As such,the service is accessible over TCP using binary serialization for better performance,and supports traditional Windows authentication using NTLM or Kerberos.
NTLM是NT LAN Manager的缩写,这也说明了协议的来源。NTLM 是 Windows NT 早期版本的标准安全协议
In the past,this may have been achieved using Enterprise Services (or possibly .NET Remoting although security features are not built-in).
Figure 1-11 Deploying WCF services on the intranet
Figure 1-12 illustrates an Internet scenario where multiple web services are exposed—one supporting legacy protocols (Basic Profile),another supporting more recent protocols (WS*).
With WCF,a single service can be defined and exposed over multiple endpoints to support this scenario.
Figure 1-12 WCF services exposed on the intranet
In Figure 1-13 you can see WCF implemented at several tiers—behind the firewall to support an ASP.NET application,and outside the firewall for smart client applications.
Again,the same service can be exposed over multiple protocols without duplicating effort or switching technologies.
Figure 1-13. WCF services deployed at several tiers over multiple protocols
Throughout this book,I’ll be exploring these and other scenarios while discussing specific features of the WCF platform.