4

《WCF全面解析》(上、下册)正式出版

 2 years ago
source link: https://www.cnblogs.com/artech/archive/2012/05/08/wcf-book.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

《WCF全面解析》(上、下册)正式出版

“全书之写印,实系初稿。有时公私琐务猬集,每写一句,三搁其笔;有时兴会淋漓,走笔疾书,絮絮不休;有时意趣萧索,执笔木坐,草草而止。每写一段,自助覆阅,辄摇其首,觉有大不妥者,即贴补重书,故剪刀浆糊乃不离左右。个中甘苦,只自知之。”
在某个阳光明媚的早晨,我在去上班的公交车上翻看岳南先生的《南渡北归》的时候,看到上面这段董作宾描述自己写作《殷历谱》之甘苦的文字,回想起我写作这本书的经历,不禁感慨万千。我无意将《WCF全面解析》自比煌煌巨著《殷历谱》,只是觉得人同此心,这段文字正好描述我写作此书的状态。

《WCF技术剖析(卷1)》(以下称《卷1》)于2009年7月正式出版,在此不久我就开始了《卷2》的创作。对于《卷1》的写作,我还算是游刃有余,但是写作《卷2》的难度是我始料未及的。如果像市面上大部分专著一样只涉及WCF编程,我想《卷2》早在一年之前就已经完成了。但是我在写作之初就没有将本书定位为一本纯粹的WCF编程书籍,而是决心写一本“深入肌理”,对WCF进行“庖丁解牛”式剖析的书籍。在没有任何现成资料可供参考的情况下,我只能通过对源码的分析来了解其底层的实现原理。为了能够确保这部分内容的正确性,我编写了很多的测试程序来证实我的想法。

“探究之深”是本书难以在较短的时间之内交付出版的一个主要原因,而另一个因素则是“涉及之广”。WCF不是微软在Windows平台下的闭门造车,而是在设计之初就考虑到了针对开放标准的支持。《卷2》涉及到太多的WS-*规范,比如“异常处理”一章涉及到SOAP;“元数据”一章涉及到WS-Policy、WS-Transfer、WS-MEX和WSDL;“事务”一章涉及到WS-Coordination和WS-AT;“可靠会话”一章涉及到WS-RM;“传输安全”一章涉及到WS-Security、WS-Trust 、WS-Secure Conversation和WS-Security Policy;“WCF 4.0新特性”一章涉及到WS-Discovery。对于这一系列的WS-*规范,单单从头到尾看一遍都需要花费不少时间,而我已经不太记得自己究竟看多少遍了。

《卷1》的整个内容基本上都围绕着WCF本身,但《卷2》却涉及到不少的背景知识。为了让读者对WCF有一个全面而深刻的了解,我在书中涉及到很多背景知识的介绍。比如“事务”一章中花费了很多文字介绍MSDTC和System.Transactions事务;“并发与限流”一章中有针对同步上下文的介绍;为了让读者能够深入认识可靠会话的实现原理,我将其同TCP协议的机制进行类比;“队列服务”一章中对MSMQ进行了系统的介绍;“传输安全”一章中更是涉及到针对非对称加密以及NTLM和Kerberos认证原理的介绍。

由于写作难度不小,加上写作和资料收集只能在工作之余进行,所以很多次都有中途放弃的念头。很有意思的是,每次在我下定决心放弃写作后没几天总是会收到《卷1》的读者给我的留言,这些留言体现了对《卷1》的肯定,充满了对《卷2》的期待。读者的肯定和期待一次次给了我坚持下去的力量,前后经历了两年的时间终于完成了《卷2》,这算是对读者的交代,也是对我自己的交代。

《卷2》完稿之后我开始为《卷1》的再版进行修订。对于出版后的《卷1》我基本上很少翻看,因为我个人基本上不太喜欢翻看自己写的东西,包括自己写的400多篇博客文章。针对《卷1》的修订让我第一次完整地阅读自己写的东西,经过了写作《卷2》的“折磨”,让我对WCF有了更加深刻的认识,于是我基于对WCF最新的理解开始对《卷1》的内容进行大刀阔斧的修改。虽然《卷1》大体上还是保留着原来的结构,但是内容已经发生了巨大的改变。据我粗略估计,改动内容的比率基本上达到一半。

