betway必威官网《Programming WCF Services》译者序。Programming WCF Services翻译笔记(一)

软件开发技术一直处在变迁中,更新快有时候还是超了定义硬件发展的摩尔定律值。诚然,软件设计思想之腾飞多少微滞后,然而以就来来往往几十年来,设计思想却仍然经历了数次着重的生成。每一样赖生成都见面给周软件开发行业带来颠覆的成形。在最近十不必要年,就在面向对象设计和面向组件设计已经改成软件开发的主流开发方法之时,软件设计又起踏上上面向服务统筹之全新的路。

一、缘起
自打去年之九月初始以来,我起来感受到了笔耕不缀的乐趣和痛苦。说是乐趣,是因自十分享受码字的这种感觉,仿佛是小说家在游荡在融洽造的世界一般,任思天马行空,无拘无束。虽然说技术要求严谨,但同时何尝不需一点点想象力呢?严谨方可以保技术的没错和纯粹,然而如果没幻想与创新,那么技术的突破就会见成为奢谈了。

从今面向组件设计到面向服务计划的是软件设计的以平等差主要飞跃,它摆脱了组件设计固有之律与约束,不再依靠让实现的技能同平台,以“服务”为主干之兑现准,可以极大程度地解组件之间的倚重关系,而面向服务框架在事务处理、安全控制、消息传等地方提供的公物基础功能模块,又令开发者可以于落实基础力量的工作中解放出来,服务的设计者可以就关注于跟企业应用密切相关的事情逻辑。可以说,面向服务计划于互操作性、可扩展性、可重用性以及可伸缩性等过剩点抱有得天独厚之优势及伟大潜能。

托尔斯泰已说到:幸福之家园总是相似之,然而不幸的人家也各出各级的不幸。然而,对于著作的悲苦而言,文学创作也好,技术创作也,这种伤痛也是截然相似的。就比如秀才作文,愁眉苦脸比自己夫人的不得了小朋友还痛苦。那是盖女人可怜幼虽然疼,但好歹肚子里出一个小孩子在;而温馨腹中空空,什么也未曾,怎么写得出来。我在撰写《软件设计精要同模式》时,深刻体会到了这种刻骨铭心的苦闷。

毋庸置疑,SOA(Service Oriented
Application,面向服务应用程序)的期已经来临!“弄潮儿向涛头立,手把红旗旗不湿”,软件开发人员根本都非短缺弄潮儿迎接巨浪的胆气,谁能坚定地运动以还前方,谁就可知获取更宽泛的视野。

12月的,在诸方的催下,总算如期交稿。在等候出版社校对和出版期间,一栽创作的欲望似乎告别了冬眠,彻底地醒转过来。正巧当时从未呀类型开支任务,于是我摸思着把团结之《叩开C#的法家》系列形成为开。简单地排了一个目,然后就兴致勃勃地起了做。写书总是一样项被自身惶恐的从事。因此,写了区区章节之后,我赶快放到网上去,希望会省大多数口之反射。没悟出获得的好评极大地刺激了我之虚荣心和信念,而此刻清华大学出版社吗开始联系自己,想看看本书似乎产生出版的值。正想使起来自之C#做的一起时,一上,机械出版社之陈冀康先生突然找到我,问我是不是愿意翻译Juval
Löwy的Programming WCF
Services一书写。这等同提议给自身怦然心动,毕竟WCF正是自家研究之势头,如果本书经自己翻译出版,或许能够成为国内WCF著作的开路先锋吧。

WCF无疑为.NET开发者提供了决战SOA的凯利刃。WCF是因Windows平台下开同布局服务的SDK,为劳动提供了运转时环境,以便为开发者设计服务、部署服务同运行服务。WCF是.NET
Framework 3.0底一个生死攸关组成部分,它并了.NET
Remoting,Web服务,WSE以及MSMQ的所有特性,使得开发者能够为合的法门开面向服务之应用程序。

