首页>参考读物>计算机科学与技术>计算机网络

SOA实践指南——应用整体架构
作者 : Paul C. Brown
译者 : 胡键; 宋玮; 祁飞
丛书名 : SOA技术丛书
出版日期 : 2009-04-08
ISBN : 7-111-26334-0
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 360
开本 : 16开
原书名 : Implementing SOA:Total Architecture in Practice
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

把面向服务架构(SOA)付诸实践
  “本书是实现SOA的企业架构师的必备读物。本书通过实际例子解释了业务需求、业务流程设计和服务架构之间的关系,并通过将SOA实现直接联系业务价值来揭示不断成功和获得资金的关键。”
  ——Maja Tibbling,Con-way公司首席企业架构师
  “虽然还有其他关于架构和ESB、SOA及相关技术实现的书籍,但是只有这本新书把握了实际的知识和经验。它 给出了将需求和愿景转变成坚实、可重复和增值架构的方法。我由衷地推荐它。”
  ——Mark Wencek, Ultimo Software Solutions公司顾问服务联合部门高级副总裁
  在《Succeeding with SOA》中,Paul Brown解释了要想满足企业目标,就必须把业务流程和信息系统作为整体架构的一部分一起设计。在本书中,他从项目和企业两个层面指导读者经历一次成功设计和开发整体架构的过程。利用自身丰富的经验,作者提供了创建服务和利用它们创建健壮、灵活的SOA解决方案的最佳实践。
 
本书内容包括:
  ■ 在以项目为基础持续交付业务价值的同时,逐步把企业架构发展成SOA。
  ■ 理解SOA和分布式系统的基础、主要的架构问题,以及解决它们的设计模式。
  ■ 理解项目架构师和企业架构师角色的区别,以及他们该如何协作来创建SOA。
  ■ 理解为何需要一个包含业务流程、人员、系统、数据和基础设施的全面整体架构。
  ■ 理解实现健壮、安全、高性能和高可用性解决方案的策略和权衡。
  ■ 理解将业务流程管理(BPM)和业务流程监视融入企业架构的方法。

  无论你是在定义企业架构,还是在交付单个SOA项目,本书都能为你提供完成工作所需的务实建议。

作者简介
  Paul C. Brown TIBCO公司的首席软件架构师,该公司引领企业软件和服务的新潮流(www.tibco.com)。他的基于模型的工具架构成为了众多应用的基础,其范围从流程控制接口到NASA卫星任务规划。凭借其在企业级信息系统方面的广泛设计工作,Brown博士发展出了整体架构的概念。他的第一本书(《Succeeding with SOA: Realizing Business Value Through Total Architecture》)引入了这一概念,而本书则详细阐述了这一概念。 他获得了伦斯勒理工学院计算机科学博士学位。

图书特色

图书前言