最后我将《卷2》和修订后的《卷1》给李建忠和吕建伟(阿朱)老师帮忙审阅,李建忠老师建议增加关于WCF REST的内容,于是我在《卷1》中新加了“REST服务”一章。由于新的《卷1》已经难现往日模样,在本书的策划编辑张春雨老师的建议下我决定将原《卷1》和《卷2》作为一个整体分上、下册出版,于是才有了你手中的这本《WCF全面解析》。

内容简介
本书特点
本书读者
推荐序一 [李建忠 祝成科技创始人]
推荐序二 [阿朱 畅销书《走出软件作坊》作者]
媒体评论

《WCF全面解析》(上册)- 目录
《WCF全面解析》(下册)- 目录
《WCF全面解析》-章节内容简介

《WCF全面解析》是作者多年潜心研究wcf技术的心血之作,也是这些年来从事wcf开发的经验总结。书如其名,《wcf全面解析》涵盖了wcf几乎所有的知识点,并对其底层框架进行了“庖丁解牛”式的剖析,力求将wcf的整个运行机制完整而清晰地呈现在读者面前。

《WCF全面解析》上册的前四章在对wcf进行总体介绍的基础上,对构成终结点的三要素(地址、绑定和契约)进行了系统说明;随后的两章则着重剖析序列化和消息编码在wcf中的实现;第7、8章讲述了在服务寄宿和操作调用过程中,wcf的服务端和客户端框架分别为我们做了什么;第9、10章将介绍的重点落在实例化、会话和rest服务上面;在最后一章中采用wcf构建了一个具体的电子商务网站vm,它将指导你如何将理论应用于实践。

《WCF全面解析》下册主要涉及一些所谓的“高级”话题,主要包括如何在分布式环境中处理异常(第1章);元数据的导入与导出、发布与获取如何实现(第2章);如何利用wcf对事务的支持将分布式事务引入服务(第3章);如何利用并发与限流机制提高服务的吞吐量和可用性(第4章);如何利用可靠会话机制确保消息的“使命必达”(第5章);如何利用队列服务提供离线通信的支持(第6章);第7、8章主要涉及安全的相关内容,包括传输安全、授权与审核;第9章全景展示wcf服务端和客户端的运行时框架,以及在此基础上的所有扩展可能;最后一章为你带来wcf 4.0几个独立的新特性。

《WCF全面解析》不仅适合尚未接触过wcf,希望尽快入门并进行深入研究的开发人员使用,同样也适合对wcf有一定了解的开发设计人员和架构师阅读。相信不同层次的读者都能从《wcf全面解析:全2册》中找到自己希望了解的部分。

如果要说出《WCF全面解析》具有哪些市面上其他WCF图书不具备的特点的话,我觉得可以通过以下三个“注重”来概括。

  • 注重原理:“知其然,且知其所以然”,对一项技术实现原理的把握能够帮助你更加有效地利用这项技术。WCF建立在.NET平台下,提供基于托管代码的应用编程接口(API),在编程层面不会太复杂,也很容易入手。但是如果希望通过WCF构建一个具有高性能、高可维护性、高可扩展性的分布式应用,就要求架构师、设计师和开发者对WCF的实现机制,以及面向服务的设计原理具有正确、全面而深入的理解。当然,对于WCF编程的介绍对于任何一本关于WCF的图书都是必需的,《WCF全面解析》也不例外,不过它和那些完全介绍WCF编程的书不同的是,本书中此类内容仅占全部内容的一半左右。
  • 注重细节:“细节决定成败”,如果将2/8原则应用到编程领域,它将体现在:花20%的时间编写出80%程序主体,而80%的时间用于编写剩下20%核心程序并纠错和解决Bug。这些Bug的产生往往是由于对细节不够重视所导致的。《WCF全面解析》会介绍一些常被人们忽视而导致产品Bug的细节,这些细节多源自于我这些年来实践的积累和总结。
  • 注重实践:“实践出真知”,不断地在具体应用中进行实践是学习WCF最有效的手段。实践是检验真理的唯一标准,通过将所学的WCF知识应用到一个真正的应用之中,才能确保我们掌握的知识的正确性。实践不但可以巩固我们的所学,还会让我们意识到不足。《WCF全面解析》在每一章节都会提供一系列的实例演示,读者可以单独下载这163个实例的源代码。