坐重装了机,丢失了具有的邮件地址,我无能为力联系到清华大学出版社的陈小姐。反正,市场高达有关C#的修多而牛毛,也未差我及时同依,因此预先级电动退到低于。于是,Programming
WCF
Services一书写的翻译就起取上日程了。在付出翻译的样章后,陈先生的频率特别高,没有几天就是同自立了翻译合同。没悟出就就是起了自己之折磨。

以WCF还免推出正规版本(当时给取名吧Indigo)的时光,我哪怕起来关心为它的技巧因素以及技能发展。出于对SOA的咀嚼,我能够预见到WCF的远大前程。无疑,WCF是Microsoft软件出品战略中针对企业级以之最主要产品。以WCF为根基框架搭建面向服务之商家级应用程序,以WF工作流引擎支撑企业应用中业务流程的传递和控制,以Cardspace以及WCF固有的安全策略保证企业信息的安,最后为ASP.NET
AJAX、WPF以及Silverlight丰富客户端界面和公司客户的心得,这便是Microsoft实现企业级以之霸业宏图。WCF在里头的身价重要。

坐出版社要稿要得格外急,如何在保管翻译进度的又,保证翻译的质,成为了自我的不快。厚达600页的编著也未是那么好啃下的。幸运的是,邀请到了徐宁先生和自身一起翻译本书,总算将更担略为分来了有的。然而,陆续遇到的翻译过程里的阻力,逐渐让我视翻译要虎,却以不得不硬在头皮上景阳岗。
翻的进程着实得比得上是打虎的历程。不,应该说再也难,因为我的目的不是打虎,而是如服虎。而如降一头成年的大虫,给观众带动良好之表演,更是难上加难。不过毛主席不是有教无类我们只要将敌人作是绣花枕头吗?幸好这按照开还当真是故纸印刷的,纸老虎如果现已,我也应付得生。

本书可以称得上是介绍WCF技术的开山底作。它到准确地啊咱刻画了千篇一律帧WCF画卷的晴天上河图。Juval
Löwy作为世界有盛誉的分布式系统专家,一位循循善诱的技艺讲师及作家,一方面有高屋建瓴的体系架构知识,同时又能够细致入微地观测技术细节,然后据此深入浅出的言语转换为通俗易懂的编。就比如清明上河图一般,巨细无遗,浑然天成。

盖自之一个恶习,我有了以这次翻译过程记录下来的想法。我可以拿翻译过程遭到得到的阅历、体会与困难逐个记下。此外,也可用本书的好好的处在撷取出来,与读者共享。最要害之是期待能够取更多之批评以及建议,可以使得自己服虎之经过得平坦一点。

自身充分荣幸自己会翻译Juval
Löwy的这本巨著。然而,在兴奋的余,也在所难免感到紧张。对于同样本书而言,译者的翻译得称得上是书籍的老二不良生命,“信”乃其骨,“达”乃其肉,“雅”则也其貌。我操心自己恶劣的翻译会让这仍开之老二蹩脚生命化为同涂鸦苦难的进程。翻译自古难乎,译者就如走钢丝绳的杂耍者,如果无克可靠、优雅地表述原作者的意义,就见面失去平衡,从赛及数步之钢丝绳上摔下去。然而,这卖惶恐和迟疑,终究敌不过本书给我带的抓住,何况,我自从生作为同一名技术人员的几划分自信。同时,在自身的请之下,徐宁先生之“加盟”无疑又为《WCF服务程序设计》的翻译加重了中标之砝码。作为Microsoft的MVP,徐宁先生都参与了Patrick
Smacchia著作《Practical .NET 2 and C#
2》的翻译,拥有非常丰富的翻经验。

**二、翻译障碍

本书的第7回、第9回和第10回由徐宁先生译,而自我虽然负责翻译除及时几乎段之外的所有章节,同时包括附录、序、前言以及第10回的片章节,并当全书的技能审校。由于译者技术水平有限,疏漏在所难免,敬请广大读者指正。

**翻译的正统只是“信达雅”三字。说易行难,毕竟这三只字尽数了翻译过程的老三独境界。对于一般的文艺翻译而言,要达标“信”的业内,相信不难。然而对技术书籍的翻译而言,则未必尽然,最头疼的题目不怕是技术术语的翻译。特别是本书,由于WCF是基于.NET
3.0阳台的SDK,可以说凡是均等宗新的技巧。我挺不便找到关于WCF技术之华语文档,也就是说,这就是限制了自身无能为力站在前任之双肩上望远,也去了“前人栽树,后人乘凉”的会。

