《SOA与REST 用REST构建企业级SOA解决方案》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)埃尔著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:9787115331946
  • 页数:354 页
图书介绍:本书深入介绍了SOA与REST的原理、术语及特性;深入阐述了二者之间的差异及合作点;重点阐述了如何将REST作为媒介来实现SOA的战略目标,通过对REST服务的建模流程和专为REST服务定制的面向服务的分析和设计流程的详细讲解,逐步向读者展开了一幅REST与SOA在企业级解决方案中完美“联姻”的画卷。此外,本书还通过完整的案例研究示例展示了REST与SOA在实践中的结合。

第1章 介绍 1

1.1关于本书 2

1.1.1本书的目标读者 2

1.1.2本书不会覆盖的内容 2

1.2推荐阅读 3

1.3本书的组织方式 3

1.3.1第一部分:基础知识 4

1.3.2第二部分:REST风格的面向服务 4

1.3.3第三部分:REST环境下面向服务的分析与设计 4

1.3.4第四部分:REST服务组合 5

1.3.5第五部分:补充 5

1.3.6第六部分:附录 6

1.4约定 6

1.4.1灰色的使用 6

1.4.2设计约束、原则和模式:页码参考 7

1.4.3设计目标 7

1.4.4符号图例 8

1.5附加信息 8

1.5.1更新、勘误和资源 8

1.5.2主词汇表 8

1.5.3面向服务 8

1.5.4什么是REST 8

1.5.5引用的规范 8

1.5.6服务技术杂志 9

1.5.7 SOASchool.com ? SOA认证专家(SOACP) 9

1.5.8 CloudSchool.comTM云认证(CCP)专家 9

1.5.9通知服务 9

第2章 案例研究背景 11

2.1如何使用案例研究 12

2.2案例研究背景之一:中西部大学联盟(MUA) 12

2.2.1历史 13

2.2.2 IT环境 13

2.2.3业务目标和障碍 14

2.3案例研究背景之二:KioskEtc有限公司 15

2.3.1历史 15

2.3.2 IT环境 15

2.3.3业务目标和障碍 16

第一部分 基础知识 19

第3章 服务简介 19

3.1服务术语 20

3.1.1服务 20

3.1.2服务契约 20

3.1.3服务能力 21

3.1.4服务消费者 21

3.1.5服务代理 22

3.1.6服务组装 22

3.2服务术语上下文 24

3.2.1服务和REST 24

3.2.2服务和SOA 24

3.2.3 REST服务和SOA 24

第4章 SOA术语和概念 27

4.1基本术语和概念 28

4.1.1面向服务的计算 28

4.1.2面向服务 29

4.1.3面向服务架构(SOA) 32

4.1.4 SOA宣言 33

4.1.5服务 33

4.1.6云计算 34

4.1.7 IT资源 34

4.1.8服务模型 34

4.1.9服务目录 35

4.1.10服务集 36

4.1.11候选服务 36

4.1.12服务契约 36

4.1.13与服务相关的粒度 37

4.1.14服务概要 38

4.1.15 SOA设计模式 39

4.2扩展阅读 40

第5章 REST约束和目标 43

5.1 REST约束 44

5.1.1客户机-服务器 44

5.1.2无状态 45

5.1.3缓存 46

5.1.4接口/统一契约 46

5.1.5分层系统 47

5.1.6随需应变代码 47

5.2 REST架构风格的目标 48

5.2.1性能 48

5.2.2可伸缩性 49

5.2.3简单性 50

5.2.4可修改性 50

5.2.5可视性 50

5.2.6可移植性 51

5.2.7可靠性 51

第二部分 REST风格的面向服务 55

第6章 REST服务契约 55

6.1统一契约元素 56

6.1.1资源标识符语法 56

6.1.2方法 58

6.1.3媒体类型 60

6.2 REST服务能力和REST服务契约 61

6.3 REST服务契约与非REST服务契约 62

6.3.1带有定制服务契约的非REST服务 62

6.3.2 REST服务与统一契约 64

6.3.3 HTTP消息传输与SOAP消息传输之比较 65

6.3.4 REST服务契约与WSDL的结合? 66

6.4超媒体角色 66

6.5 REST服务契约和后期绑定 69

第7章 用REST实现面向服务 73

7.1 “SOA或REST”还是“SOA与REST”? 74

7.2设计目标 76

7.2.1提升内在互操作性 76

7.2.2增强联邦 76

7.2.3提升厂商选择多样性 77

7.2.4提升业务与技术对齐 77

7.2.5提升投资回报率 78

