SOA与REST:用REST构建企业级SOA解决方案.pdf

SOA与REST:用REST构建企业级SOA解决方案.pdf
 

书籍描述

编辑推荐
SOA的权威人物Thomas ERL经典著作。
第一本全面将设计与构建RESTful服务作为面向服务的解决方案和面向服务架构(SOA)的书籍。
通过REST构建以Web为中心的SOA的权威指南。

名人推荐
“这是一本鼓舞人心的书,它为下一代基于REST的面向服务的系统的设计与开发带来了深刻见解。本书务实地阐述了SOA与REST的融合,解决了工作中常见的实际问题。对于软件设计师、架构师和顾问来说,是必要的‘现代服务实现的工具’和‘强大的知识体系’。
——PethuruRaj博士,Wipro顾问服务公司企业架构师顾问
“REST和SOA是过去十年间在软件工业中被误解最多的两个术语。然而REST架构风格加上现代RESTful框架实现,提供了可伸缩和可靠的SOA方式。本书涵盖了关于如何将REST原则应用到小型和大型SOA开发中的全面阐述。如果你已经熟悉REST并在考虑SOA,那么你需要本书。如果你还没有在你的SOA工作中考虑REST,那么本书同样适合你。它囊括了REST和SOA的概念,还包含了设计模式与使用的时机,本书是架构师和工程师的精彩指南和优秀工具。”
——MarkLittle博士,红帽公司JBoss首席技术官
“SOA和REST是分布式计算中两种非常重要的架构风格。SOA成功地在大多数企业中得到采用,而研究者和工业用户越来越多地关注REST风格。《SOA与REST》—书介绍了一种新的架构风格,巧妙地结合了SOA和REST风格,清晰地揭示了两者的协同工作,通过REST来产生成功的企业SOA策略,以及对架构设计决策提出指导。本书是使用REST来设计和实现SOA架构的最佳实践的圣经。这是一本IT实践者和研究人员的必读书籍。”
——LongjiTang,联邦快递IT高级技术顾问

媒体推荐
“本书通过具体且实用的方式,阐释了SOA和REST领域之间的联系,简明地将其运用到日常遇到的架构挑战上。太棒了!”
——Ryan Frazier,技术战略师,微软公司

“SOA可以通过许多不同的方法实现,而REST则是潜在的实现框架中最闪亮的新方法。本书向架构师和开发人员介绍了实现RESTful SOA所需的知识,而最重要的是,它告诉人们一种通过REST实现SOA的风格:其核心是设计服务生态系统,在其中向客户提供简单的使用资源的方式,并通过服务将资源连接起来。本书无疑将有助于使SOA从Web架构的主要价值主张(分散、松耦合、连通性、自描述服务、独立于实现的服务接口)中获益。”
——Erik Wilde博士,架构师,EMC公司

“这是一部杰作,它将REST原则优雅地运用到该丛书中的工业标准SOA框架上。书中为实践者提供了有用的指导,并且在形式和精神上都与Roy Fielding论文中定义的REST约束保持一致。有关RESTful契约设计的章节使本书物有所值。本书对于任何开发REST服务的人来说都是必读的。”
——Dave Slotnick,企业架构师,Rackspace Hosting

“面向服务模式的精彩大作,它将有效地解决现实世界里的问题。REST观点和原则将完全地覆盖现代Web 2.0风格的方法。强烈推荐。”
——Sid Sanyal,IT架构师,苏黎世金融服务公司

“REST不仅仅是接口的另一种实现方法。本书为我们展示了服务组合生态系统如何随着服务组合架构设计的新机遇而变化。对于任何正在考虑REST风格服务构建应用程序架构的认真的IT架构师来说,这都是一本全面指南和必读之作。”
——Roger Stoffers,解决方案架构师,惠普公司

“面向服务和REST这两种架构风格都是现代应用程序和云计算的基石。它们都致力于交付可伸缩的、可互操作的解决方案,但是它们的不同根基使得它们并不能天然地互相配合。本书阐述了如何在企业环境中使二者协调工作。书中讨论了一组设计流程,它们使服务集合在满足SOA目标的同时又符合现有的REST约束。此外,为使REST风格满足企业级需求,它还务实地在必要之处放松了约束。”
——Christoph Schittko,云战略总监,微软公司

