![]() 作者:Jeff Davis 出版社: 电子工业出版社 原作名: Open Source SOA 译者:高宇翔 出版年: 2010-12 页数: 400 定价: 69.00元 装帧: 平装 ISBN: 9787121123276 内容简介 · · · · · ·本书介绍了面向服务的架构(SOA)的基本概念和蓝图,对构成SOA的方方面面,包括服务编写和组装、业务流程建模、事件处理和报告、企业集成总线、决策服务等进行了全方位的介绍,并以“开放SOA平台”为目标,与读者一道搜罗了大量可选方案进行对比,最终选择了一系列开源产品组成完整的SOA解决方案。作者拥有多年企业软件开发经验,在本书中,他以真实世界的案例向我们展示了开源SOA的价值和实现方法。不论你是业务用户、架构师还是一线开发人员,都能从本书得到大量的启发和实战参考。 目录 · · · · · ·前言 I致谢 III 关于本书 V 第一部分 历史和原理 1 第1章 SOA本质 3 1.1 分布式计算简史 4 · · · · · ·() 前言 I 致谢 III 关于本书 V 第一部分 历史和原理 1 第1章 SOA本质 3 1.1 分布式计算简史 4 1.1.1 基于RPC的方案存在的问题 5 1.1.2 理解SOAP的不同消息风格 6 1.1.3 SOA降临 6 1.2 Web服务为实现SOA所做的承诺 8 1.3 理解SOA的核心特征 9 1.3.1 服务接口/契约 10 1.3.2 服务透明性 10 1.3.3 服务的松耦合与无状态性 12 1.3.4 服务组合 13 1.3.5 服务注册和发布 14 1.4 SOA平台所用到的技术 14 1.4.1 业务流程管理 15 1.4.2 企业决策管理 16 1.4.3 企业服务总线 17 1.4.4 事件流处理器 19 1.4.5 Java消息服务 20 1.4.6 注册表 21 1.4.7 服务组件和组合服务 22 1.4.8 Web服务中介 23 1.5 引入SOA成熟度模型 24 1.6 小结 25 第2章 定义开放SOA平台 27 2.1 评估开源产品 28 2.2 选定BPM解决方案 29 2.2.1 BPM产品评估标准 30 2.2.2 开源BPM产品 31 2.2.3 选定BPM解决方案 32 2.2.4 介绍JBoss jBPM 33 2.3 选定企业决策管理解决方案 33 2.3.1 EDM产品评估标准 35 2.3.2 开源EDM产品 35 2.3.3 选定EDM 36 2.3.4 介绍JBoss Rules(Drools) 37 2.4 选定ESB 37 2.4.1 ESB产品评估标准 38 2.4.2 开源ESB产品 39 2.4.3 选定ESB 40 2.4.4 介绍作为轻量ESB的Synapse 41 2.5 选定ESP解决方案 42 2.5.1 什么是事件流处理? 43 2.5.2 介绍Esper 44 2.6 选定注册表 44 2.6.1 注册表评估标准 45 2.6.2 开源注册表产品 46 2.6.3 选定注册表 47 2.6.4 介绍WSO2 Registry 48 2.7 选定服务组件和组合框架 49 2.7.1 详细介绍服务组件架构 49 2.7.2 介绍Apache Tuscany 51 2.8 选定Web服务中介解决方案 51 2.9 小结 53 第二部分 装配组件和服务 55 第3章 使用Apache Tuscany创建服务 57 3.1 服务组件和组合是什么? 58 3.2 SCA装配模型 59 3.2.1 介绍组合定义文件 61 3.2.2 配置组件 65 3.2.3 定义服务 68 3.2.4 使用属性 70 3.2.5 实现选项 74 3.2.6 使用引用进行依赖注入 79 3.2.7 定义可用的绑定 81 3.3 小结 87 第4章 高级SCA 89 4.1 使用组件类型进行配置 89 4.2 SCA交互模型 91 4.2.1 使用对话 91 4.2.2 理解回调 93 4.3 脚本语言支持 98 4.3.1 创建Ruby组件 99 4.3.2 用Ruby方法签名创建Java接口 100 4.3.3 修改服务实现类 100 4.3.4 修改组合装配集 101 4.4 高级Tuscany/SCA 102 4.4.1 产品部署 102 4.4.2 介绍服务数据对象(SDO) 107 4.4.3 高级SDO特性 112 4.5 小结 114 第三部分 业务流程管理 115 第5章 jBPM入门 117 5.1 BPM:SOA的“秘制酱料” 119 5.2 JBoss jBPM的历史和概览 121 5.2.1 jBPM流程的开发生命周期 121 5.2.2 面向图谱的编程和jBPM 127 5.3 理解节点 127 5.3.1 Node节点类型 128 5.3.2 Task-node节点类型 129 5.3.3 State节点类型 129 5.3.4 Mail-node节点类型 130 5.3.5 Decision节点类型 132 5.3.6 Fork和join节点类型 132 5.4 使用转换 133 5.5 通过动作进行扩展 134 5.5.1 实例化动作类的属性 137 5.5.2 使用动作表达式 138 5.6 用事件捕获流程中的生命周期变更 140 5.7 使用变量管理上下文 142 5.8 小结 144 第6章 jBPM任务 145 6.1 什么是任务? 146 6.1.1 使用jBPM Console管理任务 146 6.1.2 task元素配置 148 6.2 任务用户管理 149 6.2.1 Actor和指派 149 6.2.2 理解泳道 151 6.3 使用定时器 152 6.4 任务控制器 155 6.5 使用任务API进行开发 156 6.5.1 找出jBPM实例中的流程 156 6.5.2 找出给定流程正在运行中的流程实例 158 6.5.3 找出流程实例中的开放任务 160 6.5.4 找出指派给某个用户的所有任务 162 6.5.5 找出某actor的所有可选任务 162 6.5.6 完成任务 163 6.6 小结 165 第7章 高级jBPM功能 167 7.1 jBPM重要的企业级特性 168 7.1.1 用于分组的超态 168 7.1.2 使用子流程管理复杂度 169 7.1.3 管理异常 171 7.1.4 用BeanShell编写脚本 173 7.1.5 审计日志 175 7.1.6 理解异步延续 178 7.2 与SCA/SDO集成 180 7.2.1 使用SCA客户端组件实现装配集成 181 7.2.2 服务化jBPM 187 7.2.3 开发ListProcesses服务操作 188 7.2.4 开发CreateProcessInstance服务操作 194 7.3 小结 197 第四部分 事件流处理、集成和中介 199 第8章 用Esper处理复杂事件 201 8.1 企业中的业务事件 202 8.2 理解事件 203 8.2.1 BAM和ESP——区别在哪里? 204 8.2.2 事件驱动架构和SOA 204 8.3 Esper是什么? 205 8.4 Esper起步 207 8.4.1 什么是事件对象? 208 8.4.2 定义并注册查询语句 208 8.4.3 指定监听器或订阅者 209 8.4.4 配置选项 209 8.5 EPL基础 210 8.5.1 查询事件 210 8.5.2 使用变量 214 8.5.3 理解视图 216 8.5.4 用命名窗口创建新的事件流 217 8.6 高级Esper 219 8.6.1 用函数进行扩展 219 8.6.2 应用事件模式 223 8.6.3 使用JDBC进行远程连接 225 8.7 服务化Esper 227 8.7.1 创建框架和组件 228 8.7.2 Esper服务和会话管理器 229 8.7.3 SCA composite文件 230 8.7.4 用soapUI进行测试 231 8.8 小结 232 第9章 企业级集成和ESB 233 9.1 ESB和SOA之间的关系 234 9.2 ESB的历史积淀 234 9.2.1 ESB核心功能 237 9.2.2 ESB适用的场合 243 9.2.3 不适用ESB的场合 245 9.3 Apache Synapse入门 248 9.3.1 协议适配器 249 9.3.2 面向消息的中间件 251 9.3.3 基于XML的消息传递 251 9.3.4 智能路由和分发 251 9.3.5 消息转换 251 9.3.6 任务/定时器 252 9.3.7 服务质量/Web中介 252 9.3.8 监控和管理 252 9.3.9 可扩展的API 252 9.4 基本的Apache Synapse消息和服务中介 253 9.4.1 简单的消息中介示例 253 9.4.2 简单的服务中介示例 258 9.5 小结 260 第10章 用Apache Synapse实现ESB 261 10.1 通过案例研究学习Synapse 262 10.1.1 第一阶段:使用错误处理、路由和传输切换的典型Web服务中介 262 10.1.2 第二阶段:协议/传输桥接和事件通知 262 10.1.3 第三阶段:使用任务、脚本和数据库集成 263 10.1.4 第四阶段:服务质量中介 263 10.2 第一阶段:简单的Web服务中介 264 10.2.1 销售订单发起 265 10.2.2 配置服务中介代理并进行验证 266 10.2.3 配置XSLT中介 268 10.2.4 从HTTP到JMS的传输切换 269 10.2.5 从JMS到HTTP的传输切换 272 10.3 第二阶段:VFS、CSV、电子邮件和消息监听 275 10.3.1 使用VFS传输 276 10.3.2 处理CSV文件 277 10.3.3 异常处理和SMTP传输 279 10.3.4 使用监听消息模式 280 10.4 第三阶段:任务、DB中介和迭代器 284 10.4.1 配置Synapse任务 285 10.4.2 使用迭代器中介拆分消息 287 10.4.3 使用DB中介 288 10.5 第四阶段:用Synapse做QoS 290 10.5.1 实现WS-Security 291 10.5.2 使用Synapse限流中介 293 10.6 小结 296 第五部分 企业决策管理 297 第11章 用JBoss Drools定义业务规则 299 11.1 理解业务规则 300 11.1.1 业务规则方法的好处和背后的驱动力 302 11.1.2 与SOA的关系 303 11.1.3 规则引擎的特征 303 11.1.4 业务规则管理系统 305 11.2 Drools入门 306 11.2.1 Hello World, Drools! 307 11.2.2 运行Hello World, Drools! 310 11.3 Drools规则语言(DRL)概览 312 11.4 Drools头元素 313 11.4.1 package 313 11.4.2 import 313 11.4.3 expander 313 11.4.4 global 313 11.4.5 function 314 11.5 在Drools中定义规则 314 11.5.1 用属性修改规则行为 315 11.5.2 规则陈述的条件段(when部分) 318 11.5.3 规则陈述的后果段(then部分) 325 11.6 在Drools中查询事实 327 11.7 用于规则协同的Drools RuleFlow 328 11.8 使用Drools规则语言之外的选择 330 11.8.1 使用DSL来满足业务用户编写需要 330 11.8.2 用决策表定义规则 333 11.9 小结 334 第12章 实现Drools 335 12.1 案例总览 336 12.1.1 定义DRL规则 338 12.1.2 以嵌入式引擎的方式运行 342 12.1.3 用DSL制作用户友好的规则 348 12.2 使用Drools Guvnor管理规则 349 12.2.1 Guvnor功能概览 350 12.2.2 用Guvnor编写规则 355 12.3 开发决策服务 359 12.3.1 什么是决策服务? 359 12.3.2 设计决策服务 361 12.3.3 用Tuscany和Drools实现决策服务 365 12.3.4 测试 371 12.4 小结 372 参考资源 373 索引 377 · · · · · · () |
很有趣的笔触
必看书目之一,很多年前就有所耳闻,现在终于入手了
还原度很高
中了毒,根本停不下来