SOA实践指南——分布式系统设计的艺术
分類: 图书,计算机/网络,程序设计,其他,
作者: (美)乔苏蒂斯 著,程桦 译
出 版 社: 电子工业出版社
出版时间: 2008-9-1字数: 400000版次: 1页数: 324印刷时间: 2008/09/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787121070419包装: 平装编辑推荐
多年来,SOA一直只是个美好的愿景。通过描述在实践中实现和运行SOA所碰到的问题,《SOA实践指南》让SOA走入凡尘,真正能被大家所用。通过介绍SOA的方方面面,分析典型的使用模式,并探究松耦合如何帮助构筑更强大的应用,《SOA实践指南》提出了一个框架,帮助你决定何时,以及如何利用SOA获益。在《SOA实践指南》中,你将:
直接聚焦于真实的技术和部署,而不是仅仅关注若干标准
在应用SOA解决方案之前,先检查业务问题,确定哪些业务问题适用SOA方法
找到建立解决方案的清晰路径,而不是陷入不断变化的Web Services细节泥潭之中
分享资深SOA系统架构师的实战经验
“本书描述的原则和经验,在使T-Mobile公司成功建立SOA上扮演了重要角色,公司的
SOA每天要处理超过1000万个服务调用。”
——Steffen Roehn博士,T-Mobile国际公司执行委员会成员(CIO)
“在过分炒作的SOA世界中,Nicolai Josuttis做出了杰出的贡献:一部基于第一手经验、经过认真推敲的、深刻洞察SOA本质的作品。就鼓励SOA实践者采用切实可行的方法而言,本书是一个重要的里程碑。”
——John Schmidt,集成联盟主席
“所有CIO、IT主管和IT计划经理都应该看看这本书。”
——Richard Mark Soley博士,对象管理组织主席和ICEO、SOA联盟执行董事
内容简介
《SOA实践指南》展示了实现面向服务的架构(SOA)切实可行的规律,使得SOA不再只是镜花水月,可望而不可及。《SOA实践指南》基于作者在一家领先行业的公司中全面推广SOA的第一手经验,解释了SOA如何简化大型应用的创建和维护。不管你的项目是包含一套巨大的、基于Web Services的组件集,还是需要将老系统和更现代化的业务流程连接起来,《SOA实践指南》都阐明了SOA如何满足你的需要。
作者简介
Nicolai M.Josuttis.著有《C++标准库》和《C++模板》,两书都由Addison-Wesley出版。他的职务是系统架构师和技术经理。最近两年,他在一家国际电话公司中全面推广SOA。Nicolai在几个会议上办过S0A讲座,多年来他一直在发表关于这个主题的演讲。
目录
前言
第1章:动机
1.1大型分布式系统的特征
1.2魔术总线故事
1.3魔术总线故事给我们的启示
1.4SOA历史
1.5五页幻灯讲完SOA
第2章:SOA
2.1SOA定义
2.2SOA驱动因素
2.3SOA概念
2.4SOA要素
2.5SOA不是银弹
2.6SOA不是特定技术
2.7对比SOA与分布式对象
2.8SOA术语
2.9总结
第3章:服务
3.1服务
3.2接口和契约
3.3额外的服务特性
3.4总结
第4章:松耦合
4.1对容错的需求
4.2松耦合的形式
4.3处理松耦合
4.4总结
第5章:企业服务总线
5.1ESB职责
5.2异质的ESB
5.3ESB的差异
5.4ESB增值服务
5.5总结
第6章:服务分类
6.1基础服务分类
6.2基本服务
6.3组合服务
6.4流程服务
6.5其他服务分类法
6.6技术服务和基础设施服务
6.7服务之外
6.8总结
第7章:业务流程管理
7.1BPM术语
7.2BPM和SOA
7.3用于服务的BPM的例子
7.4业务流程建模
7.5识别服务的其他方法
7.6配制和编排
7.7更多思考
7.8总结
第8章:SOA和组织
8.1角色和组织
8.2出资模型
8.3总结
第9章:上下文环境中的SOA
9.1基于SOA的架构模型
9.2处理前端和后端
9.3总结
第10章:消息交换模式
10.1MEP简介
10.2基本MEP
10.3更复杂的MEP
10.4处理可靠性和错误
10.5处理不同MEP层
10.6事件驱动的架构
10.7总结
第11章:服务生命周期
11.1开发中的服务
11.2生产中的服务
11.3总结
第12章:版本划分
12.1版本划分需求
12.2领域驱动的版本划分
12.3数据类型的版本划分
12.4配置管理驱动的版本划分
12.5实践中的版本划分
12.6总结
第13章:SOA和性能
13.1性能在哪儿重要
13.2从远程存储过程到服务
13.3性能和可重用性
13.4性能和向后兼容性
13.5总结
第14章:SOA和安全
14.1安全需求
14.2处理安全需求
14.3实践中的SOA安全.
14.4XML和Web Services的安全
14.5安全问题何时凸现
14.6总结
第15章:技术细节
15.1服务和状态
15.2幂等性
15.3测试和调试
15.4处理技术性数据(头数据)
15.5数据类型
15.6错误处理
15.7总结
第16章:Web S8rvices
16.1使用Web Services的动机
16.2基础Web Services标准
16.3实践中的Web Services
16.4结束按语
16.5总结
第17章:服务管理
17.1服务中间人的历史
17.2业务库和注册中心
17.3总结
第18章:模型驱动的服务开发
18.1生成的服务代码
18.2建模服务
18.3实践中的元模型
18.4建立MDSD过程
18.5工具
18.6避免瓶颈
18.7总结
第19章:建立SOA和SOA监管
19.1引入SOA
19.2SOA监管
19.3按部就班SOA
19.4其他SOA方法
19.5其他建议
19.6总结
第20章:后记
20.1SOA是新东西吗?
20.2SOA增加了复杂性吗?
20.3SOA关键的成功要素是什么?
20.4SOA在哪些地方不合适?
20.5SOA替代了OOP吗?
参考文献
词汇表
索引
书摘插图
第1章:动机、
1.1 大型分布式系统的特征
SOA是用于大型分布式系统的概念。要理解SOA,你必须了解大型分布式系统的特点。
首先,大型系统必须处理“老系统”。引入SOA时,你不可能从头开始设计一切。你必须处理这样的事实:当前在用的大多数系统会一直用下去。这也意味着建立SOA不是一个设计新系统的项目。SOA涉及改变现有系统的结构,这意味着你必须和老平台及向后兼容问题打交道。实际上,SOA是对大型系统景观开展“维护”工作的方法。
所有大型系统天生就是异质的。这些系统目的有别、实施时间各异、新旧程度差异悬殊。你会发现大型系统呈现出堆积了不同平台、编程语言、编程范式,甚至不同中间件的系统景观。过去,人们多次试图依靠一致化解决可伸缩性问题。是的,一致化确实有帮助。剔除不再可维护的老平台和系统是重大的改善。然而,一般说来,你的系统永远无法彻底一致化。正当你将要剔除最后一个异质体时,一次公司兼并或其他变化将重新打开潘多拉之盒。
异质性的一个原因是,大型系统和它们的数据有非常长的生命周期。在此生命周期中,通过加入新的系统和流程,不断开发出促进业务的新功能。虽然剔除现有系统和数据有可能看起来没有业务价值,然而,这种改造是对系统可维护性的投资。通常说来,这类投资都进行得很晚,以致其代价变得不可思议地高昂,因为系统已经失控,关于系统的所有知识均已失传。
……