第1章 面向服务的架构概述 1
1.1 什么是服务(Service) 1
1.1.1 服务是可重用的 2
1.1.2 服务都有服务合同 3
1.1.3 服务之间是松耦合的 5
1.1.4 服务隐藏了具体的逻辑 6
1.1.5 服务是可组合的 6
1.1.6 服务是自治的 8
1.1.7 服务是无状态的 9
1.1.8 服务是可被发现的 10
1.1.9 服务是粗粒度的 12
1.2 服务的分类和层次结构 13
1.2.1 服务的类别 13
1.2.2 服务的层次结构 14
1.3 面向服务的架构(SOA) 15
1.3.1 面向服务的架构的定义 16
1.3.2 面向服务的架构的发展过程 17
1.3.3 面向服务的参考架构(Reference Architecture) 22
1.4 Web服务及其规范 26
1.4.1 Web服务相关的标准化组织 27
1.4.2 Web服务及其发展 28
1.4.3 Web服务的体系结构 29
1.4.4 SOAP协议 34
1.4.5 WS-Addressing协议 41
1.4.6 WSDL协议 44
1.4.7 WS-Policy 49
1.4.8 WS-ReliableMessaging协议 52
1.4.9 WS-Coordination,WS-AtomicTransaction和WS-Business Activity协议 58
第2章 SOAgent案例综述 63
2.1 背景介绍 63
2.2 运营及商业模式讨论 65
2.2.1 SOAgent商业模式的讨论 66
2.2.2 亚马逊的运营模式分析 67
2.2.3 eBay的运营模式分析 67
2.3 SOAgent的运营模式和架构规划 68
2.3.1 SOAgent运营模式决策原则 68
2.3.2 SOAgent运营模式及系统架构 69
2.3.3 SOAgent流程描述 71
第3章 面向服务的开发过程 73
3.1 面向服务开发过程简介 73
3.2 面向服务的架构的实施策略 75
3.3 MSOAM方法 76
3.3.1 面向服务的分析 76
3.3.2 面向服务的设计 78
3.4 IBM的SOMA方法 85
第4章 SOAgent的面向服务分析和设计 88
4.1 SOAgent的面向服务分析 88
4.2 SOAgent的面向服务设计 94
第5章 SOA平台及相关技术 100
5.1 JWS简介 100
5.1.1 Web服务基本架构 102
5.1.2 JWS服务提供架构及调用过程 108
5.1.3 JWS服务使用端架构及调用过程 110
5.1.4 JWS环境下开发模式的讨论 113
5.2 JAX-WS 2.0 120
5.2.1 JAX-WS 2.0特性介绍 121
5.2.2 JAX-WS 2.0服务提供端架构 127
5.2.3 以EJB 3.0形式部署Web服务 129
5.2.4 WS-Metadata:配置从Java到WSDL的映射 133
5.2.5 JAX-WS 2.0客户端调用过程 140
5.2.6 JAX-WS 2.0客户端的映射机制 141
5.2.7 JAX-WS 2.0客户端实例 153
5.3 JAXB 2.0 156
5.3.1 Java与XML数据绑定 156
5.3.2 JAXB 2.0的新特性 158
5.3.3 JAXB 2.0的体系架构 159
5.3.4 JAXB 2.0的绑定过程 161
5.3.5 JAXB 2.0应用示例 164
5.3.6 XML验证 182
5.4 REST的应用 188
5.4.1 REST特性介绍 190
5.4.2 REST架构的网络服务 204
5.4.3 HTTP-Get的实现机制 206
5.4.4 HTTP-Post的实现机制 212
5.5 Java应用服务器 216
5.5.1 JBoss应用服务器 218
5.5.2 Glassfish应用服务器 219
第6章 SOAgent基本服务的实现 221
6.1 EBaySearch搜索处理服务实现 222
6.1.1 服务架构及实现过程 222
6.1.2 服务的实现 222
6.1.3 服务的测试与发布 235
6.2 YahooSearch搜索处理服务实现 239
6.2.1 服务架构及实现过程 240
6.2.2 服务的实现 240
6.2.3 服务的测试与发布 252
6.3 SOAgent搜索服务的实现 254
第7章 WSBPEL在SOA中的应用 260
7.1 什么是WSBPEL 260
7.2 WSBPEL的历史 261
7.3 为什么需要WSBPEL 261
7.4 WSBPEL元素的介绍 262
7.4.1 与后台系统的交互 263
7.4.2 服务交互的基本活动 267
7.4.3 事件处理 269
7.4.4 数据处理的活动 272
7.4.5 结构化流程控制的活动 273
7.4.6 异常处理及恢复 278
7.4.7 扩展与其他 280
7.5 基于WSBPEL的开发过程 282
7.6 ActiveBPEL引擎的使用 284
7.7 Hello BPEL实例的实现 287