“这是一本鼓舞人心的书,它为下一代基于REST的面向服务的系统的设计与开发带来了深刻见解。本书务实地阐述了SOA与REST的融合,解决了工作中常见的实际问题。对于软件设计师、架构师和顾问来说,是必要的‘现代服务实现的工具’和‘强大的知识体系’。”
——Pethuru Raj博士,企业架构师顾问,Wipro顾问服务公司

“Thomas Erl的服务技术丛书一贯地使用简单的例子说明复杂的概念。在该丛书中的最新著作《SOA与REST》中,作者通过常见的SOA语言来讨论REST。《SOA与REST》对企业架构师和开发人员来说都是极好的资源!”
——Kevin P. Davis,博士,软件架构师

“不同于其他相似内容的书籍,《SOA与REST》一书中的叙述做到了完善、易读,包含了现实世界的案例研究,可同时满足开发人员和分析师的需要。对于SOA实践者及任何计划启动SOA项目的执行者来说,这都是不可或缺的资料。”
——Theodore T. Morrison,认证的SOA分析师,CSM,Geocent,LLC

“任何将REST应用程序构建为面向服务架构的IT架构师或软件工程师,要想深入理解其中原则、模式和实现概念的话,就都需要读一读这本书。它不仅包含了基本的话题,还探讨了REST与各种特定的SOA原则及模式之间的关系。”
——Sanjay Singh,认证的SOA分析师,开发经理,NorthgateArinso

“一本面向企业架构师、分析师、开发人员的权威的上乘参考书。本书不仅展示了REST的优雅、简单性和通用性,还使我们清楚地理解了REST是如何增强SOA和面向服务的,REST如何能够影响SOA设计目标,我们如何来设计和开发REST服务,我们如何解决REST集成到面向服务时所面临的独特挑战。任何以REST来构建面向服务架构的人,想要掌握这门技术,都有必要阅读本书。”
——Philip Wik,MSS Technology

“这是一本理解如何在面向服务架构中采用REST的基础而全面的书。对于任何对面向服务感兴趣的实践者来说,书中提供的许多示例和模式将是非常宝贵的资源。”
——Gustavo Alonso,计算机科学系,苏黎世联邦理工学院

“SOA和REST是分布式计算中两种非常重要的架构风格。SOA成功地在大多数企业中得到采用,而研究者和工业用户越来越多地关注REST风格。《SOA与REST》一书介绍了一种新的架构风格,巧妙地结合了SOA和REST风格,清晰地揭示了两者的协同工作,通过REST来产生成功的企业SOA策略,以及对架构设计决策提出指导。本书是使用REST来设计和实现SOA架构的最佳实践的圣经。这是一本IT实践者和研究人员的必读书籍。”
——Longji Tang,联邦快递IT高级技术顾问,CSSE博士

“REST和SOA是过去十年间在软件工业中被误解最多的两个术语。然而REST架构风格加上现代RESTful框架实现,提供了可伸缩和可靠的SOA方式。本书涵盖了关于如何将REST原则应用到小型和大型SOA开发中的全面阐述。如果你已经熟悉REST并在考虑SOA,那么你需要本书。如果你还没有在你的SOA工作中考虑REST,那么本书同样适合你。它囊括了REST和SOA的概念,还包含了设计模式与使用的时机,本书是架构师和工程师的精彩指南和优秀工具。”
——Mark Little博士,JBoss首席技术官JBoss,红帽公司

“本书精彩地介绍了如何将SOA方法论与RESTful架构风格的服务结合起来。对于SOA架构师如何更好地理解将REST集成到面向服务架构流程的含义和要求,Thomas Erl及其合著者们提供了很大的帮助。”
——Gerald Beuchelt,MITRE

作者简介
作者简介
Thomas Erl 国际IT畅销书作家,世界上最畅销的SOA书籍的作者,Arcitura教育集团的创始人。其著作在全球的印刷量超过16万册,涉及的主题从云计算、语义网技术到SOA。他曾出访过20多个国家,担任各种活动的演讲者和导师,定期参加SOA、Cloud + Service技术研讨会和Gartner会议。Thomas的100多篇文章和采访发表在大量出版物上,其中包括《华尔街日报》和《CIO杂志》。

