第一部分 基本原理 1
第1章 Web Serviee基础 1
1.1 引言 1
1.1.1 Web Service是什么 2
1.1.2 Web Service的典型场景 3
1.2 “软件即为服务”的理念 5
1.3 Web Service的完整定义 6
1.4 Web Service的特性 7
1.4.1 Web Service的类型 7
1.4.2 功能属性和非功能属性 9
1.4.3 状态属性 9
1.4.4 松耦合 10
1.4.5 服务粒度 11
1.4.6 同步 11
1.4.7 良定义 11
1.4.8 服务的使用环境 12
1.5 服务接口和实现 12
1.6 面向服务的体系结构 14
1.6.1 SOA中进行交互的角色 14
1.6.2 SOA中的操作 15
1.6.3 SOA:一个涉及综合服务的样例 16
1.6.4 SOA中的层次 17
1.7 Web Service的技术架构 21
1.8 服务质量(QoS) 23
1.9 Web Service的互操作性 25
1.10 Web Service与组件的比较 26
1.11 Web Service的优与劣 28
1.12 小结 30
复习题 30
练习 31
第二部分 核心基础架构 33
第2章 分布式计算的基础架构 33
2.1 分布式计算与互联网协议 33
2.1.1 互联网协议 34
2.1.2 中间件 37
2.2 客户-服务器模型 38
2.3 进程间通信的特性 39
2.3.1 消息发送 39
2.3.2 消息目的地和socket 40
2.3.3 同步方式的消息发送和异步方式的消息发送 40
2.4 中间件的同步方式 41
2.4.1 远程过程调用 41
2.4.2 远程方法调用 43
2.5 中间件的异步方式 43
2.5.1 消息的存储与转发 44
2.5.2 消息的发布与订阅 45
2.5.3 事件驱动的处理机制 46
2.5.4 点到点排队 47
2.6 请求/应答的消息传送方式 48
2.7 面向消息的中间件 49
2.7.1 集成代理 51
2.7.2 Jav8消息服务(JMS) 52
2.8 面向事务的中间件 53
2.9 企业应用程序与电子商务的集成 54
2.10 小结 56
复习题 57
练习 57
第3章 XML概览 59
3.1 XML文档结构 59
3.1.1 XML声明 60
3.1.2 元素 60
3.1.3 属性 61
3.2 URI和XML命名空间 61
3.3 定义XML文档中的结构 63
3.3.1 XML模式定义语言 63
3.3.2 XML模式文档 63
3.3.3 类型定义、元素和属性声明 66
3.3.4 简单类型 67
3.3.5 复合类型 67
3.4 XML模式复用 67
3.4.1 派生的复合类型 67
3.4.2 导入模式与包含模式 69
3.5 文档的导航与转换 74
3.5.1 XML路径语言 74
3.5.2 使用XSLT进行文档转换 75
3.6 小结 76
复习题 77
练习 77
第三部分 核心功能与标准 79
第4章 SOAP:简单对象访问协议 79
4.1 应用程序间的通信与连接协议 79
4.2 SOAP作为消息传送协议 80
4.3 SOAP消息的结构 83
4.3.1 SOAP信封 84
4.3.2 SOAP头部 85
4.3.3 SOAP消息体 88
4.4 SOAP通信模型 89
4.4.1 RPC类型的Web Service 89
4.4.2 文档(消息)类型的Web Service 90
4.4.3 通信方式与消息交换的模式 92
4.5 SOAP中的出错处理 92
4.6 基于HTTP的SOAP 93
4.7 SOAP的优缺点 95
4.8 小结 96
复习题 96
练习 96
第5章 描述Web Service 98
5.1 为何需要服务描述 98
5.2 WSDL:Web Service描述语言 99
5.2.1 WSDL的接口定义 100
5.2.2 WSDL的实现 104
5.2.3 WSDL的消息交换模式 110
5.3 使用WSDL生成客户端stub 112
5.4 WSDL中的非功能性描述 114
5.5 小结 114
复习题 115
练习 115
第6章 Web Service的注册与发现 117
6.1 服务注册 117
6.2 服务发现 118
6.3 UDDI:统一描述、发现和集成 119
6.3.1 UDDI数据结构 120
6.3.2 WSDL到UDDI的映射模型 130
6.3.3 UDDI API 137
6.3.4 UDDI模型的查询 139
6.3.5 UDDI用例模型与部署的多样性 140
6.4 小结 141
复习题 142
练习 142
第四部分 事件通知与面向服务的体系结构第7章 寻址与通知 143
7.1 Web Service与有状态的资源 143
7.2 Web Service资源框架简介 144
7.2.1 Web Service寻址 146
7.2.2 Web Service资源 149
7.2.3 资源属性 151
7.2.4 资源生命周期 154
7.2.5 服务组 155
7.3 Web Service通知 155
7.3.1 P2P通知 156
7.3.2 通知主题 160
7.3.3 代理通知 163
7.4 Web Service事件 165
7.5 小结 166
复习题 166
练习 166
第8章 面向服务的体系结构 169
8.1 软件体系结构是什么 169
8.1.1 系统质量属性 170
8.1.2 体系结构方面的常见议题 171
8.2 SOA回顾 171
8.3 SOA中的服务角色 173
8.4 可靠的消息传送 175
8.4.1 可靠的消息传送的定义和范围 176
8.4.2 WS-ReliableMessaging 176
8.5 企业服务总线 180
8.5.1 SOA的事件驱动特性 182
8.5.2 ESB的关键特征 184
8.5.3 ESB的集成类型 187
8.5.4 ESB解决方案中的各要素 188
8.5.5 连接和转换基础架构 194
8.5.6 遗留资产的使用 195
8.5.7 ESB中的可伸缩性 196
8.5.8 使用ESB的集成模式 198
8.6 扩展的SOA 199
8.7 小结 202
复习题 202
练习 202
第五部分 服务组合与服务事务第9章 流程与工作流 205
9.1 业务流程及其管理 205
9.2 工作流 207
9.3 业务流程的集成与管理 209
9.4 跨企业的业务流程 211
9.5 服务组合元模型 213
9.5.1 流模型的理念 213
9.5.2 Web Service的组合 216
9.6 Web Service的编配与编排 219
9.7 业务流程执行语言(BPEL) 221
9.7.1 BPEL的结构 221
9.7.2 BPEL的简单样例 233
9.8 编排 241
9.8.1 编排描述的使用 241
9.8.2 Web Service编排描述语言 242
9.9 其他的一些提案和语言 244
9.10 小结 244
复习题 245
练习 245
第10章 事务处理 247
10.1 什么是事务 247
10.1.1 事务的属性 248
10.1.2 并发控制机制 249
10.2 分布式事务 250
10.2.1 分布式事务体系结构 250
10.2.2 两阶段提交协议 253
10.3 嵌套事务 255
10.3.1 封闭嵌套事务 256
10.3.2 开放嵌套事务 259
10.4 事务型Web Service 262
10.4.1 Web Service事务的定义和一般特性 263
10.4.2 Web Service事务的操作特性 264
10.4.3 Web Service事务的类型 265
10.4.4 评议小组与介入 267
10.4.5 Web Service事务的状态 269
10.4.6 Web Service事务框架 270
10.5 WS-Coordination和WS-Transaction 271
10.5.1 WS-Coordination 271
10.5.2 WS-Transaction 278
10.6 Web Service组合应用框架 283
10.6.1 Web Service上下文 284
10.6.2 Web Service协调框架 285
10.6.3 Web Service事务管理 286
10.7 小结 287
复习题 288
练习 288
第六部分 服务安全性与策略第11章 安全的Web Service 291
11.1 Web Service安全性 291
11.1.1 Web Service面临的安全性威胁 292
11.1.2 对策 294
11.2 网络层的安全性机制 294
11.2.1 防火墙 294
11.2.2 入侵检测系统和漏洞评估 298
11.2.3 安全的网络通信 298
11.3 应用层的安全性机制 303
11.3.1 认证 303
11.3.2 授权 304
11.3.3 完整性与机密性 305
11.3.4 不可抵赖性 306
11.3.5 审计 306
11.3.6 应用层安全性协议 306
11.3.7 安全性基础架构 308
11.4 安全性布局 310
11.5 XML安全性标准 312
11.5.1 XML Signature 312
11.5.2 XML Encryption 315
11.5.3 XML密钥管理规范(XKMS) 316
11.5.4 安全声明标记语言 318
11.5.5 XML访问控制标记语言 322
11.6 安全的Web Service 326
11.6.1 Web Service应用层面临的挑战 326
11.6.2 Web Service安全性路线图 327
11.6.3 Web Service安全性模型 329
11.6.4 WS-Security 330
11.6.5 安全性策略的管理 339
11.6.6 安全会话的管理 340
11.6.7 信任管理 341
11.6.8 隐私管理 342
11.6.9 联邦身份标识的管理 342
11.6.10 授权管理 343
11.7 小结 344
复习题 344
练习 344
参考文献 346