POSA2 关于本书

rel="File-List" href="file:///C:%5CDOCUME%7E1%5CLCG%7E2.MS-%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml">

模式已经遍布软件开发领域。自从最初的《设计模式,可复用面向对象软件基础》以来,软件开发者开始对模式产生了很大兴趣。接下来,《程序设计的模式语言》(PLoPD)系列和《模式系统》更点燃了开发者在模式相关领域的兴趣,如模式在软件领域的语义,建筑工程模式,人文模式等。

本书(《并发和网络对象模式》)是《面向模式的软件体系结构》系列的第二卷,和第一卷《模式系统》一样,记录了一些模式和最佳实践,这些是具体的并经过良好验证的创造工业强度的软件系统有用的技术。这些模式和最佳实践能够并已经应用到广泛领域的应用程序中。包括电信,数据通信,金融服务,医药工程,航空宇宙,工业控制和科学计算等领域。也为一些分布式对象计算中间件提供了基础,比如CORBACOM+java RMIJini

而且,本书的所有模式都建立在与POSA第一卷相同的理论体系上。例如,我们使用同样的模式分类,同样的模式描述格式,并且使用多种语言描述例子代码和已知的用法,包括javaC++C语言。

因此说《并发和网络对象模式》沿用了和《模式系统》同样的组织结构和同样的风格

《模式系统》覆盖了通用模式的很多方面,而相对来说,本书则将精力集中在特定的领域:并发和网络。本书中的所有模式都集中在两个领域,这样我们能够更深入更多的讨论并发和网络相关的话题,而不是讨论很多不相关领域的话题。因此,在网络和并发这两个迅速发展的软件开发领域,本书中的模式为《模式系统》中的通用模式做了补充。

我们将精力放在那些用在并发网络应用程序和中间件中的通用且领域无关的模式上。我们的目标是使这些模式更能帮助你完成每天工作。因此,我们在本书中不包括那些用在特定应用领域中的模式,像[DeBr95][Mes96][ACGH+96]中的模式,那些模式用于电讯领域中的网络方面。

通过关注并发和网络方面的通用领域无关模式,本书也补充了现有的并发网络编程和面向对象设计方面的著作。

l        并发网络编程的著作通常关注操作系统API的语法和语义,例如Socket[Ste98]POSIX线程[Lew95],或者Win32线程[Ric97]内核级通信框架,如System V STREAMS[Ris98][Rago93],流行操作系统支持。相反,本书描述了怎样在高质量并发网络系统设计和编码中更有效的使用这些API

l        处理高级软件设计和质量因素的著作[Boo94][Mey97][DLF93]通常未关注并发网络应用程序的开发。弥补这些内容是本书的话题。

《并发和分布式对象模式》(译注:可能应该是《并发和网络对象模式》)与《模式系统》的另一个不同在于里边的模式构成的不止是一个模式的目录或系统。相反,它们通过协作互相增强,提供了并发网络软件的模式语言的基础。当与其它著作中的模式绑定在一起时,我们描述该模式语言能够并已经怎样被用来创建复杂的并发网络软件系统和应用程序,web服务,和分布式对象计算中间件,以及底层的操作系统网络协议和机制。

然而我们将对独立的模式的描述与它们怎样形成模式语言分开。模式自己先在独立的方式下描述,这样它们就可以被应用在最有用的环境下。接下来的章节在描述模式是怎样交互以及怎样被其它模式辅助的。

然而重要的是,本书的很多模式可以在并发网络以外的环境被应用。为了演示它们的适应宽度,我们介绍来自其它领域如基于组件的或交互式的软件系统的已知应用。另外,我们给出在日常生活经历的情况下怎样应用这些模式。

一些模式可能是相似的,因为它们的早期版本在PLoP系列图[PLoPD1][PLoPD2][PLoPD3][PLoPD4]书和C++ Report杂志中发布。然而在本书中,我们已经在早期版本上进行了相当程度的改进:

l        这是它们第一次被放到一个独立的文档中,该文档帮助强调了它们表达的模式语言。

l        基于很多在会议上和工作室里,通过电子邮件,以及深刻的内部反省和我们的牧羊人(译注:常指引路者)的审核,收到的改进建议,我们已经重写并重新修订了这些模式。

l        这些模式被转化成POSA模式格式并有一个统一的撰写风格。

面向的读者

像我们更早的图书《模式系统》一样,这一卷是为专业软件开发者,特别是那些创建并发网络系统的开发者编写的。它帮助这些软件专家用一种新的方法考虑软件架构问题,并在大规模复杂的中间件和应用程序的设计和编程中给他们以支持。