如果你是一名在企业中负责面向服务架构(SOA)的架构师,你会面临众多挑战。有意无意之间,你创建的架构在许多不同层面定义了企业的结构,其覆盖范围从业务流程到数据存储。这种架构不仅定义了业务系统之间的边界,而且也定义了组织单元之间的边界。除了定义服务,你的架构还必须为大量复杂的分布式系统设计问题提供实用的解决方案,这些问题的范围从业务流程的编配到确保业务的连续性。实现架构是一个长期过程,涉及众多项目,而且也不能缺少架构师的指导。
  在《Succeeding with SOA》一书中,我已经讨论了企业应该密切关注其架构、架构师的角色,以及为这些架构师创建一个正确组织环境的重要性。在本书中,我将开始讨论架构师(也就是你)的本职工作,并通过在项目和企业两个层面定义面向服务架构的过程来为你提供指导。无论你是一名已经在实践中应用SOA的架构师,还是有志成为一名架构师并渴望获得更多知识的工程师,这本书都是为你而写的。
  圆满实施SOA可以让企业获得丰厚的回报。如果实施得当,企业将包含一组健壮、灵活、可复用的业务和基础设施服务。这样,企业就能通过快速重组这些服务来应对不断变化的业务需求。相反,如果SOA实施得不好,企业将会受一组脆弱、僵化的功能(我不愿称之为服务)拖累,不但不会促进企业的发展,反而会起到相反的作用。这种结果不会是你想要的。本书不仅会告诉你最佳实践,同样也会为你指出可能的陷阱。简而言之,它会指导你顺利地把SOA实施完成。
  SOA架构的挑战
  要想出色地完成SOA建设,你应该解决4个相互关联的架构挑战。
  1服务同时定义了业务流程和系统的结构。从此,业务流程和系统自然而然地彼此相互交织到了一起,设计一个而不更改另一个的日子已经一去不复返。它们必须一起设计,形成一种整体架构(total architecture)。这样,构建面向服务架构不再只是一项技术活动,而且也是一项需要企业里业务团体积极参与的业务活动。
  2你不会从零开始构建SOA。你的企业目前正在使用一组业务流程和系统来运营。仅仅因为想构建SOA就把现有业务经营活动打乱,这种后果你承受不起。务实地讲,你应该逐步把现有业务流程和系统发展成SOA。在这个转变过程中,各个项目必须独立于你的SOA项目持续交付有形的业务价值。
  3在实施过程中,对于SOA愿景的解释应该一致。SOA的实际实现过程是以项目为单位逐步进行的。在当前项目中开发出的服务必须满足未来的需求,而今天的项目必须能利用以前项目开发出的服务。确保现有服务能被恰当利用,而且新服务能满足未来需要,要求在多个项目之间进行协调和规划,既要着眼于现在,又要兼顾未来。
  4面向服务架构实质是分布式系统。由此,对于所有经典分布式系统的设计问题,你的SOA都必须包含前后一致的解决方案:根据通信延迟权衡服务粒度,解决通信故障,管理分布于服务和站点的信息,协调服务执行和负载分配,确保服务和业务流程的可用性和容错性,保护你的信息,以及对业务流程和服务都要进行监视和管理。影响解决方案决策的需求源自业务流程相关的需求,业务流程和系统设计因此紧密地联系在了一起。同上面说的一样,在所有项目中,解决这些问题应该采用一致的方法。
  最后,身为架构师,你的挑战还在于组织业务流程、人员、信息和系统之间的协作,并将协作的重点放在实现企业目标之上。
  本书简介
  本书为解决你的架构挑战提供了全面指导:它向你展示了如何平滑地集成业务流程设计和业务系统设计;它将告诉你如何演变现有架构以实现SOA目标并在转变期间维持对企业经营活动的支撑;它说明了如何使用一个积极的企业架构小组给多个项目带来一致性和有远见的架构观;它最后展示了如何全方位地解决你将面临的分布式系统设计问题。
  本书由九个部分组成。第一部分介绍了架构、服务和整体架构合成方法论的基本概念。第二部分到第八部分讨论了一系列架构设计的问题,范围从理解业务流程到监视和测试架构。第九部分以这些讨论为基础,描述了复杂业务流程和工作流相关的大规模设计问题,并最终以企业架构小组工作方式的总结性讨论作为结束。
  从第二部分到第八部分, 每个架构主题都从两个角度进行讨论:项目角度和企业架构角度。每部分都首先讨论设计问题,仿佛项目架构师正从零开始创建整个架构。每部分的最后一章则描述了多项目环境的现实,并就如何确保设计问题能贯穿整体架构得到妥善解决,探讨了企业架构小组必须扮演的角色。这种内容安排上的分离不仅强调了项目架构师和企业架构师需要采用的合作方式,也强调了他们各自的职责。在第九部分中,企业架构小组章节对该小组的活动进行了总结。
  使用全书和各章节的方式有两种。一种方式是将其作为处方。本书给出了解决各个项目和管理整个企业架构的结构化方法。另一种方式是将其作为审查的指导方针。每章都讨论了一个主题并以该主题相关的关键问题列表作为总结。先将问题作为对当前项目和企业架构工作的自评指南,然后使用各章内容来审查具体问题和用来解决问题的各种方法。不论使用哪种方式,都可以增强你的企业架构。
  本书是一本构建企业架构的综合指南。虽然重点无疑是SOA,但SOA终究只是一种分布式系统架构风格。现实世界的企业架构是SOA和非SOA元素的混合体。为了反映这一现实,本书的讨论并没有仅限于SOA,而是对分布式业务系统架构进行了全方位的覆盖。
  本书介绍的实用方法将指导你理解要面临的每一个问题、可能解决方案的选择,以及在构建解决方案时的权衡因素。每章末尾的关键问题不仅提供了合适的总结,而且也可方便地作为架构审查的问题。这些问题及每章相应的讨论将引领你走向SOA的成功。
  致谢
  本书献给我的妻子Maria。没有她的爱和支持,本书及前一本书将永远无法面世。她承担了许多本该由我来做的琐碎之事,并在我心生厌倦之时给予我鼓励。仅用语言难以表达我的爱和感激。
  在整本书的写作过程中还有许多人提供了帮助。我要感谢让我学会未知领域探索方法的导师:John Reschovsky、Joel Sturman、David Oliver、David Musser和Mukkai Krishnamoorthy。我要感谢对书中思想献计献策的同事:Jonathan Levant、John Hutchison、James Rumbaugh、Michael Blaha和William Premerlani。感谢Brian Pierce、Bruce Johnson、Paul Beduhn和Paul Asmar,他们对我的企业方法论成果提供了帮助。感谢Paul Asmar、David Leigh、Saul Caganoff和Janet Strong,他们使这些实际的架构概念更能经受住考验。感谢Michael Blaha和William Premerlani,他们帮助我把概念变成书。感谢Paul Asmar、Ram Menon、Roger Strukhoff、Scott Fingerhut、Peter Gordon、Michael Blaha和Charly Paelinck,他们帮助我把本书变为现实。
  
  PCB
  Schenectady, NY
  2008年2月19日