如是描摹技术博客,那么完全好直接以这些术语,有时候“不译”反而比较“译”更易于被读者了解。然而,翻译书却非克这么,唯一的原因即出版社不同意。我那个崇拜前人翻译技术术语的创造力,例如多态(polymorphism),架构(Architecture)、原型(prototype)等等,虽然读来平淡无奇,但可准确地反映了英文的原意。

迎WCF的初奇术语,我哪怕起来堵了,我在想什么来翻译这些桀屈敖牙的名词。如果翻译不好,没准就会成为译作的硬伤。仔细考虑,解决的法子大约产生这么几只:

1. 竭尽与已经部分翻译保持一致

比如WCF中的contract(契约)、endpoint(端点)、Hosting(宿主)等等,基本上它们的翻译都获了多数人口之承认。如果自身刚而拿其分别翻译啊合同、结束点、运营者,那就是是属没事找抽了,何况这些翻译都够好了。

一对词语比较少见,但我们可以借助网络去探寻已部分翻译,然后比较一下,看是否足以采纳。例如Network
Hops,当自身望此词语的时段,就挺纳闷。毕竟我对于网技术比较陌生。在Google下搜寻后,我得一个答案,就是hops常常是hop
count的缩写,一般翻译为“跳数”。因此,将Network
Hops翻译啊网络跳数,应该无会见出无限要命的争辩。

2. 经对上下文的亮创造新的词语

这些用语往往是局部合成词或短语。以英文法合成这些用语一点还非意外,翻译成汉语时不时,就稍微让丁念不知晓了。例如Ordered
Delivery,应该翻译为什么吗?由于她的本意是表示消息的付出必须随一定之相继,最后因当下等同交汇意思,我以那个翻译为平稳交付,或者好说凡是如意。再例如Federated
WS
binding,根据上下文意思,知道它们是由WSFederationHttpBinding类实现,支持WS-Federation安全通信协议,所以考虑再三,决定用那翻译啊WS联合绑定。类似这样的翻,到处都是,但出于这样的术语或者是首先坏利用,因此往往我会以翻译的辞藻被,增加英文原稿的印证。

3. 不翻译

实则是休能够翻译的,或许保留原文是顶尖的主意。然而当翻译题被,这种情景才限于大家就深谙的名词,特别是缩写,例如WCF、HTTP等。

为保险技术术语的准头,我会维护一个术语表,预备放到网站上,希望能够博取重新多人口之提议。

老三、以开之方式展开翻译
   
虽然是翻译,但我们仍然可以以品种开支应用到满翻译过程中。总结下,大约分为这样几个步骤。

1、 快速原型
当软件开发过程被,经过需求分析阶段后,为快地获取客户的认同,最佳方法就是是运高效原型的法子,建立起来的软件模型,向客户提交一个Demo版本。对于翻译而言,就是赶紧地以英文原文翻译为中文,里程碑目标就是是“信”。在翻译过程被,可以根据自己对就宗技术与英文的领悟,获得一个粗而忠实于原文的本。这个本允许语言不通畅、允许非错过分析代码,允许出现小错误,甚至足以针对原文“不求甚解”。目前,对于Programming
WCF Service一题,我一度就了“快速原型”阶段。

2、 定期迭代
比之被瀑布模型而言,RUP的章程还便于控制要求变动。如果会使用快速编程的期限迭代,则再次能够高效地满足客户的用。本号的里程碑目标是“达”。要求能够在“信”的底子及,做到逻辑清楚、语言通顺,同时要力保技术发挥的合理和对。要完成就无异目标,必须深刻理解作者的著作意图和实现目标。要落实即同号的里程碑目标,可以用如下的法门:
(1)重构
   