本书也适合那些牢固掌握了网络和操作系统,想学习高效设计并实现这样系统的核心原理,模式和技术的大学高年级学生或毕业生。

我们用[POSA1]来引用《模式系统》,而不是通过作者。本书也是这样,我们用[POSA2]来引用。我们用这个约定来避免在读者的脑子里,POSA的某卷与唯一的一个作者相关联,特别是在封面上的第一个名字。

内容和组织结构

《并发和分布式对象》(译注:估计应该是《并发和网路对象》)可以被当作一本教科书来一页一页的阅读,或者作为参考手册来探究特定模式在细节上的细微差别。

第一章,    并发网络对象,介绍了并发网络面向对象应用程序和中间件开发者面对的问题的概述。我们用真实的例子,一个并发Web服务器,来演示这些领域的关键方面,包括服务访问和配置,事件处理,同步,和并发。

2章到第5章构成了本书的主要部分。它们包含了模式,是“真正的东西”[U2],整理了开发高质量并发网络系统的成熟的原则和技术。我们希望这些模式能够成为开发你自己的并发网络应用程序,以及记录你发现的模式,的有用的行为榜样。

6章,把模式组织到一起,讨论了第2章到第5章的模式是怎样相互连接的。我们还展示了它们怎样与创建并发网络系统和中间件模式语言的著作中的其它模式进行连接。正如前面提到的,一些模式在并发网络系统为也是可应用的。对于这些模式,我们概括它们适用性的范围。

7章,模式的过去,现在和未来,回到我们在1996年在《面向模式的软件架构》系列第一卷中发布的关于“模式将走向何方”的预言,我们讨论了在过去的四年里模式的发展方向并分析了模式和模式社团现在的情况。基于这些回顾,我们修正我们关于未来研究和模式应用和模式语言的愿景。

本书用对我们介绍的模式的一个评价,一个常用名次术语表,一个符号附录,一个该领域工作的大量参考列表,一个模式索引,一个总题目索引,以及一个所有帮我们制作本书的人员列表的姓名索引来结束

本书相关的补充材料可以在http://www.posa.uci.edu/找到。这个URL还包含了到ACETAO源码的链接,该源码包含了C++和一些Java的本书中所有模式的例子。

无疑的有些并发网络对象系统的方面被我们省略了,或者随着时间的过去当我们在实践中应用和扩展我们的模式语言的时候它们会出现。如果你有改进本书风格和内容的意见,建设性的批评,或者建议,请通过电子邮件<patterns@mchp.siemens.de>把它们发送给我们。我们也欢迎对我们所有模式工作的公开讨论。请使用我们的mailing listsiemens-patterns@cs.uiuc.edu,来把反馈,意见和建议发给我们。订阅指导方针可以在模式的主页找到。它的URLhttp://hillside.net/patterns/。这个链接还提供了模式的很多方面的重要消息来源,如已经和即将出版的书,关于模式的会议,关于模式的论文,等等。

感谢

我们很高兴感谢很多在创造本书时给我们支持的人们,无论是通过与我们共享它们的知识还是通过审核部分初期草稿并提供有用的反馈。

首位的审核荣誉归于Regine MeunierChrista SchwanningerMartin BotzlerLutz DominickPrashant JainMichael KircherKarl Pröse,和Dietmar Schütz,我们尊敬的同事。他们花费大量昂贵的时间帮助审核我们数不尽的作者的工作室里的手稿,来帮助我们推敲和制作本书最终的内容。类似的,我们非常感谢分布式对象计算(Distributed Object ComputingDOC)团体的成员,Tim HarrisonPrashant JainCarlos O’Ryan,和Irfan Pyarali,他们合作撰写了本书六个版本的最初的版本。和四个主要作者一起,这些研究者在慕尼黑的西门子,圣路易的华盛顿大学,和Irvine加利福尼亚大学组建了POSA团队。

我们也非常感激Peter SommerladChris CleelandKevlin Henney,以及Paul McKenneyPeter,我们的引路者,他们深入的审核我们所有的材料,关注它们的正确性,完整性,一致性和品质。ChrisKevlin,和Paul,我们同等的审核者,给我们提供了额外的详细反馈。所有这些对改进《并发网络对象模式》有相当大的贡献。

我们也要感谢(University of IIIinois at Urbana Champain的)软件架构团体,包括Federico Balaguer,,John BrantBrian Foote,,Alejandra GarridoPeter HatchRalph JohnsonDragos ManolescuBrian MarickHiroaki NakamuraReza RazaviDon RobertsLes TyrrellJoseph W.YoderWanghong YuanWeerasak Witthawaskul,和Bosko Zivaljevic,它们关于很多POSA2模式组建作者工作室。它们给我们意见来帮我们改进本书的正确性和易理解性。