封底文字

把面向服务架构(SOA)付诸实践 “本书是实现SOA的企业架构师的必备读物。本书通过实际例子解释了业务需求、业务流程设计和服务架构之间的关系,并通过将SOA实现直接联系业务价值来揭示不断成功和获得资金的关键。” ——Maja Tibbling,Con-way公司首席企业架构师 “虽然还有其他关于架构和ESB、SOA及相关技术实现的书籍,但是只有这本新书把握了实际的知识和经验。它 给出了将需求和愿景转变成坚实、可重复和增值架构的方法。我由衷地推荐它。” ——Mark Wencek, Ultimo Software Solutions公司顾问服务联合部门高级副总裁 在《Succeeding with SOA》中,Paul Brown解释了要想满足企业目标,就必须把业务流程和信息系统作为整体架构的一部分一起设计。在本书中,他从项目和企业两个层面指导读者经历一次成功设计和开发整体架构的过程。利用自身丰富的经验,作者提供了创建服务和利用它们创建健壮、灵活的SOA解决方案的最佳实践。 本书内容包括: ■ 在以项目为基础持续交付业务价值的同时,逐步把企业架构发展成SOA。 ■ 理解SOA和分布式系统的基础、主要的架构问题,以及解决它们的设计模式。 ■ 理解项目架构师和企业架构师角色的区别,以及他们该如何协作来创建SOA。 ■ 理解为何需要一个包含业务流程、人员、系统、数据和基础设施的全面整体架构。 ■ 理解实现健壮、安全、高性能和高可用性解决方案的策略和权衡。 ■ 理解将业务流程管理(BPM)和业务流程监视融入企业架构的方法。 无论你是在定义企业架构,还是在交付单个SOA项目,本书都能为你提供完成工作所需的务实建议。 作者简介 Paul C. Brown TIBCO公司的首席软件架构师,该公司引领企业软件和服务的新潮流(www.tibco.com)。他的基于模型的工具架构成为了众多应用的基础,其范围从流程控制接口到NASA卫星任务规划。凭借其在企业级信息系统方面的广泛设计工作,Brown博士发展出了整体架构的概念。他的第一本书(《Succeeding with SOA: Realizing Business Value Through Total Architecture》)引入了这一概念,而本书则详细阐述了这一概念。 他获得了伦斯勒理工学院计算机科学博士学位。

作者简介

Paul C. Brown:暂无简介

译者简介

胡键; 宋玮; 祁飞:暂无简介

译者序