本书的内容不仅适合尚未接触过WCF,希望尽快入门并进行深入研究的开发人员,同样适合对WCF具有一定了解的开发设计人员和架构师。相信不同层次的读者都能从本书中找到自己希望了解的部分。阅读本书的读者需要对.NET,包括对C#和.NET Framework具有一定的了解。如果读者具备了DCOM、Enterprise Library Service、.NET Remoting、Web Service、MSMQ及SOA相关的基础,对阅读此书尽快掌握WCF将大有裨益。

推荐序一 [李建忠 祝成科技创始人]

由于从事IT技术教育行业,我对金楠在技术教育传播方面的付出有着格外一层敬意。对国内IT技术出版历史有所了解的朋友应该不会忘记,我们曾经的IT技术出版是多么的贫瘠和劣质。大量的非专业人士在翻译、编著一些粗制滥造的图书来“教育”从事一线IT技术工作的专业人士,一如食品行业的“三聚氰胺”和“地沟油”,侵蚀着技术人员的知识供应系统——这段荒诞的历史,是中国IT行业一段时间以来技术水平低下的一个重要原因。

我一直有一个观念:IT教育、出版、传播必须由一线专业的技术人来做内容的生产者——其实这是一个常识,可惜的是在我们这个杂草丛生的时代,这些常识常常被忘记。
所幸,每个行业总有一些进步的力量在推动改变。金楠就是推动国内技术教育进步力量的一分子。首先,金楠是一位工作在一线的优秀的WCF技术人员,这符合我对阅读技术图书的第一个要求和期待;其次,金楠的写作文笔、专业责任也给人以充分信任,这在金楠的文字中读者可以体会。

另一方面,我也相信读者的觉醒是中国技术出版环境改善的土壤基础。“阅读图书前仔细调研作译者,了解作译者的背景和经验,看作译者是否持续地在某一领域有长期积累和耕耘,大家用买书作为选票来鼓励那些优秀、负责任的作译者……”这是我在很多场合鼓动“读者觉醒”的“启蒙言论”。

我相信随着觉醒的读者越来越多,像金楠这样的教育同道越来越多,假以时日,国内的技术教育和出版环境就会得到大幅度改善,中国技术产业也会有质的飞跃。

这是我为金楠的呕心力作《WCF全面解析》出版感到欣喜的原因。了解WCF的朋友我想很多都知道“国内有个叫蒋金楠,网名Artech的在搞WCF”——这也是我对金楠的初始印象。通过接触金楠的技术博客,以及金楠09年的作品《WCF技术剖析》,我以及我的技术团队都曾从金楠那里得到过技术营养。作为继DCOM、Remoting、Web Services、Enterprises Services之后微软的分布式组件通信与服务框架,WCF无疑是微软技术平台构建网络应用的首选。特别是在添加了REST支持之后,WCF在面向新一代移动互联应用方面也成为很多技术架构的选择。金楠的《WCF全面解析》全面剖析了构建WCF应用所需要的各方面技术,剥丝抽茧,由浅入深,也是我非常欣赏的技术讲述方式。我相信《WCF全面解析》一书是搞WCF朋友的案头必备。

李建忠,祝成科技与Boolan.com创始人,兼高级讲师,国内知名.NET技术专家。对于技术教育有异乎寻常的热情,由于在.NET社区的特殊贡献,于2010年获微软区域技术总监荣誉称号。专注于面向对象、.NET、C++、设计模式。微软MSDN中国C++、.NET、设计模式专栏讲师。四度连任微软最有价值专家(MVP);微软MSDN中文网络广播最受欢迎讲师。译作:《Microsoft .NET框架程序设计(修订版)》、《Effective C#中文版》。曾成功培训过西门子、SAP、HP、CA、腾讯、东软、诺基亚等著名企业。

推荐序二 [阿朱 畅销书《走出软件作坊》作者]

组件式开发是每个开发人员的梦想。前有CORBA、COM+、EJB前赴后继,进化到如今又演变成了SOA。而微软体系内的SOA解决方案就是WCF。微软的技术似乎入门、易用性一直都不错,VS.NET随便一个向导就能产生一个WCF应用代码骨架。而且微软一直号称底层他们给搞定,大家只要专注业务实现即可。但事实真的如此吗?如果你曾经经历了过往的组件式开发技术在商用产品中的实践,那么你就会知道,不了解底层机理,你做的东西只能作为原型,一到真实的商用生产环境中接受数据、并发、事务、安全、网速的考验,不足立马显现。这也就是组件技术经历了多种技术,流行多年,但真正能在市面上看到的成功的组件式应用软件却少之甚少的原因。

