WCF技术剖析(卷1)之推荐序

推荐序一

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月 于北京

推荐序二

随着核心Web服务标准(SOAP和WSDL)逐渐被广泛采纳和应用,高度异构的软件系统之间的互操作性取得了前所未有的进步,同时也在安全性、事务性、可靠性方面提出了新的要求,以至于后来又推出了大量的Web服务补充标准。在.NET平台下做过分布式开发的朋友,想必对以下技术都不会陌生:ASP.NET服务、Web服务增强、.NET Remoting、MSMQ等,这些技术各自独立,编程模型差别较大,无法用一种统一的编程模型进行分布式应用程序开发。

在2003年时,微软启动了一个代码名为Indigo的项目,微软试图实现一个宏伟的计划,用一套统一的API完成上述各模型的功能,同时支持良好的扩展性,便于出现新的Web服务标准、协议时,无需再开发另外一套模型,这听起来有些不可思议,但微软却做到了,2005年Indigo发展为一个稳定的版本,同时更名为Windows Communication Foundation(简称WCF),并且作为.NET Framework 3.0的一部分发布,.NET Framework 3.5中,WCF得到了进一步增强,在开发REST服务方面也提供了支持。可以说WCF是一个统一的、可配置、可扩展的分布式应用程序开发框架,使用它可以非常轻松高效的构建分布式应用程序。

目前WCF技术已经得到了广泛的应用,但国内在这方面的资料却非常少,据我所知,迄今为止还没有一本WCF的原创中文书籍,Artech的《WCF技术剖析》是国内第一本,非常荣幸,我能在第一时间阅读本书书稿,本书内容涵盖了WCF技术的方方面面,有知识讲解,也有案例演示,从使用的角度阐释了WCF。

Artech在WCF方面的造诣和写作功底不容置疑,这一点从他在个人博客上发表的WCF技术文章就可以看得出来,他的《WCF之旅》和《WCF后续之旅》两个系列深受广大读者好评。在读完本书后,只想对Artech说,上市后多送我几本吧,我要把它送给身边的朋友。

软件架构师 李会军

2009年6月于北京

推荐序三

十五年前,当我还在用C++和汇编在Win 3.1平台上写桌面程序的时候,我考虑的内容可以说很具体、也可以说很全面。说具体是因为我要关心存储、提取、进程间互斥、界面展现等众多技术实现内容;说全面是因为我大概要关心这些应用几乎全部的开发内容。

现在,时代变了。计算已经从桌面搬移到我们视野外部,计算可能发生在太平洋海底某个探测传感器上、太空中北斗卫星阵上、家里的洗衣机里、Windows Azure的SQL Services…。而我们自己除了专注于自己的开发工作外,也要多多“借他山之石”,根据需要把其他计算系统的资源“粘”到我们自己的成果上,并对外提供必要的服务和支持。

以前,为完成这些我们不得不面对众多技术,多种“方言”的结果往往造成工作成果无法重用;WCF的出现使得全球的.NET开发者可以用一种、而且是唯一的一种“语言”很好的把各种计算系统“黏合”在一起,同时我们的成果也可以被操着各种“方言”的用户分享,无论他信仰COM+、.NET、Java、REST还是其他。

感谢蒋先生的辛勤工作,《WCF技术剖析》为我们解读了WCF这个被国内、外同行普遍好评的技术。不过,由于WCF框架自身的延展性和灵活性,系统学习WCF本身也是一个较为艰苦的过程,蒋先生此次的第一卷相信会成为您入门并实际完成大部分项目的良好基础。

祝您用WCF飞跃更为广阔的分布式计算平台。

王翔

2009-05-22


作者:Artech
出处:http://artech.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2009-07-15 22:37  Artech  阅读(2225)  评论(4编辑  收藏  举报