基本信息
- 原书名:SOA in Practice: The Art of Distributed System Design
- 原出版社: O'Reilly Media, Inc.
- 作者: (美)Nicolai M. Josuttis
- 译者: 程桦
- 出版社:电子工业出版社
- ISBN:9787121070419
- 上架时间:2008-9-9
- 出版日期:2008 年9月
- 开本:16开
- 页码:324
- 版次:1-1
- 所属分类:计算机 > 计算机网络 > Web Server > SOA/SOC(面向服务框架)
计算机 > 计算机控制与仿真 > 系统分析与设计(控制)
内容简介
作译者
目录
第1章:动机
1.1 大型分布式系统的特征
1.2 魔术总线故事
1.3 魔术总线故事给我们的启示
1.4 SOA历史
1.5 五页幻灯讲完SOA
第2章:SOA
2.1 SOA定义
2.2 SOA驱动因素
2.3 SOA概念
2.4 SOA要素
2.5 SOA不是银弹
2.6 SOA不是特定技术
2.7 对比SOA与分布式对象
2.8 SOA术语
2.9 总结
第3章:服务
3.1 服务
3.2 接口和契约
译者序
不同之一为SOA接受异质。这个转变产生的效果正如敏捷编程接受“需求不断变更”产生的效果一样,从抗拒到接受,观念上转变的一小步,实践中将形成巨大的差异。
不同之二为SOA接受变化,甚至必须在变化中才能产生出自己的SOA;作者多次提到“你买不来SOA”,强调SOA是必须根据自己的情况逐步演化出的一个IT战略。
这些不同之处与其说是技术上的,不如说是观念上的。事实上,观念的变化最为强有力,新观念或者会产生与过去迥异的方法论、开发过程和架构,或者会激发人们从新的角度、用新的方式来组织老技术和老方法。
然而,如果对SOA的研究只停留在纯观念、纯理论上,则SOA将始终是美丽而遥不可及的海市蜃楼。“理论是苍白的,而生活之树常青”。只有既抓住观念和本质,又深入一定程度细节,才能“纲举目张”和“翔实可行”兼得。..
《SOA实践指南》正是这样组织内容的。作者先讨论SOA的动机、定义、特性、分类等基本概念,建立SOA的纲;然后用了大量篇幅讨论SOA实践的各个方面——技术细节如服务的识别、SOA安全、SOA性能、消息交换模式;管理细节如SOA版本划分、SOA开发过程、服务管理、SOA建立和监管过程等。对实践的讨论基于作者自己在大型跨国公司中实现SOA的经验,言之有物,绝非纸上谈兵。
但是,由于SOA的特殊性质,本书并不是从一个具体的例子出发(比如,假设一家虚拟的公司)讲述SOA怎样从头到尾建立起来的全过程。不这样做的原因是:具体到一个SOA项目的讨论会涉及过多领域相关的内容,特殊性太强,反而无助于全面阐释SOA。因此,如果诸位程序员希望能够看了本书后就可以马上动手写漂亮的“面向SOA的代码”的话,恐怕这个愿望无法满足。本书一再强调的就是,建立SOA是个渐进、迭代和逐步演化的过程,最好的老师就是自己的实践。《SOA实践指南》更大意义上是一本关于方法论的书。对所有人来说,本书目的是通过足够的细节帮助你建立正确的观念。如此一来,当面对具体的SOA项目时,你就既不至于只能泛泛而谈,无从着手;也不至于只见树木,不见森林,一下陷入到具体细节而不能自拔。
对公司的CEO、CIO来说,本书可以帮助你了解SOA的成本、收益、对公司组织结构的影响、对公司的战略意义;对分析师、架构师、项目经理来说,本书可以帮助你建立SOA的完整概念,进行恰当的架构决策、过程决策,回避重大的陷阱;对开发一线的程序员来说,本书可以帮助你理解SOA的精髓,了解SOA涉及的各种技术考量,只有在建立了这些认识后,程序员才能在真正理解了SOA的基础上,编写出漂亮的“面向SOA的代码”。
翻译书是个艰苦的劳动过程,当然,这同时也是个愉快的学习过程。虽然我力求做到准确传达原著的意思,但由于水平所限,仍然难免有理解错误和表达不清之处,敬请广大读者批评指正。...
程 桦
2008年5月于北京
前言
一旦我们开始项目,大家很快就发现事情进行得不像原来预想的那样顺利。在与SOA方法打交道的同时,我不但学到了SOA是什么,还学到了理论和实践的区别,对此Laurence Peter “Yogi”Berra作了如下的完美表述:
从理论上讲,理论和实践是一致的。但在实践中则并非如此。
实际上,由于我对中央SOA团队提供的东西的抱怨是如此之多,以致我最终被派给了一项任务——将这些东西整理清楚。给我的任务描述是:要保证我的经理不会再听到业务单位对SOA的怨言。
于是,我们修正错误的概念和支离破碎的过程、自动化手工操作、对战略性决策施以影响、向别人提供支持,并且(最后而并非最不重要的)给其他人讲授SOA背后的概念和思想,以及特定的架构决策和政策后面的理由与动机。
现在,我们建立的SOA景观(译注1)对分布在本地、全国和国际若干系统上的流程提供着支持。这个系统由上百个服务支撑着每天数以百万计的服务调用。
得益于这次经验,以及我在许多其他公司(处于非常不同的扩张阶段)观察到的SOA方法和项目,我开始搞SOA咨询、做评审、进行演讲和开培训课程。在这个过程中,我对SOA的不同风格,以及处理SOA的不同方法渐渐明了,除此之外,我还了解了所有必须回答的问题,以及教授SOA的最好方法。
我仍然每天都在学习,但是我相信,针对在实践中建立SOA和处理其特性这项任务,到目前为止自己学到的知识能帮助你找到一条恰当而成功的道路。
SOA已经成了一个主要的范式,并且,它现在对不同的人意味着不同的东西。我将讨论集中在“SOA作为一个战略,为分布式业务处理提供了支持”上面。在这个意义上,SOA是一个虽然可能由IT驱动,却总是对业务产生总体影响的战略。
本书将提出若干概念,但焦点放在概念的实际应用上。这是为什么本书非常吻合O’Reilly的“实践中的理论”系列的一个原因。
读本书前你应了解什么
What You Should Know Before Reading This Book
作为本书的读者,你应该对计算机科学和编程有一般的了解。在大型和分布式系统上的经验对阅读本书有帮助,但并非必需,因为本书涵盖了所有这些概念(从SOA的角度)。
本书的结构
Structure of the Book
本书被设计为从头至尾顺序阅读。我们将从SOA一般概念开始,逐步前进到更高级的话题。交叉引用将帮助你找到包含在其他章节中的解释和更深入的细节,索引能帮你找到关于特定话题和术语的信息和讨论情况。
本书前半部分讨论基础:
第1章:动机
本章探讨你为什么想要在大型分布式系统环境下使用SOA,探讨了SOA是如何出现的,讲述了魔术总线的传说,给出了SOA的简要概览。
第2章:SOA
媒体评论
——Steffen Roehn博士,T-Mobile国际公司执行委员会成员(CIO)
“在过分炒作的SOA世界中,Nicolai Josuttis做出了杰出的贡献:一部基于第一手经验、经过认真推敲的、深刻洞察SOA本质的作品。就鼓励SOA实践者采用切实可行的方法而言,本书是一个重要的里程碑。”..
——John Schmidt,集成联盟主席
“所有CIO、IT主管和IT计划经理都应该看看这本书。”
——Richard Mark Soley博士,对象管理组织主席和CEO、SOA联盟执行董事...
书摘
1.1 大型分布式系统的特征
SOA是用于大型分布式系统的概念。要理解SOA,你必须了解大型分布式系统的特点。
首先,大型系统必须处理“老系统”。引入SOA时,你不可能从头开始设计一切。你必须处理这样的事实:当前在用的大多数系统会一直用下去。这也意味着建立SOA不是一个设计新系统的项目。SOA涉及改变现有系统的结构,这意味着你必须和老平台及向后兼容问题打交道。实际上,SOA是对大型系统景观开展“维护”工作的方法。
所有大型系统天生就是异质的。这些系统目的有别、实施时间各异、新旧程度差异悬殊。你会发现大型系统呈现出堆积了不同平台、编程语言、编程范式,甚至不同中间件的系统景观。过去,人们多次试图依靠一致化解决可伸缩性问题。是的,一致化确实有帮助。剔除不再可维护的老平台和系统是重大的改善。然而,一般说来,你的系统永远无法彻底一致化。正当你将要剔除最后一个异质体时,一次公司兼并或其他变化将重新打开潘多拉之盒。
异质性的一个原因是,大型系统和它们的数据有非常长的生命周期。在此生命周期中,通过加入新的系统和流程,不断开发出促进业务的新功能。虽然剔除现有系统和数据有可能看起来没有业务价值,然而,这种改造是对系统可维护性的投资。通常说来,这类投资都进行得很晚,以致其代价变得不可思议地高昂,因为系统已经失控,关于系统的所有知识均已失传。
……