相比其他国内已出版的SOA书籍而言,这是一本与众不同的书籍。其特别之处在于,它的着眼点既非通常的SOA理论介绍和实施方法论,也非常见的协议解析和工具实作,而是架构。
  在当今的软件行业,架构的重要性已经得到了广泛的认可,良好的架构通常被认为是软件项目成功的保证。同样地,SOA项目也不例外。而且由于SOA其本身的目标是为了实现业务和IT的有效对齐,所以对其而言,架构的意义更大。
  可是优雅的架构并不能凭空捏造,它必须建立于实际需求之上,并通过一系列的决策得出。这不仅要求身为负责人的架构师具有宽广的知识面,而且还要具有丰富的经验,这样才能根据实际情况,在众多似是而非的选择中,做出恰当的抉择。而这本书正好为架构师的工作提供了这方面的支持。
  这是一本写给SOA架构师的参考书,作者Paul C. Brown是TIBCO公司的首席软件架构师,该公司同时又是SOA领域内的领导者,由这样一位作者来撰写这本书再合适不过了。全书以作者多年来发展出的整体架构合成方法论(Total Architecture Synthesis Methodology)为总纲,对建立企业分布式业务架构所需技术的方方面面都进行了详细的介绍,并就一些实际的问题给出了相关的最佳实践。更难能可贵的是,全书对每个架构主题分别从项目和企业的角度进行了探讨,从而使讨论更符合实际情况,对问题的讨论不仅考虑了企业的全局特性,而且兼顾了各个项目的个体特点。
  全书由宋玮、祁飞和我共同翻译完成,最终由我负责审校统稿。整本书的翻译过程用“痛并快乐着”来形容并不为过。虽然艰苦(这在本书的厚度上已经得到了充分的体现),但却也因能有机会使知识面拓宽,令多年的知识得以复习巩固而感到欢欣鼓舞。我们竭尽所能地提高翻译质量,并期望我们的努力能够得到读者的认可。但话虽如此,翻译之中不当之处在所难免,恳请大家批评指正,请发信至jianhgreat@hotmailcom。
  在此,我要感谢机械工业出版社的陈冀康编辑。同时,我也要将本书献给我们翻译团队的家人,感谢他们对我们翻译工作的支持。最后,我衷心地希望您能对本书的翻译感到满意,并借助本书中的内容让您的工作更上一层楼。
  胡键
  2009.2.19于西安

胡键 2000年硕士毕业后从事软件开发工作,在实际的项目中长期担任项目经理和技术经理。他关心软件技术和相关工具的动态,将其中相对成熟的技术和工具应用到实际的项目之中。目前他醉心于服务器端软件的设计和开发,并致力于研究SOA方面的规范、技术和工具,现为infoQ中文站SOA社区首席编辑。
宋玮一直从事软件应用项目的设计与开发,有多年软件开发经验,长期担任技术管理和项目管理工作,关心开源软件的发展动态以及软件过程和敏捷开发的实践探索。他现在是infoQ中文站Java社区首席编辑。
祁飞西安建筑科技大学信息与控制工程学院计算机科学与技术专业,副教授。他主要讲授软件工程、并行计算、数据结构等课程。

图书目录

译者序
前言
译者简介