Benjamin Carlyle Invensys Rail公司SystematICS服务框架创始开发者,做软件开发员、软件架构师及系统工程师多年。从2004年起开始专注于REST和服务技术的整合。他出席过国际SOA研讨会,并为关于REST风格设计的国际研讨会担任技术委员。他的成就在于帮助启发了Java的RESTlet框架,并创造了描述REST统一契约结构的“REST三角”(REST Triangle)一词。他对REST及相关风格的理论和实际应用以及更加广泛的软件及系统架构都有非常深入的见解。

Cesare Pautasso 瑞士卢加诺大学大学信息学院的助理教授。此前,曾任IBM苏黎世研究实验室研究员和苏黎世联邦理工大学资深研究员。他的研究组着重于建立实验系统,探索REST架构风格和模型驱动的软件组合技术的交集、业务流程管理及动态自组织的面向服务架构。他是IEEE和ACM的活跃成员,还在WWW会议上启动了一系列关于REST风格设计(WS-REST)的国际研讨会,并担任第九届IEEE的Web Service欧洲会议(ECOWS2011)的大会主席。

Raj Balasubramanian IBM软件部业务流程优化(BPO)团队的资深技术人员,专注于跨行业交付SOA/BPM/Cloud解决方案。他在IBM DeveloperWorks上发表了大量的文章,并在各种主题的行业会议上发表演讲。他的兴趣在分布式系统、将Web结构应用于方案设计,及使用正式的模型和分析来推论大型系统。

译者简介
马国耀 IT行业从业十余年,做过开发工程师、项目经理、架构师、售前、咨询等;从2007年开始,一直从事SOA相关的设计与咨询工作,擅长SOA理论,ESB、BPM、CEP相关产品与技术,是IBM认证的SOA解决方案架构师。热爱翻译与分享,自2009年开始担任InfoQ中文站的社区编辑,现任云计算与SOA社区主编,译著有《云计算与SOA》。在2002年和2007年分别获得吉林大学(少年班)工学学士学位、北京大学理学硕士学位。

申健 2005年毕业于南京大学,之后一直在跨国企业从事研发和管理工作,涉及电信、银行、互联网等领域,擅长用不同技术实现面向服务的分布式架构设计和整体解决方案,熟悉J2EE、Python、嵌入式C、Node.js等平台。曾在诺基亚西门子担任高级工程师和研发经理,在渣打银行担任过资深工程师和敏捷教练等。2007年开始敏捷开发实战,拥有CSP、CSM认证。目前主要从事敏捷教练工作,提供组织转型和技术实践的咨询服务。他还是天津软件沙龙等活动的组织者。

刘蕊 认证的SOA架构师和BPM分析师,对相关领域知识有着浓厚的兴趣,曾任IBM软件部资深工程师。参与过金融、电信、资源等多个行业的SOA项目,有非常丰富的项目实践经验。