但我们仍然不乏梦想,组件式开发仍然是我们每个开发人员的追求境界。我们想做好它掌控它,怎么入手?庞杂的技术规范和技术演进,又杂合了各家厂商的实现不同、理念不同,让我们乱花迷眼。我经历了COM时代,一直把Don Box的《COM本质论》奉为我的指路明灯。在SOA时代,我想学习WCF,我曾经购买过大量关于SOA和WCF的书籍,但能把SOA机理和WCF这种特定厂商实现的技术讲得如《COM本质论》一样完美透彻的,那必属Artech这本经过自己深研、实践而著作成功的心血结晶——《WCF全面解析》。

Artech对WCF的研究历来已久,早在2009年就已经出版了广受欢迎的《WCF技术剖析》(卷1),因为我关注Artech的博客已经很久,所以卷1一出版我就赶快入手了一本。很快这本书就成为我学习WCF的主要读物,每每重读都有新的启发和认识。但卷1对WCF的高级技术如事务、异常保护、元数据、可靠会话、传输安全等主题并没有谈得很透彻,所以Artech又专门著作了卷2来专题论述。WCF技术发展日新月异,回过头来看卷1内容,很多细节已经发生了改变,而且一些新的技术特性也需要增补,Artech对WCF技术的认识和实践在这么多年一线研发工作中更深入了一层,所以Artech决定修订卷1,并且和卷2构成更完整、更流畅、更清晰的体系,两卷合并出版,这就是《WCF全面解析》的来由。这本书历经5年打磨,绝对和它的名字“全面解析”名副其实。能读到此书,幸哉!

国内在技术图书这个领域大多崇拜国外翻译的书籍,当然也有国内害群之马不在一线开发实践工作就大讲技术,厚厚的一本书尽贴的是大段完整的Demo代码和Next Step之类的截图。但卷1已经用事实证明,这本书都是干货。尽管这次卷1、卷2合二为一,厚厚一个大部头容易让人吓一跳,但这确实是因为WCF这个体系太庞大,要想真正把它层层解析透彻,就需要这么多的笔墨力量。

而且Artech有着程序员惯有的严谨、细致、踏实、追本求源、动手验证、力求完美代码的精神品质。所以此书的字里行间也处处透着这种实践、实证、机理的氛围。能把如此复杂、庞大的技术体系讲明白,这需要有非常高超的文字架构能力和描述能力。但Artech层层剖析,从入门实例到技术规范原理,再到WCF实现与代码验证,Artech这种写作风格非常符合开发人员的理解习惯,而Artech本身就是一直战斗在一线的开发人员,因此这就是一本开发人员写给开发人员的书。

如果你想成为SOA和WCF方面的专家,那么这本书就是你的最好法宝。想想你作为专家而获得的回报,那么你对这本书购买所付出的,简直是太值了。

阿朱,本名吕建伟,畅销书《走出软件作坊》作者,CSDN名博,现任深圳明源软件CTO。10年以上商业软件从业经验,10余年来一直专注行业管理信息化领域,7年职业经理人生涯,在商业分析、产品体系规划、研发人才体系搭建、研发过程管理、技术架构、贯通售前/研发/售后方面多有经验。

我经历了COM时代,一直把Don Box的《COM本质论》奉为我的指路明灯。能把SOA机理和WCF这种特定厂商实现的技术讲得如《COM本质论》一样完美透彻的,那必属Artech这本经过自己深研、实践而著的心血结晶——《WCF全面解析》。如果你想成为SOA和WCF方面的专家,那么这本书就是你的最好法宝。想想你作为专家而获得的回报,那么你对这本书购买所做的付出,那简直是太值了。

——《走出软件作坊》作者 明源软件CTO 阿朱

金楠是一位工作在一线的优秀的WCF技术人员,这符合我对阅读技术图书的第一个要求和期待。其次,金楠的写作文笔、专业责任也给人以充分信任,这在金楠的文字中读者可以体会。这本《WCF全面解析》全面剖析了构建WCF应用所需要的各方面技术,剥丝抽茧,由浅入深,也是我非常欣赏的技术讲述方式。我相信《WCF全面解析》一书是搞WCF朋友的案头必备。

——祝成科技与Boolan.com创始人 .NET技术专家 李建忠

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

——资深架构师 曲春雨


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK