当前位置:必发365电子游戏 > 编程 > 因为设计WCF的目的就是为了能够统一微软的下一代全新的技术,WCF无疑为.NET开发者提供了决战SOA的制胜利刃
因为设计WCF的目的就是为了能够统一微软的下一代全新的技术,WCF无疑为.NET开发者提供了决战SOA的制胜利刃
2019-12-19

二〇〇二年11月,作者在微软第壹遍询问到利用托管代码重写COM+的技能细节。随后整个符合规律,直到二〇〇一年5月,在对C#2.0作计策设计评定核查时期,肩负Remoting的顺序组长提议了一个堂堂的陈设,试图将Remoting重写为开垦者真正能够利用的技艺。相同的时候,微软也在谋求协作,协作为ASMX中的web服务制订全新的池州专门的学问,起草一形形色色附加的web 服务规范表达书。

软件开垦技能一贯处在变迁之中,更新速度不常候如故超过了概念硬件发展的穆尔定律值。诚然,软件设计理念的腾飞稍稍滞后,可是在此南去北来二十几年来,设计观念却如故涉世了多次关键的生成。每二回生斯图加特会给全体软件开采用实行当带给倾覆的变型。在几日前十余年,就在面向对象设计与面向组件设计已经成为软件开辟的主流开拓方法之时,软件设计又起来踏下边向服务规划的崭新之路。

到了2001年七月,作者有空子体验了三个簇新的事务型连串构造,它亦可修正.NET编制程序中有关事务管理的相干缺欠。那时,并从未三个平安的编程模型能够联合那么些单身的工夫。直到二零零二年末,小编幸运获邀参与二个由同行行家组成的Mini团队,对代号为Indigo的支付平台展开攻略的统筹评定审核。就作者所知,那些开拓公司可谓精雕细琢,汇聚了成千上万世界上最优秀的天资。在接下去的2-3年时光内,Indigo生机勃勃共经验了三代编制程序模型版本的嬗变。就在二零零七年最先发表了依据终结点驱动对象模型的版本之后,终于于是年7月渐渐牢固为叁个定位的版本,同期更名称为Windows Communication Foundation(WCF)。

从面向组件设计到面向服务规划无疑是软件设计的又一次重大飞跃,它解脱了组件设计固有的牢笼与约束,不再依靠于达成的本事与平台,以“服务”为骨干的落实规范,能够一点都不小程度地解除组件之间的信赖关系,而面向服务框架在事务处理、安控、音信传输等地点提供的公物根底效率模块,又使得开采者能够从贯彻根底功用的干活中解放出来,服务的设计者可以只关怀于与公司应用紧凑相关的事情逻辑。能够说,面向服务规划在互操作性、可扩大性、可重用性以致可伸缩性等重重地点有所美好的优势与伟大潜质。

要想获取开采者的众口称扬,可谓难于上青天,不过WCF却给了笔者们分化的评释。对于Web服务的开垦者来讲,WCF正是最后的回复互操作性的消除方案,完结了当先二分一行当标准。布满式应用程序的开辟者则以为它简化了中远间距调用以致队列调用。系统开辟者以为它富有下一代面向产品的脾性,诸如事务与宿主,为应用程序提供了现存的底蕴作用模块。至于应用程序的开采者,WCF则为她们构建应用程序提供了表明式的编程模型。而对于布局师,WCF则是创设面向服务应用程序的末段选项。一言以敝之,WCF包蕴了以上全数的全部,因为陈设WCF的指标正是为了能够联合微软的后生全新的能力。

无庸置疑,SOA(Service Oriented Application,面向服务应用程序)的一代已经来到!“弄潮儿向涛头立,手把Red Banner旗不湿”,软件开辟人士根本都不缺乏弄潮儿接待巨浪的勇气,哪个人能够坚定地走在更前方,哪个人就可以获得更普及的视界。

对自家来说,WCF就是下一代开拓者平台,它在超级大程度上包容了最先的.NET编制程序观念。任何.NET开垦者都能够使用WCF,而不用思虑应用程序的花色、规模依旧行当领域。WCF是一门底蕴手艺,它提供了转移服务与应用程序的“终南走后门”,完全切合笔者所承认的佳绩的计划法则。WCF从风流罗曼蒂克最早正是工程化的,能够简化应用程序的支授予配置,减少开辟费用。WCF服务用于营造面向服务的应用程序,不管这一个程序是独自的桌面应用程序,依然Web应用程序;是劳动,照旧高档的集团应用程序。

