Chinaunix首页 | 论坛 | 博客
  • 博客访问: 46441
  • 博文数量: 11
  • 博客积分: 640
  • 博客等级: 上士
  • 技术积分: 175
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 23:19
文章分类
文章存档

2011年(1)

2008年(10)

我的朋友

分类:

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 RemotingEnterprise ServiceWSEMSMQ等技术的整合。由于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应用服务器(如WebSphereWebLogic)。应用程序可以运行在Windows操作系统下,也可以运行在其他的操作系统,如Sun SolarisHP UnixLinux等等。如下图所示:

  3、安全与可信赖

  WS-SecurityWS-TrustWS-SecureConversation均被添加到SOAP消息中,以用于用户认证,数据完整性验证,数据隐私等多种安全因素。

  在SOAP header中增加了WS-ReliableMessaging允许可信赖的端对端通信。而建立在WS-CoordinationWS- AtomicTransaction之上的基于SOAP格式交换的信息,则支持两阶段的事务提交(two-phase commit transactions)。http://wayfarer.cnblogs.com/images/cnblogs_com/wayfarer/wcf/wcf04.gif

  上述的多种WS-PolicyWCF中都给与了支持。对于Messaging而言,SOAPWeb 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。即使对于WCFASMX而言,虽然两者都使用了SOAP,但基于WCF开发的应用程序,仍然可以直接与ASMX进行交互。

 

WCF应用SOA模式,在客户层和业务逻辑层之间加上了服务层,避免了业务逻辑层直接暴漏给客户层,客户层的技术人员就不会看到业务逻辑层的对象和方法,降低了技术之间的耦合性。

在客户进程中,service安插在serviceHost里,serviceserviceHost 是安插在一个主机的进程当中的,进程中还包括若干个endpoint,service对外服务的接口。在客户进程中有一个Proxy,负责客户进程到主机进程的通信。但是事实上,直接进行通信的是在Proxy里的endpoint. Proxyservice description通过svcutil.exe进行数据源的交换,通过这种方式实现了clientserviceHost端的松耦合。

因为本人的烂电脑装不了.net框架,所以暂时没有运行过demo.感觉看了视频都是很理论的东西自己还是没有入门,不过看到群里那么多高手,以后要加紧向他们学习!

阅读(602) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-07-10 15:53:03

很好很强大,你基础好,学得比我快多了^_^