目录
第1章介绍
1.1关于本书
1.1.1本书的目标读者
1.1.2本书不会覆盖的内容
1.2推荐阅读
1.3本书的组织方式
1.3.1第一部分:基础知识
1.3.2第二部分:REST风格的面向服务
1.3.3第三部分:REST环境下面向服务的分析与设计
1.3.4第四部分:REST服务组合
1.3.5第五部分:补充
1.3.6第六部分:附录
1.4约定
1.4.1灰色的使用
1.4.2设计约束、原则和模式:页码参考
1.4.3设计目标
1.4.4符号图例
1.5附加信息
1.5.1更新、勘误和资源
1.5.2主词汇表
1.5.3面向服务
1.5.4什么是REST
1.5.5引用的规范
1.5.6服务技术杂志
1.5.7SOASchool.com
1.5.8CloudSchool.com云认证(CCP)专家
1.5.9通知服务
第2章案例研究背景
2.1如何使用案例研究
2.2案例研究背景之一:中西部大学联盟(MUA)
2.2.1历史
2.2.2IT环境
2.2.3业务目标和障碍
2.3案例研究背景之二:KioskEtc有限公司
2.3.1历史
2.3.2IT环境
2.3.3业务目标和障碍
第一部分基础知识
第3章服务简介
3.1服务术语
3.1.1服务
3.1.2服务契约
3.1.3服务能力
3.1.4服务消费者
3.1.5服务代理
3.1.6服务组装
3.2服务术语上下文
3.2.1服务和REST
3.2.2服务和SOA
3.2.3REST服务和SOA
第4章SOA术语和概念
4.1基本术语和概念
4.1.1面向服务的计算
4.1.2面向服务
4.1.3面向服务架构(SOA)
4.1.4SOA宣言
4.1.5服务
4.1.6云计算
4.1.7IT资源
4.1.8服务模型
4.1.9服务目录
4.1.10服务集
4.1.11候选服务
4.1.12服务契约
4.1.13与服务相关的粒度
4.1.14服务概要
4.1.15SOA设计模式
4.2扩展阅读
第5章REST约束和目标
5.1REST约束
5.1.1客户机—服务器
5.1.2无状态
5.1.3缓存
5.1.4接口/统一契约
5.1.5分层系统
5.1.6随需应变代码
5.2REST架构风格的目标
5.2.1性能
5.2.2可伸缩性
5.2.3简单性
5.2.4可修改性
5.2.5可视性
5.2.6可移植性
5.2.7可靠性
第二部分REST风格的面向服务
第6章REST服务契约
6.1统一契约元素
6.1.1资源标识符语法
6.1.2方法
6.1.3媒体类型
6.2REST服务能力和REST服务契约
6.3REST服务契约与非REST服务契约
6.3.1带有定制服务契约的非REST服务
6.3.2REST服务与统一契约
6.3.3HTTP消息传输与SOAP消息传输之比较
6.3.4REST服务契约与WSDL的结合?
6.4超媒体角色
6.5REST服务契约和后期绑定
第7章用REST实现面向服务
7.1“SOA或REST”还是“SOA与REST”?
7.2设计目标
7.2.1提升内在互操作性
7.2.2增强联邦
7.2.3提升厂商选择多样性
7.2.4提升业务与技术对齐
7.2.5提升投资回报率
7.2.6提升组织敏捷性
7.2.7降低IT负担
7.2.8通用目标
7.3设计原则与约束
7.3.1标准化服务契约
7.3.2服务松耦合
7.3.3服务抽象
7.3.4服务可重用性
7.3.5服务自治
7.3.6服务无状态
7.3.7服务可发现性
7.3.8服务可组合性
7.3.9常见冲突
第三部分REST环境下面向服务的分析与设计
第8章主流SOA方法论和REST
8.1服务目录分析
8.2面向服务的分析(服务建模)
8.3面向服务的设计(服务契约)
8.4服务逻辑设计
8.5服务发现
8.6服务版本控制和退役
第9章REST服务分析与服务建模
9.1统一契约建模和REST服务目录建模
9.1.1REST约束和统一契约建模
9.1.2REST服务集中化和规范化
9.2REST服务建模
9.2.1REST服务能力粒度
9.2.2资源与实体
9.2.3REST服务建模流程
9.2.4第1步:分解业务流程(分解为细粒度活动)
9.2.5第2步:过滤掉不适合的活动
9.2.6第3步:识别无关性候选服务
9.2.7第4步:识别特定于流程的逻辑
9.2.8第5步:识别资源
9.2.9第6步:将服务能力与方法和资源相关联
9.2.10第7步:应用面向服务
9.2.11第8步:识别候选服务组合
9.2.12第9步:分析流程处理需求
9.2.13第10步:定义候选公用服务
9.2.14第11步:将以公用功能为中心的服务能力与方法和资源相关联
9.2.15第12步:应用面向服务
9.2.16第13步:修改候选服务组合
9.2.17第14步:修改资源定义
9.2.18第15步:修改候选能力分组
9.2.19其他考虑因素
第10章面向服务的设计和REST
10.1统一契约设计考虑
10.1.1设计并标准化方法
10.1.2设计HTTP头并进行标准化
10.1.3设计HTTP响应代码并进行标准化
10.1.4设计媒体类型
10.1.5设计媒体类型模式
10.2REST服务契约设计
10.2.1基于服务模型设计服务
10.2.2设计资源标识符并进行标准化
10.2.3在REST约束下设计及REST约束的标准化
10.3复杂方法的设计
10.3.1无状态的复杂方法
10.3.2有状态的复杂方法
第四部分REST服务组合
第11章REST基础服务组合
11.1服务组合术语
11.1.1组合和组合实例
11.1.2组合成员和控制器
11.1.3服务活动
11.1.4组合启动者
11.1.5点对点数据交换和组合
11.2服务组合的设计影响
11.2.1面向服务原则和组合设计
11.2.2REST约束和组合设计
11.3组合层次结构和分层
11.3.1实体服务组成任务服务
11.3.2实体服务组成实体服务
11.4REST服务组合设计的若干考虑
11.4.1同步和异步服务组合
11.4.2幂等的服务活动
11.4.3组合的逗留状态
11.4.4组合参与者之间的绑定
11.5按步骤分解的服务活动
11.5.1请求购买机票
11.5.2验证所请求的航班详情
11.5.3确认航班座位
11.5.4生成单据
11.5.5创建机票
11.5.6总结
第12章REST高级服务组合
12.1服务组合与无状态
12.1.1采用服务无状态的组合设计
12.1.2采用无状态的组合设计
12.2跨服务的REST事务
12.2.1REST友好的原子服务事务
12.2.2REST友好的补偿服务事务
12.2.3非REST友好的原子服务事务
12.3事件驱动的REST交互
12.3.1事件驱动的消息机制
12.3.2消息轮询
12.4带有动态绑定和逻辑延迟的服务组合
12.4.1跨规范化服务的非规范化能力
12.4.2深化组合
12.4.3动态地绑定公共属性
12.4.4运行时逻辑延迟
12.5跨服务目录的服务组合
12.5.1REST的目录端点
12.5.2基线标准化的服务目录之间的动态绑定
第13章REST服务组合之案例研究
13.1重温授予学生奖项流程
13.2提交申请和任务服务调用
13.3授予学生奖项服务组合实例(评审前的服务活动视图)
13.3.1步骤1:从组合启动者到授予学生奖项任务服务(A)
13.3.2步骤2:从授予学生奖项任务服务到事迹实体服务(B)
13.3.3步骤3:从事迹实体服务到授予学生奖项任务服务(B)
13.3.4步骤4:从授予学生奖项任务服务到奖项实体服务(E)
13.3.5步骤5:从奖项实体服务到授予学生奖项任务服务(E)
13.3.6步骤6:从授予学生奖项任务服务到奖项实体服务(E)
13.3.7步骤7:从奖项实体服务到授予学生奖项任务服务(E)
13.3.8步骤8:从授予学生奖项任务服务到学生实体服务(F)
13.3.9步骤9:从学生实体服务到授予学生奖项任务服务(F)
13.3.10步骤10:从授予学生奖项任务服务到学生成绩单实体服务(F)
13.3.11步骤11:从学生成绩单实体服务到授予学生奖项任务服务(F)
13.3.12步骤12:从授予学生奖项任务服务到组合启动者(A)
13.4评审待定的申请和任务服务调用
13.5授予学生奖项服务组合实例(评审后的服务活动视图)
13.5.1步骤1:从组合启动者到授予学生奖项任务服务(L)
13.5.2步骤2:从授予学生奖项任务服务到通知公用服务(N)
13.5.3步骤3:从通知公用服务到学生实体服务(N)
13.5.4步骤4:从学生实体服务到通知公用服务(N)
13.5.5步骤5:从通知公用服务到授予学生奖项任务服务(N)
13.5.6中间步骤:从授予学生奖项任务服务到事务协调者(P,Q)
13.5.7中间步骤:从事务协调者到授予学生奖项任务服务(P,Q)
13.5.8步骤6:从授予学生奖项任务服务到授予实体服务(P)
13.5.9中间步骤:从授予实体服务到事务协调者(P)
13.5.10中间步骤:从事务协调者到授予实体服务(P)
13.5.11步骤7:从授予实体服务到授予学生奖项任务服务(Q)
13.5.12步骤8:从授予学生奖项任务服务到学生成绩单实体服务(Q)
13.5.13中间步骤:从学生成绩单实体服务到事务协调者(Q)
13.5.14中间步骤:从事务协调者到学生成绩单实体服务(Q)
13.5.15步骤9:从学生成绩单实体服务到授予学生奖项任务服务(Q)
13.5.16中间步骤:从授予学生奖项任务服务到事务协调者(P,Q)
13.5.17中间步骤:从事务协调者到授予学生奖项任务服务(P,Q)
13.5.18步骤10:从授予学生奖项任务服务到组合启动者(L)
第五部分补充
第14章SOA与REST的设计模式
14.1受REST启发的SOA设计模式
14.1.1内容协商
14.1.2端点重定向
14.1.3实体链接
14.1.4幂等能力
14.1.5轻量级端点
14.1.6可重用契约
14.1.7统一契约
14.2其他相关的SOA设计模式
14.2.1契约集中化
14.2.2契约去规范化
14.2.3域目录
14.2.4模式集中化
14.2.5状态消息机制
14.2.6校验抽象
第15章REST服务版本控制
15.1版本控制基础
15.1.1REST服务契约的兼容性
15.1.2统一契约方法的兼容性
15.1.3统一契约媒体类型的兼容性
15.2版本标识符
15.2.1使用版本标识符
15.2.2版本标识符和统一契约
第16章统一契约概要
16.1统一契约概要模板
16.1.1统一契约层结构
16.1.2方法概要结构
16.1.3媒体类型概要结构
16.2REST服务概要考虑
第六部分附录
附录A案例研究结论
附录B支持Web的工业标准
附录CREST约束参考
附录D面向服务原则参考
附录ESOA设计模式参考
附录F状态的概念和类型
附录G带注解的SOA宣言
附录H其他资源
书中提到的模式的作者
关于序的作者
关于作者