WCF无疑为.NET开垦者提供了决战SOA的大败利刃。WCF是遵照Windows平台下支付和安顿服务的SDK,为服务提供了运行时情状,以便于开拓者设计服务、安顿服务与运作服务。WCF是.NET Framework 3.0的二个要害组成都部队分,它集成了.NET Remoting,Web服务,WSE以致MSMQ的兼具性情,使得开拓者能够以统蓬蓬勃勃的点子支付面向服务的应用程序。

有关本书的构造

在WCF尚未推出正规版本(这时被命名称叫Indigo)的时候,笔者就开头关注于它的本领因素与才干升高。出于对SOA的回味,小编能够预言到WCF的远大前景。无疑,WCF是Microsoft软件出品战术中针对集团级应用的严重性成品。以WCF为底子框架搭建面向服务的铺面级应用程序,以WF职业流引擎支撑集团应用中业务流程的传递与操纵,以卡德space以致WCF固有的安全计谋保险公司音信的自贡,最终以ASP.NET AJAX、WPF以致Silverlight丰富客商端分界面与杂货店客商的经历,那正是Microsoft完毕公司级应用的霸业宏图。WCF在中间的地位主要。

本书包罗了富有布置开采基于WCF的面向服务应用程序所需的学问与技艺。通过本书,你能够看出哪些利用WCF内建的特色,举例服务托管、实例管理、并发管理、事务、离线队列调用以致安全。本书会为您来得如何使用这几个特征,并索求它们在这种特定的安排思路下的贯彻原理。你不单能够精晓到WCF编制程序手艺,以至有关的系列知识,同临时候还富含了相应的应用方案、秘籍、最棒施行以至存在的败笔。小编所以站在软件工程的立场演讲本书的各样主旨与天性,是因为本身盼望它亦可帮忙读者不止要变为一名WCF行家,何况还要成为一名牌产品优品秀的软件技术员。本书带来你的这种认识能够使您如虎傅翼,让您的应用程序在可维护性、可扩大性、可重用性以至高效性方面,特别适合软件工程的意见。

本书能够称得上是介绍WCF技能的开山之作。它周密可信赖地为大家形容了大器晚成幅WCF画卷的小雪上河图。Juval Löwy作为环球享有盛誉的布满式系统专家,一人教导有方的手艺助教与小说家,一方面拥有高屋建瓴的类别结构知识,同期又能够细致入微地考察技艺细节,然后用深入显出的言语转变为简单明了的写作。就疑似大寒上河图平时,总总林林,浑然自成。

本书躲藏了众多WCF的贯彻细节,越多的是注重使用WCF的实用性与动向:怎么着选择WCF能力?怎么样选取有效的宏图基准与编制程序模型?本书一大波行使了.NET 2.0技能,从某种角度来讲,本书也得以算是一本高等的C#才能书籍。

本身很雅观自己能够翻译Juval Löwy的那本巨著。然则,在欢跃之余,也难免认为紧张。对于一本书来讲,译者的翻译能够称得上是书本的第二遍生命,“信”乃其骨,“达”乃其肉,“雅”则为其貌。小编担忧本人恶劣的翻译会让那本书的第三回生命化为三遍灾难的进程。翻译自古难为,译者就好像走钢丝绳的杂耍者,假如不能够准确、温婉地宣布原著者的意思,就可以失去平衡,从高达数丈的钢索上摔下来。不过,那份惊愕与迟疑,毕竟敌可是本书给自身带来的吸引,而且,作者自有作为一名工夫职员的几分自信。相同的时候,在本人的约请之下,金枪手先生的“加盟”无疑又为《WCF服务程序设计》的翻译加重了成功的砝码。作为Microsoft的MVP,金枪手先生曾经踏足了PatrickSmacchia小说《Practical .NET 2 and C# 2》的翻译,具有特别丰硕的翻译资历。

除此而外,本书包罗了汪洋自己所编写的套件类、工具类以至支持类。这么些类还能加强你的支出效用,保证支付的WCF服务的材料。作者还开荒了一个基于WCF本领的Mini框架,用以弥补部分企划缺欠,或许简化确切的任务,使其能够自动化达成。在书中,笔者像介绍WCF技能那样,详细地介绍了这一个工具、思想与技艺。同十分候,笔者付出的框架则为您演示了怎么样对WCF举行扩张。