第一部分基础
第1章SOA与企业
11挑战
12整体架构的概念
13架构是目的明确的结构
14持续变化
15整体架构合成
16让整体架构为企业所用
17总体关键问题
第2章架构基础
21结构组织
22功能组织
23协作行为
24整体架构
25非功能需求
26细化
27架构师的角色
28企业架构
29总结
210架构基础的关键问题
211推荐阅读
第3章服务基础
31什么是服务
32服务接口
33服务背后的基本原理
34总结
35服务基础的关键问题
36推荐阅读
第4章服务使用
41服务交互模式
42服务访问
43访问控制
44服务请求路由
45服务组合
46服务定位
47服务的企业架构
48总结
49服务使用的关键问题
410推荐阅读
第5章SOA开发过程
51SOA开发有什么不同
52整体开发过程
53架构任务
54上下文中的架构
55整体架构合成
56小心似是而非的流程!
57管理风险:迭代架构
58总结
59开发过程的关键问题
510推荐阅读
第二部分业务流程视角
第6章流程
61触发器、输入与结果
62关联流程
63流程成熟度
64连续流程
65结构化流程
66总结
67流程的关键问题
68推荐阅读
第7章项目初始范围划定
71收集业务流程清单
72进行访谈
73记录业务流程清单
74业务流程等级评定
75剩余工作组织
76总结
77范围划定的关键问题
第8章需求的技巧
81划分
82流程描述
83交互模式
84需求反映设计
85总结
86需求的关键问题
87推荐阅读
第9章业务流程架构
91结果
92参与者及其角色
93活动和场景
94场景建模
95交互建模
96细节多细才够用
97活动图使用指导方针
98总结
99业务流程架构的关键问题
910推荐阅读
第10章里程碑
101基本流程里程碑
102里程碑序列的变化
103里程碑分组
104辨认里程碑需要设计
105利用里程碑减少流程间耦合
106总结
107里程碑的关键问题
第11章流程约束
111业务流程约束决定系统约束
112性能约束
113高可用性和容错性
114安全性
115报告、监视和管理
116异常处理
117测试和接受
118合规约束
119总结
1110流程约束的关键问题
1111推荐阅读
第12章关联流程
121服务识别
122触发事件
123总结
124关联流程的关键问题
第13章领域建模
131UML类符号
132ATM例子的领域模型
133领域模型的逆向工程
134领域模型总结
135领域模型的关键问题
136推荐阅读
第14章企业架构:流程与领域建模
141流程与领域建模的职责
142建立标准与最佳实践
143流程与领域知识转移的管理
144项目模型审查
145维护业务流程和领域模型仓库
146定义业务流程模式
147定义公共数据模型表示法
148总结
149企业流程与领域建模关键的问题
第三部分系 统 视 角
第15章系统架构纵览
151架构分布式系统的挑战
152学习CORBA的经验
153有效地探索架构
154总结
155系统架构纵览的关键问题
第16章顶层系统架构
161结构粗加工
162初始评估
163通信和模块化
164服务识别和性能
165系统交互建模
166部署建模
167处理性能
168早期架构评估
169顶层系统架构的关键问题
1610推荐阅读
第四部分通信
第17章传输
171传输技术
172选择传输
173消息传递服务器拓扑
174能力
175点对点交互模式
176点对点中介
177传输供给服务
178总结
179传输的关键问题
1710推荐阅读
第18章适配器
181基于API的适配器
182基于数据库的适配器
183结合API和数据库方法
184基于文件的适配器
185基于协议的适配器
186记录适配器的使用
187总结
188适配器的关键问题
第19章企业架构:通信
191定义通信策略
192交互标准
193标准化适配器
194总结
195企业架构通信的关键问题
第五部分数据和操作
第20章数据挑战
第21章消息和操作
211消息语义和操作名字
212传输目的地和操作包
213内容表示
214内容转换
215在内容转换中引用数据
216总结
217消息和操作的关键问题
第22章数据一致性:维护事实的
唯一版本
221维护数据一致性的方法
222具有单记录系统的缓存数据
223通过分布式事务协调更新
224到处编辑,以后调整
225处理数据不一致
226数据管理业务流程
227总结
228数据一致性的关键问题
229推荐阅读
第23章公共数据模型(CDM)
231公共数据模型概述
232CDM和领域模型的关系
233多种CDM表示法的需要
234规划CDM变更
235何时使用公共数据模型
236总结
237公共数据模型的关键问题
第24章标识符(唯一名称)
241标识(唯一名称)管理中心
242层次标识符
243应对标识错误
244标识符映射
245总结
246标识符的关键问题
第25章结果验证
251检查枚举值
252验证的位置和时机
253总结
254数据验证的关键问题
第26章企业架构:数据
261命名模式
262构架内容转换
263记录系统
264公共数据模型
265标识符
266数据质量管理
267总结
268企业架构数据的关键问题
第六部分协调
第27章协调与故障检测
271活动执行管理模式(AEMP)
涉及的交互
272协调模式的风格
273即发即弃协调模式
274请求-应答模式
275代理
276具有确认功能的代理
277总结
278协调的关键问题
第28章事务:协调两个或
更多活动
281分布式事务的两阶段提交
282两阶段提交协议的局限性
283补偿性事务
284绕过补偿性事务的局限性
285总结
286事务的关键问题
287推荐阅读
第29章流程监视器和管理器
291流程监视
292最小化故障监视带来的影响
293把流程管理器作为监视器
294流程管理的局限性
295总结
296流程监视和管理的关键问题
第30章故障检测和响应
301选择协调模式改善故障检测
302响应故障
303总结
304故障检测和恢复的关键问题
第31章企业架构:协调
311首选协调模式
312故障记录
313故障报告
314恢复流程
315总结
316企业协调的关键问题
第七部分高可用性、容错性和负载分配
第32章高可用性和容错性基础
321容错策略
322失效检测策略
323管理故障转移
324重定向客户端
325总结
326高可用性和容错性的关键问题
第33章无状态和有状态故障转移
331无状态和有状态组件
332无状态故障转移
333通过协调保存工作进展
334有状态故障转移
335存储复制
336总结
337故障转移的关键问题
338推荐阅读
第34章多组件故障转移
341站点内故障转移和站点间
故障转移
342集群:站点内故障转移技术
343使用异步复制协调端到端应用
故障转移
344使业务流程具有容错性
345总结
346多组件故障转移的关键问题
第35章工作负载分配
351工作分配策略
352分配管理和工作完成
353顺序问题
354访问共享持久状态
355地理分布的工作负载分配
356总结
357工作负载分配的关键问题
第36章企业架构:容错性、高可用性
和负载分配
361业务流程分类
362信息存储
363单个组件和服务故障转移模式
364容错性和高可用性服务的
组合模式
365容错性和高可用性业务流程的
组合模式
366总结
367容错性、高可用性和负载分配的
关键问题
368推荐阅读
第八部分完 善 架 构
第37章流程安全
371安全信息分类
372身份和认证
373授权
374加密
375数字签名
376其他安全相关需求
377引用数据服务器和性能
378信任域
379信道执行
3710区域执行和策略代理
3711多区域安全
3712总结
3713安全的关键问题
3714推荐阅读
第38章流程监视
381性能监视
382监视流程状态
383监管流程
384监视的性能影响
385总结
386流程监视的关键问题
第39章架构评估
391易用性
392性能
393成本和进度的可行性
394可观察性
395演变能力
396应对压力情况的能力
397总结
398架构评估的关键问题
399推荐阅读
第40章测试
401单元测试、测试用具和
回归测试
402集成测试和装配顺序
403功能和系统测试的环境
404性能测试
405失效模式测试
406总结
407测试的关键问题
第九部分高 级 主 题
第41章表示复杂流程
411忽略通信细节
412省略参与者活动细节
413省略辅助参与者
414抽象子流程
415总结
416复杂流程表示的关键问题
第42章流程管理和工作流
421流程管理
422工作分配模式
423启动工作流
424使管理流程具有容错性
425人类接口
426关联流程
427划分工作优先级
428动态工作分配
429动态结果和流程定义
4210总结
4211流程管理和工作流的
关键问题
4212推荐阅读
第43章企业架构小组
431小组不完整比没有强——但是
还不够好
432发展最佳实践
433知识转移
434治理
435随需求的演变而设计
436总结
437企业架构小组的关键问题

后记〖=A(〗11223344557912141415161819192020262932323334343841434649505051515252525354556060616161636364656667676768696970717881818283848790959798989999101103105110113114115115115116116117118118120120120121121122126130130132132133133134134135136140144145146146150151152153153154154155156156156157157157158159159159164165166167167168169171171174177179179180181181183185188188190191191191192193194194195195195195196197198198198199199199201202202203205205207207208209209210213213213214215215215216216219220221224226226227227228230233235235236236236237237238238239239240241241242242243243245245247250251252252253253255255256257257257258259260260261261262263263265271271272272273273273274274275275276277277278279280280280280282282287288288289289290291292292293294294294295296297297297298298299299300300301301301303303304304305306306307307308309309310311311312312313314314314314316316316323323323324324325325326326327327327330330330333333334334335335336337337340341341344346349349350351352352353353353354355355357358359〖=〗

教学资源推荐
作者: [美]科里·比尔德(Cory Beard),威廉·斯托林斯(William Stallings) 著
作者: 郭秋萍 陈建辉 主编
作者: 熊建强 黄文斌 彭庆喜 主编
参考读物推荐
作者: 山金孝 潘晓华 刘世民 著
作者: Ed Taylor
作者: 吴秋林 著