第1章 企业IT革新路线图 1
1.1 SOA敏捷性帮助企业摆脱烦恼 1
1.2 企业软件与众不同 3
1.3 企业软件架构的重要性 3
1.4 企业软件架构的要求 4
1.5 “企业架构”和“企业标准”的关系 5
1.6 组织管理 6
1.7 活到老,学到老 7
1.8 企业IT革新路线图 7
第2章 “服务”概念的演变 9
2.1 企业计算的重大事件 9
2.2 编程范例 11
2.3 分布计算 13
2.4 业务计算 16
2.5 本章小结 17
2.6 参考文献 18
2.7 URL 18
第3章 “分布计算”概念一览 19
3.1 通信机制的异质性 19
3.2 通信中间件 21
3.2.1 RPC 21
3.2.2 分布式对象 22
3.2.3 MOM 24
3.2.4 事务监控器 26
3.2.5 应用服务器 26
3.3 同步 27
3.4 接口和载荷语义 30
3.5 紧耦合与松耦合 33
3.6 本章小结 36
3.7 参考文献 36
3.8 URL 37
第4章 面向服务的架构 41
4.1 软件架构的含义 41
第Ⅰ部分 架构路线图 41
4.2 SOA的含义 42
4.3 SOA的元素 43
4.3.1 应用程序前端 43
4.3.2 服务 44
4.3.3 服务库 45
4.3.4 服务总线 47
4.4 本章小结 48
4.5 参考文献 48
4.6 URL 48
5.1 服务类型 49
5.1.1 目标 49
第5章 将“服务”视为“构件” 49
5.1.2 服务类型的划分 50
5.1.3 基本服务 51
5.1.4 中介服务 54
5.1.5 以流程为中心的服务 57
5.1.6 公共企业服务 59
5.2 企业级别的层 60
5.3 本章小结 61
5.4 参考文献 62
第6章 架构路线图 63
6.1 架构路线图 63
6.2 基础SOA 65
6.3 网络SOA 67
6.4 流程化的SOA 70
6.5 本章小结 73
7.1 BPM简介 75
第7章 SOA与BPM 75
7.1.1 BPM与BPMS 76
7.1.2 BPMS的选择时机 77
7.1.3 BPM系统概述 78
7.1.4 愿景及注意事项 80
7.2 BPM和流程化的SOA 82
7.2.1 过去:从数据和功能到对象和服务 82
7.2.2 未来:核心业务逻辑与流程控制的逻辑 82
7.2.3 SOA架构师的注意事项 84
7.3 本章小结 84
7.4 参考文献 84
7.5 URL 85
8.1 数据和流程完整性 87
8.1.1 数据完整性 87
第8章 管理流程的完整性 87
8.1.2 流程完整性 88
8.1.3 技术故障和业务异常 88
8.1.4 流程逻辑的所有者 89
8.2 技术概念和解决方案 90
8.2.1 日志记录和追踪 90
8.2.2 ACID事务 91
8.2.3 事务监控器和分布2PC 92
8.2.4 2PC和紧耦合的ACID事务的问题 93
8.2.5 嵌入事务和多级事务 95
8.2.6 持久队列和事务步骤 95
8.2.7 事务链与补偿 96
8.2.8 SAGA 97
8.2.9 BPM和流程完整性 97
8.2.10 相关的Web服务标准 97
8.3.1 例子:旅游线路管理 98
8.3 对SOA架构师的建议 98
8.3.2 将乐观并发控制作为默认选项 100
8.3.3 更新操作的等幂性 104
8.3.4 避免分布式2PC 106
8.3.5 构建事务步骤 109
8.3.6 使用灵活简单的补偿逻辑 114
8.3.7 组合使用SOA、MOA和BPM以提高灵活性 115
8.4 本章小结 116
8.5 参考文献 117
第9章 服务总线的基础结构 119
9.1 软件总线和服务总线 119
9.1.1 服务总线的基本概念 119
9.1.2 服务占位程序和调度程序 122
9.1.3 执行容器 126
9.2 日志记录和审计 128
9.2.2 分布式日志记录 129
9.2.1 错误报告 129
9.2.3 日志记录和事务边界 131
9.2.4 日志记录框架和配置 132
9.3 可用性和扩展性 133
9.3.1 使用Web服务的扩展性和可用性 135
9.3.2 使用EJB的扩展性和可用性 136
9.3.3 使用CORBA的扩展性和可用性 137
9.3.4 使用CICS的扩展性和可用性 138
9.3.5 打包遗留应用程序的扩展性和可用性 138
9.3.6 异构SOA中的扩展性和可用性 139
9.4 保护SOA的安全 139
9.4.1 身份验证 140
9.4.2 授权 145
9.4.3 加密和传输安全 146
9.4.4 信任域 147
9.4.5 安全性和异质性 148
9.4.6 其他安全主题 150
9.5 本章小结 151
9.6 参考文献 152
9.7 URL 152
第10章 通向SOA 153
10.1 构建Web应用程序 154
10.2 EAI 158
10.2.1 服务化 158
10.2.2 稳定性和升级能力 160
10.3 B2B 162
10.4 胖客户端 165
10.5 小型设备的设计 167
10.6 多渠道应用 170
10.6.1 基础SOA 171
10.6.3 流程化的SOA 172
10.6.2 服务外观 172
10.7 本章小结 174
10.8 参考文献 175
10.9 URL 175
第Ⅱ部分 组织路线图 179
第11章 SOA的目标和优势 179
11.1 企业愿景 179
11.1.1 敏捷性 180
11.1.2 节省成本 181
11.1.3 重用及优势 183
11.1.4 技术中立 183
11.1.5 高效的业务基础结构 184
11.1.6 提高开发效率 184
11.1.7 渐进方法 185
11.1.9 降低风险 186
11.1.8 接收不同级别的信息反馈 186
11.2 个人愿景 187
11.3 本章小结 191
11.4 参考文献 191
11.5 URL 192
第12章 SOA组织路线图 193
12.1 利益相关方和潜在利益冲突 193
12.2 SOA组织路线图 196
12.3 成功的四个要素 197
12.3.1 预算 198
12.3.2 启动项目 198
12.3.3 SOA团队 199
12.3.4 支持者 199
12.4 理想境界 199
12.4.1 组织结构和流程 200
12.4.2 SOA细节 202
12.5 现场环境的组织标准 203
12.5.1 一个失败示例 203
12.5.2 两个成功案例:瑞士信贷银行和丰泰保险公司 204
12.6 为SOA关键角色提建议 205
12.7 本章小结 206
12.8 URL 207
第13章 SOA项目管理 209
13.1 成熟的项目管理方法 209
13.2 SOA推动的项目管理 212
13.2.1 将SOA工件作为项目控制元素 213
13.2.2 在项目定义中加入服务设计 215
13.2.3 利用SOA分解复杂系统 215
13.2.4 利用SOA推动迭代开发 218
13.2.5 用渐进方法确保流程完整性 220
13.3.1 SOA配置管理面临的挑战 223
13.3 配置管理 223
13.3.2 为SOA集成团队提建议 224
13.4 测试 227
13.5 本章小结 231
13.6 参考文献 231
13.7 URL 231
第Ⅲ部分 SOA实例 235
第14章 德国邮政 235
14.1 项目范围 236
14.1.1 业务影响 236
14.1.2 技术影响 238
14.2 实现 238
14.2.1 流程和组织结构 239
14.2.2 服务注册表 240
14.2.3 项目管理 240
14.3.1 架构 241
14.3 技术 241
14.3.2 存储库、服务接口和合约 243
14.3.3 编排、安全和管理 243
14.4 汲取经验、享受优势、开创未来 243
14.5 参考文献 244
14.6 链接 245
第15章 丰泰保险公司 247
15.1 项目范围 248
15.1.1 业务影响 248
15.1.2 技术影响 248
15.2 实现 251
15.2.1 流程和组织结构 251
15.2.2 服务存储库 252
15.2.3 项目管理 253
15.3.1 架构 254
15.3 技术 254
15.3.2 存储库、服务接口和合约 256
15.3.3 编排、安全和管理 257
15.4 汲取经验、享受优势、开创未来 257
第16章 瑞士信贷银行 259
16.1 项目范围 260
16.1.1 业务影响 260
16.1.2 技术影响 261
16.2 实现 263
16.2.1 流程和组织结构 263
16.2.2 服务存储库 264
16.2.3 项目管理 265
16.3 技术 265
16.3.1 架构 266
16.3.3 编排、安全和管理 269
16.3.2 存储库、服务接口和合约 269
16.4 汲取经验、享受优势、开创未来 270
16.5 参考文献 271
第17章 哈利法克斯苏格兰银行 273
17.1 项目范围 274
17.1.1 业务影响 274
17.1.2 技术影响 275
17.2 实现 278
17.2.1 XML服务 278
17.2.2 服务存储库 279
17.2.3 项目管理 280
17.3 技术 281
17.3.1 架构 281
17.3.2 存储库、服务接口和合约 282
17.4 汲取经验、享受优势、开创未来 283
17.5 URL 284