7.2.6提升组织敏捷性 79

7.2.7降低IT负担 79

7.2.8通用目标 80

7.3设计原则与约束 80

7.3.1标准化服务契约 80

7.3.2服务松耦合 81

7.3.3服务抽象 82

7.3.4服务可重用性 83

7.3.5服务自治 84

7.3.6服务无状态 85

7.3.7服务可发现性 85

7.3.8服务可组合性 86

7.3.9常见冲突 86

第三部分 REST环境下面向服务的分析与设计 95

第8章 主流SOA方法论和REST 95

8.1服务目录分析 97

8.2面向服务的分析(服务建模) 98

8.3面向服务的设计(服务契约) 100

8.4服务逻辑设计 101

8.5服务发现 101

8.6服务版本控制和退役 101

第9章 REST服务分析与服务建模 103

9.1统一契约建模和REST服务目录建模 104

9.1.1 REST约束和统一契约建模 106

9.1.2 REST服务集中化和规范化 107

9.2 REST服务建模 108

9.2.1 REST服务能力粒度 109

9.2.2资源与实体 110

9.2.3 REST服务建模流程 110

9.2.4第1步:分解业务流程(分解为细粒度活动) 113

9.2.5第2步:过滤掉不适合的活动 113

9.2.6第3步:识别无关性候选服务 114

9.2.7第4步:识别特定于流程的逻辑 117

9.2.8第5步:识别资源 118

9.2.9第6步:将服务能力与方法和资源相关联 119

9.2.10第7步:应用面向服务 121

9.2.11第8步:识别候选服务组合 122

9.2.12第9步:分析流程处理需求 123

9.2.13第10步:定义候选公用服务 124

9.2.14第11步:将以公用功能为中心的服务能力与方法和资源相关联 124

9.2.15第12步:应用面向服务 124

9.2.16第13步:修改候选服务组合 125

9.2.17第14步:修改资源定义 125

9.2.18第15步:修改候选能力分组 125

9.2.19其他考虑因素 125

第10章 面向服务的设计和REST 127

10.1统一契约设计考虑 128

10.1.1设计并标准化方法 129

10.1.2设计HTTP头并进行标准化 130

10.1.3设计HTTP响应代码并进行标准化 131

10.1.4设计媒体类型 135

10.1.5设计媒体类型模式 136

10.2 REST服务契约设计 138

10.2.1基于服务模型设计服务 138

10.2.2设计资源标识符并进行标准化 141

10.2.3在REST约束下设计及REST约束的标准化 145

10.3复杂方法的设计 152

10.3.1无状态的复杂方法 154

10.3.2有状态的复杂方法 159

第四部分 REST服务组合 167

第11章 REST基础服务组合 167

11.1服务组合术语 168

11.1.1组合和组合实例 168

11.1.2组合成员和控制器 169

11.1.3服务活动 172

11.1.4组合启动者 173

11.1.5点对点数据交换和组合 173

11.2服务组合的设计影响 174

11.2.1面向服务原则和组合设计 174

11.2.2 REST约束和组合设计 177

11.3组合层次结构和分层 178

11.3.1实体服务组成任务服务 179

11.3.2实体服务组成实体服务 180

11.4 REST服务组合设计的若干考虑 181

11.4.1同步和异步服务组合 181

11.4.2幂等的服务活动 182

11.4.3组合的逗留状态 182

11.4.4组合参与者之间的绑定 183

11.5按步骤分解的服务活动 184

11.5.1请求购买机票 184

11.5.2验证所请求的航班详情 185

11.5.3确认航班座位 185

11.5.4生成单据 185

11.5.5创建机票 185

11.5.6总结 186

第12章 REST高级服务组合 187

12.1服务组合与无状态 189

12.1.1采用服务无状态的组合设计 189

12.1.2采用无状态的组合设计 189

12.2跨服务的REST事务 190

12.2.1 REST友好的原子服务事务 190

12.2.2 REST友好的补偿服务事务 194

12.2.3非REST友好的原子服务事务 197

12.3事件驱动的REST交互 200

12.3.1事件驱动的消息机制 200

12.3.2消息轮询 201

12.4带有动态绑定和逻辑延迟的服务组合 204

12.4.1跨规范化服务的非规范化能力 204

12.4.2深化组合 207

12.4.3动态地绑定公共属性 208

12.4.4运行时逻辑延迟 210

12.5跨服务目录的服务组合 211

12.5.1 REST的目录端点 211

12.5.2基线标准化的服务目录之间的动态绑定 213