在软件设计时,重构的目的就是改进既来代码的计划。翻译过程遭到,在“信”的根基及进行重构,就是若更上一层楼第一品译文的词汇、语序的用法。由于第一等级就是忠贞原文意思的翻译,因此可能会见面世西化方式的语序。尤其是增长句的翻译,一十分堆定语从句,如果的确翻译过来,会展示语句冗长不易理解。词汇也是这般,对于和一个英文单词,有无数相似相近之华语词语和之相互流。特别是成百上千早晚,需要相比上下文,才会博取准确表达原文意思的词语。重构,就象征对词语的琢磨,争取找到最可之辞藻,表达原文的涵义。
(2)持续改进
   
持续改进主要是如修订第一流译文的固化错误,特别是术语技术层面的荒谬。那么前提条件就是必须对翻译的情,有足深的知晓。如果发代码,最好能接通读一百分之百,完全理解。如果生示范,则极端好能运作一布满,体会作者的意向。如果作者出现了错误,最好会改正这些不当。不能够寄希望于持续改进的对象是不难,翻译的上,可能需要数地读书原文和译文,争取能教译文与原文完全相符。
(3)变更控制
   
变更控制比较奇特,主要是基于作者对原书的修改,例如原写的勘误表。一旦出了原来写的改观,好的做法就是是如用这些改变体现于译文被。译者要翻好书,最佳的法是跟笔者进行无障碍的联络。只有当充分理解作者意图的根基及,方能够做产生好之译文,通达的译文。而作者为堪透过如此的交流方式,及时将反信息通知译者,好于译文被作出修订。

3、 版本交付
一般而言,在将软件提交前,都得实行测试阶段。对于翻译而言,特别是大半总人口合译,那么最好要害的测试过程即是:集成测试与UAT(用户验收测试)。集成测试需要统一风格、统一技术术语,统一描述道。这是不可或缺的,否则会受读者带来支离破碎之感到。UAT的尽过程比紧,因为翻的客户就读者,考虑市场的得,译者不可能先用译文交付于读者。少去了这样一个环,确实会带来很多质量问题。但万一能够发选择性的宣布各自章节或个别内容,仍然是发出益处的。
本子交付阶段的里程碑目标是“雅”,因此除了bug的修补外,持续地改善仍然是产生必要的。“雅”的境地很为难上,但趋近为“雅”,越能够做有藏的译作。就如软件开发需要优雅的筹划相同,译者的大局掌控能力以及细节雕琢能力,决定了即无异靶是否会达成。

季、本书的内容
本书作者的声誉不用多说。他是IDesign的长官,软件架构师,是《COM与.NET组件服务》、《.NET组件开发》的撰稿人,还是Visual
Studio杂志及.NET杂志的邀请作者。他于.NET组件开发暨分布式开发领域,享有盛名。Programming
WCF Services是他的以平等管力作。

本书共分为十章,分别吗:WCF基础、服务契约、数据契约、实例管理、操作、错误、事务、并作管理、队列服务、安全。内容几乎囊括了WCF技术之所有。通过看本书,可以叫你可知完美透彻地问询WCF技术,并迅速成长为同称呼WCF专家。毫无疑义,通过对本书的翻译,在漫天经过被本人啊以持续地成长,对WCF的喻呢能够更为地深刻。这也多亏自己甘愿本书最要害的理。

以下摘自我本着本书序的翻,简单介绍了各章的始末。

第1章   WCF基础
本章从同开始阐释了WCF的技术原理,并描述了WCF的基本概念和构建模块,例如地方(addresses)、契约(contracts)、绑定(bindings)、端点(endpoints)、宿主(hosting)和客户端(clients)。本章末尾还探索了WCF架构,它用是扶持我们懂得后续章节内容之主要。本章假定读者既了解面向服务的考虑与优势。如果您无享这方面的学问,可以先行读书附录A的内容。即使你早已好熟悉WCF的基本概念,我仍然建议您对本章作同样不行快速浏览,它不只能巩固你的就出文化,而且本章介绍的局部援助类似和技术术语将推进你读书全书。

**第2段    服务契约

**本章专注介绍服务契约的宏图,以及哪些采取劳务契约。首先,你见面询问及劳动契约的相关技能,包括服务契约的重载与后续和其它高级技术。接下来,本章将深入探讨契约的统筹元素,以福利系统的录取、可维护性与可扩展性。最后,本章演示了什么样通过暴露的契约元数据就运行时之竞相编程。