本书的第7章、第9章以致第10章由金枪手先生翻译,而笔者则肩负翻译除这几章之外的具有章节,同临时候富含附录、序、前言以致第10章的一些章节,并担当全书的本领审阅核查。由于译者本事水平有限,脱漏在劫难逃,敬请广大读者指正。

在过去的两年中,小编在MSDN杂志上登出了一大波关于WCF的文章。如今,我还在为杂志的底蕴专栏(Foundations Column)撰写WCF技艺文章。小编要感激杂志社可以允许小编将这一个小说援引到本书中。假设你早就读书过那几个小说,恐怕能够从本书的相干章节中发觉它们的阴影。比较来讲,本书的章节越发周密,提供了WCF的有余思想、本事与实例,并且那么些大旨也与书中的其余章节紧凑相连。

自家在每蓬蓬勃勃章中都系统地讲授了三个专项论题,深刻研究了这几个专题的开始和结果。可是,每豆蔻梢头章又都依赖于前豆蔻年华章的内容,由此,小编提出您最佳遵照前后相继顺序阅读本书。

以下是书中各章节以至附录的摘要:

第1章,WCF基础

本章首先解说了WCF的技艺原理,并陈述了WCF的根底概念和营造立模型块,举例地点(Addresses)、合同(Contracts)、绑定(Bindings)、终结点(Endpoints)、托管(Hosting)以致顾客端(Clients)。在本章最终还商讨了WCF种类结构,它将是赞助大家知道后边章节的根本。本章假定读者已经领悟面向服务的钻探与优势。假若您不具有那上面包车型大巴学问,能够率先阅读附录A的故事情节。即便你早已深谙了WCF的底工概念,小编照旧建议你最少能够急迅地浏览本章的剧情,它不仅可以够加强你本来就有的文化,更在于本章介绍的一些协理类与技艺术语有接济你读书全书。

第2章,服务左券

本章致力于介绍服务协议的安插与开采。首先,你会了然到一些实用的技术,包蕴劳动契约的重载与后续以至其余高端技能。然后,本章浓重研商了怎样布置以致分解公约,以利于服务的重用、可维护性以至可扩大性。最终,本章还将向你显得了什么样通过公开合同元数据形成运维时的相互编制程序。

必发365电子游戏 ,第3章,数据协议

要是未有实际存在的可分享的数据类型本人,若无采纳同样的开垦本事,大家相应如什么地区理顾客端与劳务时期的数据交流?在本章,你能够看看什么管理有个别风趣的切切实实主题材料,比如数据版本调整,甚至传递成分项集合的方法。

第4章,实例管理

到底是哪一种服务实例管理哪生机勃勃种客商端的伏乞?本章给出了难点之钥。WCF援助四种服务实例管理、激活甚至生命周期管理本事,这个手艺与系统规模和性质唇亡齿寒。本章给出了每意气风发种实例管理格局之间的关联,教导读者曾几何时以至如何有效地动用它们。本章还介绍与之相关的主旨,举例限流(Throttling)。

第5章,操作

随着对各类别型操作的拍卖,顾客端可以调用服务,坚守有关的兼顾基准,例如怎么样修改和增添根基成效,以协理回调的装置与销毁,处理回调端口与通道,提供品类安全的双向代理(Duplex Proxies)。

第6章,错误

本章周到介绍了劳务将错误与特别再次回到给顾客端的法子,毕竟,诸如万分与丰硕管理的创设都是一门一定的本领,无法通过服务边界。本章介绍了错误管理的顶尖施行,使开发者能够清除顾客端错误管理与服务的耦合度。本章还演示了怎么着增加以至更改WCF底子的错误处理机制。

第7章,事务

率先,本章从完整上介绍了动用职业的指标,然后切磋了专业服务的非常多表征:事务管理构造、事务传播(Transaction Propagation)配置、WCF提供的表明性事务扶持,以至客商端创立工作的议程。最后,本章商讨了与业务相关的两全原则,比方事务服务境况管理与实例方式。

第8章,并发管理