第13章 REST服务组合之案例研究 215

13.1重温授予学生奖项流程 216

13.2提交申请和任务服务调用 218

13.3授予学生奖项服务组合实例(评审前的服务活动视图) 219

13.3.1步骤1:从组合启动者到授予学生奖项任务服务(A) 220

13.3.2步骤2:从授予学生奖项任务服务到事迹实体服务(B) 220

13.3.3步骤3:从事迹实体服务到授予学生奖项任务服务(B) 220

13.3.4步骤4:从授予学生奖项任务服务到奖项实体服务(E) 221

13.3.5步骤5:从奖项实体服务到授予学生奖项任务服务(E) 221

13.3.6步骤6:从授予学生奖项任务服务到奖项实体服务(E) 221

13.3.7步骤7:从奖项实体服务到授予学生奖项任务服务(E) 221

13.3.8步骤8:从授予学生奖项任务服务到学生实体服务(F) 222

13.3.9步骤9:从学生实体服务到授予学生奖项任务服务(F) 222

13.3.10步骤10:从授予学生奖项任务服务到学生成绩单实体服务(F) 222

13.3.11步骤11:从学生成绩单实体服务到授予学生奖项任务服务(F) 222

13.3.12步骤12:从授予学生奖项任务服务到组合启动者(A) 223

13.4评审待定的申请和任务服务调用 223

13.5授予学生奖项服务组合实例(评审后的服务活动视图) 224

13.5.1步骤1:从组合启动者到授予学生奖项任务服务(L) 225

13.5.2步骤2:从授予学生奖项任务服务到通知公用服务(N) 225

13.5.3步骤3:从通知公用服务到学生实体服务(N) 225

13.5.4步骤4:从学生实体服务到通知公用服务(N) 225

13.5.5步骤5:从通知公用服务到授予学生奖项任务服务(N) 226

13.5.6中间步骤:从授予学生奖项任务服务到事务协调者(P, Q) 226

13.5.7中间步骤:从事务协调者到授予学生奖项任务服务(P, Q) 226

13.5.8步骤6:从授予学生奖项任务服务到授予实体服务(P) 226

13.5.9中间步骤:从授予实体服务到事务协调者(P) 226

13.5.10中间步骤:从事务协调者到授予实体服务(P) 227

13.5.11步骤7:从授予实体服务到授予学生奖项任务服务(Q) 227

13.5.12步骤8:从授予学生奖项任务服务到学生成绩单实体服务(Q) 227

13.5.13中间步骤:从学生成绩单实体服务到事务协调者(Q) 227

13.5.14中间步骤:从事务协调者到学生成绩单实体服务(Q) 227

13.5.15 步骤9:从学生成绩单实体服务到授予学生奖项任务服务(Q) 227

13.5.16中间步骤:从授予学生奖项任务服务到事务协调者(P, Q) 228

13.5.17中间步骤:从事务协调者到授予学生奖项任务服务(P, Q) 228

13.5.18步骤10:从授予学生奖项任务服务到组合启动者(L) 228

第五部分 补充 231

第14章 SOA与REST的设计模式 231

14.1受REST启发的SOA设计模式 233

14.1.1内容协商 233

14.1.2端点重定向 234

14.1.3实体链接 235

14.1.4幂等能力 237

14.1.5轻量级端点 238

14.1.6可重用契约 239

14.1.7统一契约 240

14.2其他相关的SOA设计模式 241

14.2.1契约集中化 241

14.2.2契约去规范化 241

14.2.3域目录 241

14.2.4模式集中化 241

14.2.5状态消息机制 242

14.2.6校验抽象 242

第15章 REST服务版本控制 243

15.1版本控制基础 244

15.1.1 REST服务契约的兼容性 245

15.1.2统一契约方法的兼容性 246

15.1.3统一契约媒体类型的兼容性 247

15.2版本标识符 250

15.2.1使用版本标识符 251

15.2.2版本标识符和统一契约 252

第16章 统一契约概要 255

16.1统一契约概要模板 256

16.1.1统一契约层结构 256

16.1.2方法概要结构 257

16.1.3媒体类型概要结构 258

16.2 REST服务概要考虑 259

第六部分 附录 269

附录A 案例研究结论 269

附录B 支持Web的工业标准 273

附录C REST约束参考 277

附录D 面向服务原则参考 285

附录E SOA设计模式参考 291

附录F 状态的概念和类型 327

附录G 带注解的SOA宣言 337

附录H 其他资源 347

书中提到的模式的作者 352

关于序的作者 352

关于作者 353