文摘
版权页:



插图:



2.3.1历史
KioskEtc由中西部大学联盟主校区的学生会创立于20世纪90年代早期。它最终被一家私企收购,现已扩张到中西部地区的其他校园,目前有超过200家分店,超过60%的收入来自校园内店铺。最初的店铺扩张由原始KioskEtc管理团队开展,他们采取租用廉价的校园建筑的策略,建立了第一批咖啡店。然而在过去的两年里,扩张战略已经转为收购当地咖啡店和使用特许经营模式。
2.3.2IT环境
与中西部大学联盟相比,KioskEtc的IT人员非常少。IT人员仍然集中在距中西部大学联盟主校园几英里之外的总部进行运营。每个商店都有自己的系统来处理交易。这些系统与总部的主系统定期进行同步。所有的通用功能,如业务报表、财务、主机托管、供应链管理和人力资源,都在中央IT部门之外执行。大部分定制化解决方案是使用开源软件构建的,并随着时间推移进行了升级,同时采用了一些特定供应商提供的产品,用于运行关键的后台业务KuiskEtc还构建了商店管理组合(SMP),它由几个系统组成,涵盖了库存管理、订单处理和时间表管理。出于可伸缩性原因,SMPWeb前端最近迁移到了JEE平台,运行在开源Servlet容器中。本地客户端是带有嵌入式系统的Windows桌面应用。SMP的大部分功能使用异步消息机制实现商店和总部之间的通信,只有有限的功能依赖于Web接口实现实时同步通信。

内容简介
  SOA与REST是当前两种流行的技术架构风格。然而,二者却站在不同的层次看架构,SOA的角度偏向于战略;而REST的角度则偏向于战术。SOA给出了一组架构原则实现其战略目标,而REST则通过一系列约束实现其战术目标。
  《SOA与REST:用REST构建企业级SOA解决方案》深入介绍了SOA与REST的原理、术语及特性;深入阐述了二者之间的差异及合作点;重点阐述了如何将REST作为媒介来实现SOA的战略目标,通过对REST服务的建模流程和专为REST服务定制的面向服务的分析和设计流程的详细讲解,逐步向读者展开了一幅REST与SOA在企业级解决方案中完美“联姻”的画卷。此外,《SOA与REST:用REST构建企业级SOA解决方案》还通过完整的案例研究示例展示了REST与SOA在实践中的结合。
  《SOA与REST:用REST构建企业级SOA解决方案》适合于考虑实施面向服务架构的开发人员、架构师或项目经理阅读参考,尤其适合任何SOA实践者或任何计划发起一个SOA项目的专业人员。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多