第3节    数据契约
如客户端与劳务之数据类型无法共享,如果没采用相同的开发技术,那么该怎么样处理它们中间数据的交换?通过本章,你可以见见有诙谐之现实性问题,例如数据版本、元素集合的传递,究竟是何许处理的。

第4节    实例管理
究竟怎么服务实例处理何种客户端的请,本章给跟了逐一的对答。WCF支持多劳动实例管理、激活与生命周期的田间管理,这些技巧和系统规模、性能息息相关。本章介绍了每种实例管理模式之间的干,指导读者何时与怎样有效地运其。本章介绍了与实例管理相关的论题,例如分流(throttling)。

**第5章    操作

**通过拍卖操作类型,使得客户端能够调用服务,并随有关的筹划指导,例如如何改进同壮大基本功能,以支撑回调的装置及销毁,管理回调端口和通道,提供项目安全之双向代理(duplex
proxies)。

第6章    错误

本章全面介绍了服务如何告错误,然后如何以生回送给客户端。既然死和那个处理的创立是和特定技术紧密结合的,因而无法过服务边界。本章深入探讨了关于错误处理的超级实践,使得客户端的错误处理与服务实现解耦。同时,本章还演示了如何扩大和改进WCF基本的错误处理机制。

**第7章    事务

**本章同开始自整体达标介绍了工作的想法,接着讨论了作业服务之总体,包括:事务管理架构、事务传播配置(transaction
propagation
configuration)、WCF提供的声明性事务支持、以及客户端创建工作的道。本章末尾则讨论了有关的宏图指导,例如事务服务状态管理与实例化模型。

第8节    并发管理
WCF针对并发与齐的田间管理,提供了强大然而简易的声明式实现。本章详细地介绍这等同贯彻方式。然后,本章还表现了再次多之高等技术,诸如回调、可重入性(reentrancy)、线程关联度(thread
affinity)、同步上下文以及避免死锁的特等实践及指导。

**第9章节    队列服务

**本章描述了客户端如何落实用面向服务的调用放入队列,如此就可使异步方式,完成脱机工作。从同开始,本章就介绍了班服务之创及安排,然后汇集授课诸如事务、实例管理、操作失败与她对劳务工作模型和贯彻所造成的影响。

第10章    安全
由此以大半面的天职分解为基本要素,如消息传递、认证和授权,就得揭开面向服务安全之密面纱。本章继续追究了哪些为intranet和internet应用程序等要场景提供安全保持。最后,我介绍了对声明式WCF安全所设计之框架,它可自行配置安全,简化对安康之管理。

附录A    面向服务概述
附录A为那些渴望了解面向服务基本知识的读者供。全篇介绍了自家于面向服务之切实可行采用。附录定义了面向服务应用程序(而无普通所谓的架构)和服务自,并由艺术学的角度,考察了面向服务体现出来的优势。附录还介绍了面向服务之规格,以及由大多数应用程序都亟需的实用点出发,重点突出了面向服务之肤浅原则。

附录B    服务发布与预订
附录B展示了自我计划的框架,它亦可落实发布-订阅(Publish-subcribe)事件管理体系。该框架能帮您简化发布-订阅服务,只待编制一两行代码即可到位。发布-订阅模式是第5章讲述的内容,之所以用那个坐附录中,是坐她应用了别样章节的情,例如事务以及队列调用。

附录C    WCF编码规范
附录C基本上列举了开外书外所有和WCF相关的最佳实践。本编码规范才在讲“如何做”以及“怎么开”,而未阐述其缘由。规范背后隐藏的基本原理可以参见本书各大段。本编码规范同样以了本书讨论了之支援类似。

是否渴望阅读本书的备内容吧?目前,我早就到位了长足原型等,进入了定期迭代阶段,然而离开版本交付还有类似三单月时。如果你都不耐烦了久久的等,那么要从在自己的翻译笔记。这个系列会慢慢显示本书的冰山一角,庶几好满足你的局部愿望。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注