Windows Communication Foundation (WCF)是用来在不同应用间进行互通信的一个编程框架,它是.Net Framework中偏重于通信的重要组成部分。原代码名为Indigo的这个编程框架,在其Beta2 版本正式更名为WCF,于2006年12月作为.Net Framework 3.0的四套API之一,一起发布。

从Native Win32到Managed的世界,应用进程间的通信机制一直是开发者最为关注的方面,在.Net Framework 2.0(2005年11月发布)以及以前的CLR版本中,微软提供了若干套相互分开的APIs,来支持应用间的互通信:有相对基础的Managed Socket机制;有可为二进制优化而设计的.Net Remoting(同时支持TCP/HTTP/Pipline);有可支持事务的通信机制Distributed Transactions;还有为使互操作能力最大化而设计的Soap-based通信机制XML Web Services;也有可以与老式遗留系统(COM/COM+/MTS等)异步通信机制Message Queues。由于这些这种各样的通信机制的设计方法不同,而且彼此间也有重叠性,对于开发者来说,不同的选择需要学习掌握不同的程序设计模型,非常的不方便。另外SOA(Service-Oriented Architecture)也开始盛行,随着技术的推进,微软重新审视了.Net中的这些通信机制,设计实现了一个统一化的通信编程开发模型,这就是WCF,对.Net平台上的数据通信提供了最基本最富有弹性和一致性的基础设施。

WCF是被按照SOA的架构原则而设计的分布式计算基础环境,在其上开发人员可以实现各种Services提供给客户端消费者来调用。WCF提供了各种各样的基础结构来最大程度地为开发人员提供方便性和灵活性,快速有效地构建Web Service应用。

WCF的魅力除了来自于它为我们开发人员所提供的模型和基础外,还来自于它自身的设计和实现。记得,当第一次了解到WinFx中Indigo的使命时,就对它充满了期待,同时也有几分的悬疑;当2002年得知Don Box加入微软负责Indigo的架构时,悬疑彻底被转化为更多的期待,更加关注它每个版本的成长,到2006年WCF随.Net 3.0发布时,呈现在我们面前的WCF堪称经典。其中恰到好处的抽象、分层和模块关系,简妙高效的运行时模型与框架机理,以及各部分丰满实在的内在实现,还有它相当彻底的可扩展性设计,都是我们学习架构设计的绝佳范本。可以说,WCF是微软SOA思维的第一轮近乎完美的演绎。自WCF发布以来,它迅速成为微软技术体系下企业级应用开发的首选平台,时间证明了它在微软SOA战略中的基石地位。

国内WCF的应用正稳步成长中,其中一些WCF技术先行者对广大社区的带动和推进作用是不可忽略的。本书的作者蒋金楠(Artech)就是其中走在前面的一位。他在博客园中关于WCF的博文成为许多WCF开发人员的第一手学习资料。

这里还要说一个小故事。去年,和TerryLee还有武汉博文的编辑朋友一起小聚,其中谈到技术写作,我向两位谈了自己关于“WCF三部曲(应用实践篇、技术内幕分析篇和扩展篇)”的写作计划,编辑朋友告诉我已经有作者在WCF上先期开始了,我马上就猜到了是Artech。随后通过TerryLee联络得知,Artech的书稿已经完成近半了。在拿到了Artech 新书的目录稿后,基于我对Artech博文写作的判断,我大胆做了决定,暂时搁置自己WCF首篇的写作计划,转而期待Artech新书的完稿。

直到最近看了Artech的整部书稿,通篇读后的感觉,书如己出,不亚于当年得知Don Box去了微软负责Indigo架构的消息时的感觉,事实证明,我当时搁置写作计划的决定是正确的。

知识结构全面、论述准确逻辑严密是本书的写作特点,是一本各个层次开发人员都可以从中受益的书:对于WCF的初、中级开发人员,这本书可以帮助你获得WCF全方位的知识,全面系统地帮你梳理关于WCF的知识结构,提升动手实施能力;对于WCF的高级开发人员,这本书即可以有效弥补你WCF相关知识结构的中盲点,又可以领略关于自己熟悉知识点的来自作者的看法和理解。

