WCF开发框架是在技术更新换代速度非常快的时代中脱颖而出的一款非常出色的开发工具,对开发人员来说是非常有用。我们今天就来看看在学习WCF知识结构时的经验总结。#t#
原代码名为Indigo的这个编程框架,在其Beta2 版本时正式更名为WCF,于2006年12月作为.NET Framework 3.0的4套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;
WCF知识结构也有可以与老式遗留系统(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知识结构中的盲点,又可以让你在自己熟悉的知识点上领略作者的看法和理解。
当然,读完本书,也不是完全没有疑惑,我最大的疑惑就是含有“卷1”字样的书名,难道这又是一个暗示?暗示我又要考虑搁置我关于WCF三部曲后续两篇的写作计划?抑或是可能的合作机会?我当然希望是后者,不过无论是哪一个,显然都是很值得我期待的!