书籍详情
SOA与REST:用REST构建企业级SOA解决方案
作者:(美)Thomas Erl,(美)Benjamin Carlyle,(美)Cesare Pautasso,等著 马国耀,申健,刘蕊 译
出版社:人民邮电出版社
出版时间:2014-01-01
ISBN:9787115331946
定价:¥89.00
购买这本书可以去
内容简介
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项目的专业人员。
作者简介
暂缺《SOA与REST:用REST构建企业级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.7 SOASchool.com SOA认证专家(SOACP)
1.5.8 CloudSchool.com云认证(CCP)专家
1.5.9 通知服务 第2章 案例研究背景
2.1 如何使用案例研究
2.2 案例研究背景之一:中西部大学联盟(MUA)
2.2.1 历史
2.2.2 IT环境
2.2.3 业务目标和障碍
2.3 案例研究背景之二:KioskEtc有限公司
2.3.1 历史
2.3.2 IT环境
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.3 REST服务和SOA 第4章 SOA术语和概念
4.1 基本术语和概念
4.1.1 面向服务的计算
4.1.2 面向服务
4.1.3 面向服务架构(SOA)
4.1.4 SOA宣言
4.1.5 服务
4.1.6 云计算
4.1.7 IT资源
4.1.8 服务模型
4.1.9 服务目录
4.1.10 服务集
4.1.11 候选服务
4.1.12 服务契约
4.1.13 与服务相关的粒度
4.1.14 服务概要
4.1.15 SOA设计模式
4.2 扩展阅读 第5章 REST约束和目标
5.1 REST约束
5.1.1 客户机-服务器
5.1.2 无状态
5.1.3 缓存
5.1.4 接口/统一契约
5.1.5 分层系统
5.1.6 随需应变代码
5.2 REST架构风格的目标
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.2 REST服务能力和REST服务契约
6.3 REST服务契约与非REST服务契约
6.3.1 带有定制服务契约的非REST服务
6.3.2 REST服务与统一契约
6.3.3 HTTP消息传输与SOAP消息传输之比较
6.3.4 REST服务契约与WSDL的结合?
6.4 超媒体角色
6.5 REST服务契约和后期绑定 第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.1 REST约束和统一契约建模
9.1.2 REST服务集中化和规范化
9.2 REST服务建模
9.2.1 REST服务能力粒度
9.2.2 资源与实体
9.2.3 REST服务建模流程
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.2 REST服务契约设计
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.2 REST约束和组合设计
11.3 组合层次结构和分层
11.3.1 实体服务组成任务服务
11.3.2 实体服务组成实体服务
11.4 REST服务组合设计的若干考虑
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.1 REST友好的原子服务事务
12.2.2 REST友好的补偿服务事务
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.1 REST的目录端点
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.1 REST服务契约的兼容性
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.2 REST服务概要考虑 第六部分 附录 附录A 案例研究结论
附录B 支持Web的工业标准
附录C REST约束参考
附录D 面向服务原则参考
附录E SOA设计模式参考
附录F 状态的概念和类型
附录G 带注解的SOA宣言
附录H 其他资源 书中提到的模式的作者
关于序的作者
关于作者
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.7 SOASchool.com SOA认证专家(SOACP)
1.5.8 CloudSchool.com云认证(CCP)专家
1.5.9 通知服务 第2章 案例研究背景
2.1 如何使用案例研究
2.2 案例研究背景之一:中西部大学联盟(MUA)
2.2.1 历史
2.2.2 IT环境
2.2.3 业务目标和障碍
2.3 案例研究背景之二:KioskEtc有限公司
2.3.1 历史
2.3.2 IT环境
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.3 REST服务和SOA 第4章 SOA术语和概念
4.1 基本术语和概念
4.1.1 面向服务的计算
4.1.2 面向服务
4.1.3 面向服务架构(SOA)
4.1.4 SOA宣言
4.1.5 服务
4.1.6 云计算
4.1.7 IT资源
4.1.8 服务模型
4.1.9 服务目录
4.1.10 服务集
4.1.11 候选服务
4.1.12 服务契约
4.1.13 与服务相关的粒度
4.1.14 服务概要
4.1.15 SOA设计模式
4.2 扩展阅读 第5章 REST约束和目标
5.1 REST约束
5.1.1 客户机-服务器
5.1.2 无状态
5.1.3 缓存
5.1.4 接口/统一契约
5.1.5 分层系统
5.1.6 随需应变代码
5.2 REST架构风格的目标
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.2 REST服务能力和REST服务契约
6.3 REST服务契约与非REST服务契约
6.3.1 带有定制服务契约的非REST服务
6.3.2 REST服务与统一契约
6.3.3 HTTP消息传输与SOAP消息传输之比较
6.3.4 REST服务契约与WSDL的结合?
6.4 超媒体角色
6.5 REST服务契约和后期绑定 第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.1 REST约束和统一契约建模
9.1.2 REST服务集中化和规范化
9.2 REST服务建模
9.2.1 REST服务能力粒度
9.2.2 资源与实体
9.2.3 REST服务建模流程
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.2 REST服务契约设计
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.2 REST约束和组合设计
11.3 组合层次结构和分层
11.3.1 实体服务组成任务服务
11.3.2 实体服务组成实体服务
11.4 REST服务组合设计的若干考虑
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.1 REST友好的原子服务事务
12.2.2 REST友好的补偿服务事务
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.1 REST的目录端点
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.1 REST服务契约的兼容性
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.2 REST服务概要考虑 第六部分 附录 附录A 案例研究结论
附录B 支持Web的工业标准
附录C REST约束参考
附录D 面向服务原则参考
附录E SOA设计模式参考
附录F 状态的概念和类型
附录G 带注解的SOA宣言
附录H 其他资源 书中提到的模式的作者
关于序的作者
关于作者
猜您喜欢