频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

“WCF体验之旅”系列阶段性总结(1)

作者: Artech 出处:博客园 2008-03-14 14:32    砖    好    评论   进入论坛
阅读提示:WCF为我们提供了Secure & Reliable的Messaging,也为我们提供了更好的Interoperability使得我们可以和其他的平台进行互操作。

【引自Artech的博客】WCF是构建和运行Connected System的一些列技术的总称,它是建立在Web Service Architecture上的一个全新的Communication Infrastructure。你可以把它看成是.NET平台上的新一代的Web Service。WCF为我们提供了Secure & Reliable的Messaging,也为我们提供了更好的Interoperability使得我们可以和其他的平台进行互操作。

微软斥巨资打造WCF,在我们看来主要出于下面两个目的:实现其对现有的Distributed Technology的整合和顺应SOA的浪潮。在WCF之前,微软已经为了提供了一套完整的基于分布式的技术和产品,这些技术和产品使我们构建一个基于于分布式的互联系统变得异常简单。我们熟悉的技术包括Enterprise Service,.NET Remoting, XML Web Service, MSMQ等等,这些不同的技术和产品为相同的功能提供了不同的实现。对于技术的发展,我觉得“统一”是一个主线:为了让基于Web的开发可以采用我们基于Windows Form的Event Driven、Control Based开发模式,我们有了ASP.NET, 为了使具有不同结构的数据(.NET Object, XML, Relational Data etc)采用相同的操作方式,我们有了LINQ,同样,对于一个Distributed Connected System的开发,将不同的Distributed Technology整合起来,提供一个统一的Programming Model是绝对有必要的,WCF就是基于这样的一个目的发展起来的。

但是,如果你认为WCF仅仅是这些不同的Distributed Technology简单地组合在一起,那就错了。WCF在对这些技术进行整合的时候,始终有一个指导方针,那就是SOA。SOA,毫无疑问是今后开发Connected System一个趋势,对于SOA,我想网上充斥着太多的相关的信息,我在这里就不做任何介绍了。SOA的发展离不开一个大家能够一致尊崇的一个标准,而WS-* Spec就是这个标准。WCF基本上实现了目前所有的WS-* Spec 标准。

在过去半年之后,我陆陆续续写了一些关于WCF介绍的一些文章,我把它命名为“我的WCF之旅”,目的在于向大家分享我学习WCF这一段旅程。现在把把这个系列做一个阶段性的总结,以飨读者。这个总结并不是意味着我将结束这个系列,这个系列还会继续,新加的内容我会补上。

一、创建一个简单的WCF程序

在Microsoft提出.NET战略以来,先后推出了一系列产品和技术,这些产品和技术为我们在.NET平台下建立企业级的分布式应用提供了很大的 便利。这些技术和产品包括:.NET  Remoting,XML WebSerivce,WSE(2.0,3.0),Enterprise Service, MSMQ 等等。通过合理利用上面这些分布式的技术完全可以为我们建立的一套适合不同层次需要的分布式构架。但这里面仍然存在一些问题,那就是上面这些技术和产品只能解决某一方面的问题;比如.NET Remoting虽然在.NET平台下是一个很好的依靠,但是考虑到他不能提供不同平台之间的互操作性。另外,这些技术适合用了完全不同的编程方式,使得我们很难从容地从其中一种转移到另一种上来。基于这些原因,我们需要一套全新的技术整合以上都这些技术,于是我们有了今天的WCF—— Windows Communication Foundation。WCF建立一套框架,是我们通过一致的编程模式,使用不同的技术构建我们的分布式应用。

虽然很早开始接触WCF,但所学的总是零零碎碎。现在开始系统地研究WCF,希望与大家一同分享我的一些所得, 同时希望能通过这样的一个机会与大家一些探讨WCF,不对的地方希望大家指正。

一开始,我们先建立一个简单程序看WCF如何工作。

二、Endpoint Overview

WCF实际上是构建了一个框架,这个框架实现了在互联系统中各个Application之间如何通信。使得Developers和Architect在构建分布式系统中,无需在考虑如何去实现通信相关的问题,更加关注与系统的业务逻辑本身。而在WCF Infrastructure中,各个Application之间的通信是由Endpoint来实现的。

当我们Host一个WCF Service的时候,我们必须给他定义一个或多个Endpoint,然后service通过这个定义的Endpoint进行监听来自Client端的请求。当我们的Application需要调用这个Service的时候,因为Client 和Service是通过Endpoint的进行通信的,所以我们必须为我们的Application定义Client端的Endpoint。只有当Client的Endpoint和Service端某个 Endpoint相互匹配(Service端可以为一个Service定义多个Endpoint),Client端的请求才能被Service端监听到。也就是说,我们只有在Client具有一个与Service端完全匹配的Endpoint,我们才能调用这个Service。而这种匹配是比较严格的,比如从匹配Address方面,Client端和Service端的Endpoint Address不仅仅在URI上要完全匹配Service,他们的Headers也需要相互匹配。对于Binding, 一般地,Client需要有一个与Service端完全一样的Binding,他们之间才能通信。

三、在WCF中实现双向通信(Bi-directional Communication)

作为Remoting中实现双向通信对比,来讨论一下WCF的双向通信。为了使我们能够更好地对比双向通信在 Remoting中和WCF中的实现,我们的Sample采用一样的业务逻辑——调用一个数学计算的远程调用,除了传递相应的操作数之外,我们还传递一个对象,这个对象可以在Server端中回调 (Callback) 把运算结果在Client端显示出来。

四、WCF中的序列化(Serialization)

在分布式系统中,一个Application与另一个Application之间进行交互,必然需要携带数据。系统交互完全是应 Message的方式进行的,Message是XML,当然置于Message中的数据也应该是XML(XML Infoset)。如何处理这些交互的数据,我们可能首先想到的就是直接处理XML,我们可以在XML级别通过相关的XML技术——XSD,XPath, XSLT来操作数据。但是要使我们处理后的XML需要和要求的完全一致,这样的工作无疑是非常枯燥乏味而且费时费力的。而我们最擅长的就是使用.NET对象来封装我们的数据。如何使我们创造的对象能够有效地转化成结构化的XML Infoset,就是今天我们要讲的内容——Serialization。


共3页: 1 [2] [3] 下一页
【内容导航】
关于 WCF  SOA  总结
专题
透析SOA的技术支持
SOA实施之路
全面解构SOA技术理念
SOA 面向服务架构
体验Visual Studio 2008的魅力
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看70064次)
·UML类图详解 (查看63824次)
·UML统一建模语言 (查看34724次)
·C#技术开发指南 (查看33097次)
·Java编程开发手册 (查看31063次)
·Java编程开发手册 (1196个砖)
·Java基础教程 (429个砖)
·C#技术开发指南 (309个砖)
·.NET开发手册 (240个砖)
·PB开发教程 (223个砖)
·Java编程开发手册 (654个好)
·Java基础教程 (574个好)
·.NET开发手册 (271个好)
·PB开发教程 (212个好)
·Delphi开发技术手册 (188个好)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。