很多来自世界各地的其他人提供了本书初期版本的反馈,包括Giorgin AngioliniBrad AppletionPaul AsmanDavid BarkkenJohn BasraiJoe BerginRainer BlomeDon BoxMartina BuschmannTom CargillChuckLorrie CranorJames O.CoplienWard CunninghamNeil HarrisonMichi HenningDavid HolmesTom JordanFabio KonBob LaferriereGreg LavenderDoug LeaJohn MacMillanMittal MonaniDuane MurphyJaco van der MerweMichael OggBill PughDirk RiehleLinda RisingWolfgang SchroederRechard TorenSiva VaddepuriJohn VlissidesRoger Whitney,和Uwe Zdun。我们的模式的Credits节列出了他们宝贵的贡献怎样帮助我们润色本书的。

我们也要重点感谢St.Louis的华盛顿大学,加利福尼亚大学,Irvine,对象计算等DOC组织的过去的和现在的所有人,以及Riverace,它将本书中介绍的所有模式具体化,精炼并优化成ACETAO中间件项目中的组件和框架。这个激情洋溢的团体包括Everett AndersonAlex ArulanthuShawn AtknsDarrell BrunschLuther BakerMatt BraunChris CleelandAngelo CorsaroSergio Flores-GaitanChris GillPradeep GoreAndy GokhalePriyanka GontlaMyrna HarbisonTim HarrisonShawn HannanJohn HeitmannJoe HoffertJames HuSteve HustonPrashant JainVishal KachrooRay KlefstadYamuna KrishnamurthyMichael KircherFred KuhnsDavid LevineEbrahim MoshiriMichael MoranSumedh MungeeBala NatarjanOssama OthmanJeff ParsonsKirthika ParameswaranKrish PathayapuraIrfan PyaraliCarlos O'RyanMalcolm SpenceMarina SpivakNaga SurendranSelcuk UelkerNanbor WangSeth Widoff,和 Torben Worm。我们也要感谢全世界成千上万的ACETAO用户的真实的贡献,它们在过去的十年里应用并增强了本书描述的模式和框架。没有他们的支持,持续的反馈,以及鼓励,我们不会写出这本书。

特别感谢Johannes NierwetbergLothar Borrmann,和Monika Gonauser,因为他们对德国慕尼黑西门子AG合作技术软件工程实验室在管理上的支持和援助。我们也要感谢慕尼黑的西门子通信设备商业单元的Calinel Pasteanu能够理解撰写本书的各种杂事和在“Internet Time”时间内提交产品的压力之间的矛盾。

我们还要感谢来自我们研究模式和ACETAO中间件框架的同事和发起人,特别是Ron Akers (Motorola)Al Aho (Lucent)Steve Bachinsky (SAIC)Detlef Becker (Siemens)Jim Blaine (Washington University)John Buttitto (Motorola)Becky Callison (Boeing)Wei Chiang (Nokia)Russ Claus (NASA)Joe Cross (Lockheed Martin)Bryan Doerr (Boeing)Karlheinz Dorn (Siemens)Sylvester Fernandez (Lockheed Martin)Andreas Geisler (Siemens)Helen Gill (DARPA)Trey Grubbs (Raytheon)Jody Hagins (ATD)Andy Harvey (Cisco)Thomas Heimke (Siemens)Kalai Kalaichelvan (Nortel)Arvind Kaushal (Motorola)Steve Kay (Tellabs)Chandra Kintala (Lucent)Gary Koob (DARPA)Sean Landis (Motorola)Rick Lett (Sprint)Joe Loyall (BBN)Mike Masters (NSWC)Ed Mays (US Marine Corps)John Mellby (Raytheon)Dave Meyer (Virtual Technology)Eileen Miller (Lucent)Stan Moyer (Telcordia)Russ Noseworthy (Object Sciences)Guru Parulkar (Cisco)Dan Paulish (Siemens)James Plamondon (Microsoft)Dieter Quehl (Siemens)Lucie Robillard (US Air Force)Allyn Romanow (Cisco)Rick Schantz (BBN)Steve Shaffer (Kodak)Dave Sharp (Boeing)Naval Sodha (Ericsson)Brian Stacey (Nortel)Paul Stephenson (Ericsson)Umar Syyid (Hughes)Dave Thomas (OTI)Lothar Werzinger (Krones)Shalini Yajnik (Lucent)and Tom Ziomek (Motorola)的贡献。

最后,我们想表达我们对逝去Richard Stevens表示深深的感谢,他的创造性的书这么多年来鼓舞我们探索网络编程的奇迹。他的精神遍及本书。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值