当然,读完本书,也不是完全没有疑惑,我最大的疑惑就是本书含有“卷一”字样的书名,难道这又是一个暗示?暗示我又要考虑搁置我关于WCF三部曲后续两篇的写作计划?亦或是可能的合作机会?我当然希望是后者,不过无论是哪一个,显然都是很值得我期待的!



资深架构师 曲春雨

2009年6月 于北京

posted @ 2009-08-26 23:43 JesseQu 阅读(737) 评论(0) 推荐(1) 编辑
摘要: Silverlight是微软公司推出的新一代RIA技术,是一种跨浏览器、跨平台的.Net Framework的实现,用来构建和发布下一代的媒体体验和Web交互应用,它统一了服务器、Web和桌面的功能。作为一种新的Web内容载体,它可以被以Web方式来发布,在客户浏览器端运行时它不但可以灵活地和各种服务器端应用来交互,更具有和桌面体验一样的、丰富的图形渲染及用户交互控制能力。 Silverlight的意义还远不止于此。试想若干年前服务器端的情形,只有Raw HTML的发布功能,后来出现CGI,开始以构造程序的方式来处理Web请求发放响应,各种应用服务器支撑着的编程模型逐步发展起来,直到现在像ASP.NET/WCF、J2EE这样的成熟框架,足以支撑起大规模的WEB应用,这之中最本质的一条发展线索就是编程模型在服务端的演进。现在,在Internet应用的客户端,具有类似的、编程模型本质的线索,即将发展到一个新的阶段。从HTML的渲染、Form Data的原始回发,到Web2.0中对JavaScript、DOM技术的接近极致的应用,再到近一两年像Google Earth/FaceBook这类 阅读全文
posted @ 2009-08-26 23:32 JesseQu 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 第二版本月18日发布, 全面覆盖WPF和Silverlight2,这样使用这两种技术开发LOB应用,完全有"理"可依了! :) 阅读全文
posted @ 2009-02-21 15:29 JesseQu 阅读(1867) 评论(3) 推荐(0) 编辑
摘要: WinHEC终于来中国了!一番感慨加简要介绍,暂放首页,大家周末闲来看看,还请dudu原谅。明天从首页撤下。 :) 阅读全文
posted @ 2008-11-23 12:49 JesseQu 阅读(2627) 评论(13) 推荐(0) 编辑
摘要: 对VS2008的用户来说,方便了许多!请看:http://blogs.msdn.com/agile/archive/2008/02/15/gax-gat-february-2008-final-release.aspx 阅读全文
posted @ 2008-02-18 12:16 JesseQu 阅读(629) 评论(0) 推荐(0) 编辑
摘要: 本文介绍一种在Unmanaged Code和Managed Code混合编程中使用COM接口指针的方法。 阅读全文
posted @ 2007-09-06 09:58 JesseQu 阅读(3002) 评论(5) 推荐(0) 编辑
摘要:   本文作为系列文章的第一篇,讲述了Hosting有关的背景知识,指出了CLR Hosting在这个知识体系中的位置,为后续的文章做些准备。 阅读全文
posted @ 2007-04-05 14:51 JesseQu 阅读(3485) 评论(12) 推荐(0) 编辑
摘要:   (本篇文章是CLR Hosting系列中的首篇,篇中简要介绍一下这一系列文章的主题,并作为一个占位来提供系列中文章的索引链接,起到一个目录的作用。)   您一定不容易下决心把手头上的服务器或桌面项目以纯Managed Code的方式来设计实现,但您一定不会不考虑对.Net CLR的集成和支持,以期获得强大的可扩展、可定制能力。另外,目前市场存在着的大量的Windows环境下的大型软件产品,这些Win32平台上的产品,有的可能已经集成了VBA环境获得了一定的可扩展能力,但是要想进一步在这个方面(可扩展)来发展,那么,关注.Net技术、关注CLR Hosting就是必须的选择了。 阅读全文
posted @ 2007-03-23 10:25 JesseQu 阅读(4211) 评论(12) 推荐(0) 编辑
点击右上角即可分享
微信分享提示