WCF提供了大器晚成种强盛可是精炼的宣示格局,用来保管客商端与服务的产出与联合。本章表现了重重高等本事,例如回调、重入(Reentrancy)、线程关联度(Thread Affinity)、同步上下文(Synchronization Context)以至幸免死锁的最棒奉行与标准。

第9章,队列服务

本章描述了顾客端怎么样通过队列调用服务,从而帮衬异步与离线专门的职业。本章首先介绍了哪些创造与安插队列服务,然后,入眼教学了举例事务、实例管理、故障以致它们对劳务业务模型与落实产生的影响。

第10章,安全

由此将七个方面的职务分解为部分大旨的要素,如音信传递、认证和授权,就能够报料面向服务安全神秘的面纱。本章演示了如何为局域网和网络应用程序等根这一场景提供安全保证。最后,你能够见见自个儿为注明式的WCF安全所编纂的框架,设计为电动实现平安的装置,进而十分的大地简化对巴中的拘留。

附录A,面向服务概述

附录A为那三个愿意精通面向服务的读者提供,介绍了自个儿在面向服务的求实使用。附录定义了面向服务应用程序(而非平常所谓的构造)以至劳动本人,核查了它在方医学方面包车型客车优势。附录还交到了面向服务的口径,通过好多应用程序所急需的实用要点,深化了面向服务的肤浅原则。

附录B,服务公布与订阅

附录B表现了自个儿定义的框架,它完毕了公布-订阅事件管理的解决方案。框架能够令你只供给编写制定生机勃勃两行代码就能够发表和订阅服务。公布-订阅形式归属第5章的内容,之所以将它放入到附录中,是因为它采用了别的章节的原委,比方事务与队列调用。

附录C,WCF编码标准

基本上,附录C包涵了全书聊起的依旧没有谈到的一级实行。标准在于论述应该“怎么办”以至“怎么办”,而不注明其缘由。隐瞒在正式内部的功底原理能够在本书的别的部分找到。本专门的学业同期还运用了本书研商的赞助类。

对此读者的只要

本书假定读者是一名经验丰裕的开荒者,纯熟诸如封装与后续等面向对象的定义。笔者会利用读者现成的对目标和构件技巧甚至术语的咀嚼,加强对WCF知识的打听。读者应当对于.NET以至C# 2.0的功底知识(包罗泛型与无名情势)有着显著的问询。就算本书超越半数内容使用的是C#言语,不过对于Visual Basic 贰零零陆的开拓者来说,依旧具有参谋价值。

哪些使用本书

若要使用本书,需求安装.NET 2.0、Visual Studio 二零零七、.NET 3.0的透露组件,以至.NET 3.0付出的SDK和Visual Studio 二〇〇五的.NET 3.0扩张版。除非特别指示,本书适用的操作系统包蕴Windows XP、Windows Server 二零零四和Windows Vista。同不时间,你还亟需设置一些增大的Windows组件,如MSMQ和IIS。

本书约定

下列为本书的印制体约定:

斜体

用来技艺术语、在线链接和文件名

等宽字

用以示范代码、语句、命名空间、类、程序集、接口评释、操作符、性格甚至保留字

等宽粗体字

用来代码中的入眼部分

提醒:该Logo标示着周围的文件特别主要。

提个醒:该Logo代表周边的公文归于警报音信。

每当本人想要在实例代码中专门申明某意气风发剧情,作者会在调用Debug类的Assert静态方法:

int number = 1+2;
Debug.Assert(number == 3);

Assert方法能够采纳Boolean型语句,当班值日为false时,抛出特别。

