本书在阐述SOA理念和介绍ESB产品时,循序渐进、由浅入深。在前面的章节中,重点介绍ESB的基本操作,使读者有实际上手的体会。后面的章节探讨与ESB和SOA紧密相关的架构层面问题,包括消息传送模式、安全模式等。此外,在探讨服务版本控制(versioning)的章节中,作者明确提出了SOA服务设计和管控的关键原则,包括基于契约/合同的设计(design by contract)等,作者通过抽丝剥茧的描述方式,采用开发人员容易理解的例子,完整清晰地阐述了面向服务架构下的版本控制策略,同时涉及元数据管理和服务生命周期这些在SOA领域中至关重要的课题。
本书介绍了作为SOA核心和基础架构的ESB(Enterprise Service Bus,企业服务总线)的主要功能,并且重点介绍BEA的企业级ESB产品——AquaLogic Service Bus(简称ALSB)。在本书中,读者将通过很多详细的例子来领略ALSB如何与一些传统的系统相连接,以及Web Service通用的设计模式,丰富在SOA与ESB上开发与构架方面的经验。
本书总共15章,其中大多数章节在内容上相对独立,读者可以单独地阅读每一章。不论是对ESB和SOA概念完全不了解的新手,还是ALSB的专家,本书都具有可读性和指导意义。
第1章 为什么使用服务总线
1.1 我们现在面临的问题
1.1.1 点到点集成
1.1.2 紧耦合
1.1.3 轻配置重编码
1.2 早期的ESB
1.3 现代解决方案
1.3.1 松耦合
1.3.2 位置透明
1.3.3 服务中介
1.3.5 服务聚合
1.3.6 负载均衡
1.3.7 强制安全性
1.3.8 监控
1.3.9 配置与编码
1.4 进入AquaLogic Service Bus
1.4.1 松耦合
1.4.2 位置透明
1.4.3 服务中介
1.4.4 Schema转换
1.4.5 服务聚合
1.4.6 负载均衡
1.4.7 强制安全性
1.4.8 监控
1.4.9 配置与编码
1.5 这会不会把我绑在BEA的技术上?
1.6 为何购买Enterprise Sefrvice Bus?
1.7 总结
第2章 软件安装与配置
2.1 安装软件
2.1.1 配置WebLogic Workshop
2.1.2 Workshop快速导航
2.2 创建ServiceBus域
2.3 在Eclipse中配置Ant
2.4 为AquaLogic Server配置Workshop
2.5 导入示例代码
2.6 总结
第3章 Hello World服务
3.1 创建和部署web Service
3.1.1 @WebService
3.1.2 @SoapBinding
3.1.3 @WLHttpTransport
3.1.4 @WlebMethod
3.2 创建一个POJO测试客户端
3.2.1 在ALSB创建一个HelloWorld项目
3.2.2 创建WSDL
3.3 业务服务和代理服务
3.3.1 创建业务服务
3.3.2 创建代理服务
3.3.3 关于配置变更的快速笔记
3.3.4 测试代理服务
3.4 总结
第4章 消息流基础
4.1 消息流概述
4.1.1 管道对节点
4.1.2 分支节点
4.1.3 路由节点
4.1.4 操作
4.2 GoodbyeWorld!
4.2.1 到底发生了什么事情?
4.2.2 隐藏的设计缺陷
4.3 总结
第5章 WSDL速成
5.1 命名空间(Namespaces)
5.1.1 默认的命名空间
5.1.2 目标命名空问
5.2 types
5.2.1 本地数据类型
5.2.2 自定义数据类型
5.2.3 minOccurs与maxOccurs
5.2.4 导入XML Schemas
5.3 message
5.4 portType
5.5 binding
5.6 service
5.7 port
5.8 WSDL最佳实践
5.8.1 Element与Types
5.8.2 依赖性陷阱
5.8.3 基于文档与RPC对比
5.9 针对WSDL和Schema的故障分析
5.10 根据Schema可视化文档
5.10.1 ElementFormDefault属性
5.10.2 attributeFonnDefault属性
5.11 总结
第6章 消息流
6.1 场景1:用户请求一个产品目录
6.2 场景2:用户订购一个产品
6.3 总结
第7章 高级消息主题
7.1 同步调用
7.2 异步调用
7.2.1 配置WebLogic Server
7.2.2 异步业务服务
7.3 服务类型与传输协议
7.3.1 SCIAP with WSDL
7.3.2 SOAP Without WSDL
7 3 3 XML with WSDL
7.3.4 XML Without WSDL
7.3.5 消息传递类型
7.3.6 传输类型服务:EJB
7.3.7 POJO
7.3.8 带附件的SOAP
7.4 总结
第8章 报告与监控
8.1 监控
8.1.1 多变的服务
8.2 报告
8.2.1 查看报告信息
8.2.2 清除报告信息
8.2.3 报告提供者
8.3 总结
第9章 安全模型与服务总线
9.1 安全范式在SOA下的挑战
9.1.1 传输级安全
9.1.2 消息级安全
9.1.3 动态、定制、基于标记的安全
9.2 ALSB安全模型
9.2.1 ALSB的入站安全性
9.2.2 ALSB中的身份传递
9.2.3 SSL认证
9.2.4 数字签名与加密
9.3 应用ALSB安全
9.4 建议
9.5 总结
第10章 服务前景规划
10.1 SOA坐标系统
10.1.1 软件抽象尺度
10.1.2 服务域尺度
10.1.3 坐标系统
10.2 SOA地图化
10.2.1 白顶向下方式
10.2.2 自底向上方式
10.2.3 SOA映射测试1
10.2.4 SOA映射测试2
10.2.5 服务地图的尺度
10.2.6 服务加工
10.3 架构变换
10.4 通信法则与模式
10.4.1 通信法则Ⅰ
10.4.2 通信法则Ⅱ
10.4.3 通信法则Ⅲ
10.4.4 通信模式Ⅰ:重力流
10.4.5 通信模式Ⅱ:直接使用企业服务
10.4.6 通信模式Ⅲ:间接使用企业服务
10.4.7 通信模式Ⅳ:在一个域内的应用间通信
10.5 追求性能
10.6 总结
第11章 服务版本化
11.1 什么是服务
11.2 面向服务
11.3 什么是版本化
11.4 是版本化服务还是版本化操作?
11.4.1 操作版本化
11.4.2 服务版本化
11.5 现实约束
11.6 如果没有版本问题,会如何?
11.7 IT的未来
11.8 总结
第12章 管理、操作与经营
12.1 团队开发支持
12.1.1 变更中心
12.1.2 冲突管理
12.1.3 撤销和重做
12.1.4 如何解决冲突
12.2 系统管理
12.3 操作设置
12.4 配置访问控制
12.5 部署
12.5.1 自动部署基础
12.5.2 高级自动技术
12.6 ALSB集群
12.6.1 创建集群
12.6.2 节点管理器
12.6.3 控制被管理服务器
12.6.4 部署到集群
12.6.5 位置透明与ALSB
12.7 总结
第13章 自定义传输
13.1 自定义传输概述
13.1.1 为什么要自定义传输?
13.1.2 自定义传输如何适合ALSB
13.1.3 自定义传输中的组件
13.2 Socket传输示例
13.2.1 Socket传输能力
13.2.2 构建与安装传输示例
13.2.3 使用Socket传输例程
13.3 构建自定义传输
13.3.1 Transport SDK接口概述
13.3.2 任务概述
13.3.3 传输提供者的配置XML文件
13.3.4 传输提供者Schema
13.3.5 实现传输提供者的用户接口类
13.3.6 使用自定义传输来部署服务端点
13.3.7 实现传输提供者运行类
13.3.8 注册传输提供者
13.4 总结
第14章 如何……
14.1 安全
14.2 管理
14.3 消息与协议
14.4 XML,XQuery和XSLT
14.5 其他问题
14.6 总结
附录A AquaLogic Service Bus操作