分类:
2008-11-20 15:09:26
WCF初学小结
——By Jessie
今下午看了下WCF的概要,由于本人才疏学浅,又是是程序盲,慢慢“啃”完了一个多小时的视频,下面就写一下我的陋闻,博大家一笑也好。
Windows Communication Foundation (WCF)是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NET Framework v3.0的重要组成部分,是Windows Vista® 操作系统和Windows Server® 2008操作系统的一部分。使用该框架,开发人员可以构建跨平台、安全、可靠和支持事务处理的企业级互联应用解决方案。WCF有一下几个方面的优点:
1、统一性
WCF是对于ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技术的整合。由于WCF完全是由托管代码编写,因此开发WCF的应用程序与开发其它的.Net应用程序没有太大的区别,我们仍然可以像创建面向对象的应用程序那样,利用WCF来创建面向服务的应用程序。http://wayfarer.cnblogs.com/images/cnblogs_com/wayfarer/wcf/wcf01.gif
http://wayfarer.cnblogs.com/images/cnblogs_com/wayfarer/wcf/wcf03.gif
2、互操作性
由于WCF最基本的通信机制是SOAP,这就保证了系统之间的互操作性,即使是运行不同的上下文中。这种通信可以是基于.Net到.Net间的通信,如下图所示:
可以跨进程、跨机器甚至于跨平台的通信,只要支持标准的Web Service,例如J2EE应用服务器(如WebSphere,WebLogic)。应用程序可以运行在Windows操作系统下,也可以运行在其他的操作系统,如Sun Solaris,HP Unix,Linux等等。如下图所示:
3、安全与可信赖
WS-Security,WS-Trust和WS-SecureConversation均被添加到SOAP消息中,以用于用户认证,数据完整性验证,数据隐私等多种安全因素。
在SOAP 的header中增加了WS-ReliableMessaging允许可信赖的端对端通信。而建立在WS-Coordination和WS- AtomicTransaction之上的基于SOAP格式交换的信息,则支持两阶段的事务提交(two-phase commit transactions)。http://wayfarer.cnblogs.com/images/cnblogs_com/wayfarer/wcf/wcf04.gif
上述的多种WS-Policy在WCF中都给与了支持。对于Messaging而言,SOAP是Web Service的基本协议,它包含了消息头(header)和消息体(body)。在消息头中,定义了WS-Addressing用于定位SOAP消息的地址信息,同时还包含了MTOM(消息传输优化机制,Message Transmission Optimization Mechanism)。如图所示:http://wayfarer.cnblogs.com/images/cnblogs_com/wayfarer/wcf/wcf05.gif
4、兼容性
WCF充分的考虑到了与旧有系统的兼容性。安装WCF并不会影响原有的技术如ASMX和.Net Remoting。即使对于WCF和ASMX而言,虽然两者都使用了SOAP,但基于WCF开发的应用程序,仍然可以直接与ASMX进行交互。
WCF应用SOA模式,在客户层和业务逻辑层之间加上了服务层,避免了业务逻辑层直接暴漏给客户层,客户层的技术人员就不会看到业务逻辑层的对象和方法,降低了技术之间的耦合性。
在客户进程中,service安插在serviceHost里,service和serviceHost 是安插在一个主机的进程当中的,进程中还包括若干个endpoint,是service对外服务的接口。在客户进程中有一个Proxy,负责客户进程到主机进程的通信。但是事实上,直接进行通信的是在Proxy里的endpoint. Proxy和service description通过svcutil.exe进行数据源的交换,通过这种方式实现了client和serviceHost端的松耦合。
因为本人的烂电脑装不了.net框架,所以暂时没有运行过demo.感觉看了视频都是很理论的东西自己还是没有入门,不过看到群里那么多高手,以后要加紧向他们学习!