本书推荐的命名标准与编码样式能够参见拙著《.NET组件编制程序(O'Reilly卡塔尔国》附录E中的内容。纵然书中代码背离了那朝气蓬勃正规,是因为受到了空格或代码行长度的范围。至于命名约定,小编利用“Pascalcasing”为国有成员方法与性情命名,即名称的各类单词首字母要大写。至于本地变量和措施参数,则动用“camel casing”方式,即名称中的第一个单词首字母不要大写。对于个体成员,笔者会在变量名前边加上前缀m_:

public class SomeClass
{
  int m_Number;

  public int Number
  {get;set};
}

本身动用在花括弧之间加点的样式,表示个中省略了必须但无需钦命的代码:

public class SomeClass
{...}

为清晰起见,实例代码常常并不分包using语句钦赐示例必得的命名空间,独有在前文中牵线到的新的命名空间,才会蕴藏在实例代码中。

应用实例代码

 “必先利其器”,那生机勃勃部分剧情能够更加好地支援你实现专业。一句话来说,你绝不得到授权就足以在您的程序和文书档案中利用本书的代码,除非您对代码最重大的局地开展了壹次加工。比方,使用本书的代码片段编写程序,并不要求非常的认同,但出卖或分发包含本书实例代码的光盘则必需获得特许。援用本书的实例代码或难题解答是无需授权的,可是生龙活虎旦要将本书实例中的大旨代码放入到您的成品文书档案中,则须要得到认同。

大家强调图书的版权需求,不过并不是必得。图书版权平日包罗标题,作者,出版商以致ISBN。比如:"Programming WCF Services by Juval Löwy. Copyright 贰零零陆 O'Reilly Media, Inc., 978-0-596-52699-3."

借令你在使用实例代码过程中发现了不当,或许希望赢得上述授权,敬请联系我们:permissions@oreilly.com.

怎么样联系我们

对此本书,若是有别的观念或难题,请根据以下地方联系本书出版商:

O'Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
800-998-9938 (in the United States or Canada)
707-829-0515 (international/local)
707-829-0104 (fax)

本书的网页列出了改过表、实例以致别的附加消息。你能够透过以下地点访问:

至于本书能力内容的见地或难点,可以发送邮件到bookquestions@oreilly.com。

您也能够经过以下地方联系小编:

作者在IDesign网站上揭破了本书谈起的全套代码库,共计抢先119个下载内容,包含WCF根基,公约设计,实例管理,操作与调用,错误,事务,并发,队列以致安全。下载内容饱含了本书大部分能够运行的代码段。

Safari® Enabled因为设计WCF的目的就是为了能够统一微软的下一代全新的技术,WCF无疑为.NET开发者提供了决战SOA的制胜利刃。

读者是或不是注意到在您心仪的手艺书籍的封底上,有多少个Safari® EnabledLogo。它象征本书由O'Reilly Network Safari Bookshelf提供了在线的可用版本。

Safari提供了风姿罗曼蒂克套优于E-BOOK籍的解决方案。它是一个杜撰教室,读者通过它能够方便地搜索到数千本一级的本领书籍,剪切和粘贴代码实例,下载书中的章节,搜寻你所急需的更详细、更加纯粹的新闻。急迅行动吧,体验就在

致谢

若无WCF(Indigo)项目老董们一如既往的扶植与帮衬,作者历来不只怕在WCF诞生之初就可见熟谙精晓那门能力。作者必得感激自身的情人SteveSwartz,作为WCF的一名构造师,他不只贡献了她的知识与胆识,还会有他的热心,始终不嫌麻烦地在IM(即时通信工具)之上与自个儿研商相关难题。感激Yasser Shohoud,Doug Purdy以至Shy Cohen,多谢他们就本书作出的理想而又主要的宏图复审,同期还要谢谢Krish Srinivasan,多谢她在软件工程学上如史学家日常的真知卓见。能够与你们一齐搭档,是自身三生幸运,也是本身在念书通晓WCF进度中的主要收获。以下WCF技术员则成仁了他们的岁月,支持小编表明了WCF那门技能:AndyMilligan, Brian McNamara, 尤金 Osovetsky, Kenny Wolf, Kirill Gavrylyuk, Max Feingold, Michael Marucheck, 迈克 弗恩al, and SteveMillet。同期还要多谢那个小组的经营Angela Mills。

除去微软的成员,小编还要谢谢Norman Headlam和PedroFelix,你们给了自己特别有价值的反映。感激尼古RussPaldino的助手。Nick对于.NET框架的明亮是惟意气风发的,正是因为她尝鼎一脔的绵密精气神,本领够确认保证本书的材质。

末段,作者要谢谢作者的家属。笔者的内人Dana,是你坚定不移地慰勉笔者,让自家力所能致写下本人的所思与所得,但却就义了随同您羊眼半夏娘们的弥足尊敬时间。多谢本身的老人,是你们带给了自己对工程学的尽头热爱。作者还要将本书献给本身的三个姑娘,7岁的阿比Gail,4岁的埃兰娜。对于笔者来说,可爱的你们正是本人的全体社会风气。

上一篇:没有了
下一篇:没有了