本书系统介绍SOA概念、技术与设计。全书共分五部分,分别介绍SOA与Web服务的基本原理,SOA与第二代Web服务规范扩展,SOA与面向服务,构建SOA的计划与分析、技术与设计。本书由浅人深,示例翔实,应用大量模式,真正覆盖SOA实质部分。每章配有要点小结,使渎者能更深入理解该章主题。
本书适合于考虑实施面向服务架构的软件开发者、架构师或项目经理阅读参考。...
学习SOA的权威指南
在世界范围所采用的革命性计算平台中,面向服务架构(SOA)处于核心位置,并赢得了主要软件供应商的普遍支持。本书是第一部端到端的SOA教程,逐步指导读者从零开始学习面向服务的建模与设计方法。本书通过125个案例研究、300多个模式,详细讲解和分析构建SOA平台的最重要方面:目标、障碍、概念、技术、标准、交付策略以及分析与设计过程。本书内容全面、清晰生动,可帮助读者深入理解SOA技术。.
本书主要内容:
●面向服务分析和设计的详细过程和步骤。
●深度探索各种不同的面向服务设计模式,包括与面向对象的对比。
●全面研究有关.NET与J2EE在开发及运行平台方面对SOA的支持。
●一组关键Web服务技术与WS-*规范的描述,包括探索它们在SOA内如何关联和定位。..
●“简言之”部分用通俗语言和实例,把复杂的概念简单化,更便于理解。
●有关面向服务的业务建模以及创建特定服务抽象层的指导方针。
●SOA与过去架构的对比,以及对当前行业的影响。
●项目计划和各种SOA交付策略的比较。
Thomas ERL:是SOA系统公司(SOASystemsInc.)的创始人,(www.soasystems.com),这是一家特别提供SOA咨询及培训服务的企业解决方案提供者。他的前一本书,《Service-Oriented Architecture:A Field Guide to Integrating XML and Web Servcies》,是2004年Web服务及SOA类别的畅销书。.
Thomas是OASIS的投票成员,并积极进行相关研究,如XXML与Web服务集成框架(XWIF)。他是私人和公开会议的演讲者和讲师,且已经发表诸多论文。更多信息请参见www.thomaserl.com/technology/。..
王满红:任普元..
<< 查看详细
作者: Thomas Erl
Thomas ERL:是SOA系统公司(SOASystemsInc.)的创始人,(www.soasystems.com),这是一家特别提供SOA咨询及培训服务的企业解决方案提供者。他的前一本书,《Service-Oriented Architecture:A Field Guide to Integrating XML and Web Servcies》,是2004年Web服务及SOA类别的畅销书。.. <<
查看详细
[同作者作品]
SOA概念、技术与设计
译者序.
前言
第1章引言
1.1本书的重要性
1.1.1虚假的SOA
1.1.2理想的SOA
1.1.3现实的SOA
1.2本书的目标
1.2.1理解SOA、面向服务和Web服务
1.2.2学习如何用Web服务构建SOA
1.3本书为谁而写
1.4本书不涉及的内容
1.5本书的组织结构
1.6附加信息
第2章案例研究
2.1如何使用案例研究
2.1.1样式特征
2.1.2与抽象内容的关系
2.1.3代码示例
2.21号案例背景:瑞克有限公司
.2.2.1历史
2.2.2技术基础架构
2.2.3自动化方案
2.2.4业务目标与障碍
2.32号案例背景:交通岸线系统公司
2.3.1历史
2.3.2技术基础架构
2.3.3自动化方案
2.3.4业务目标与障碍
第一部分SOA与Web服务基础
第3章SOA简介
3.1SOA基础
3.1.1面向服务类比
3.1.2服务如何封装逻辑
3.1.3服务如何关联
3.1.4服务如何通信
3.1.5服务如何设计
3.1.6服务如何构建
3.1.7基本SOA
3.2当代SOA的共同特征
3.2.1当代SOA是面向服务计算平台的核心
3.2.2当代SOA可提升服务质量
3.2.3当代SOA是根本上自治的
3.2.4当代SOA基于开放标准
3.2.5当代SOA支持厂商多样性
3.2.6当代SOA促进发现
3.2.7当代SOA鼓励内在互操作性
3.2.8当代SOA促进联邦
3.2.9当代SOA提升架构组合能力
3.2.10当代SOA鼓励内在复用性
3.2.11当代SOA强调可扩展性
3.2.12当代SOA支持面向服务的业务建模模式
3.2.13当代SOA实现抽象层
3.2.14当代SOA促进整个企业的松散耦合
3.2.15当代SOA促进组织敏捷性
3.2.16当代SOA是一个构件
3.2.17当代SOA是一场变革
3.2.18当代SOA还有待成熟
3.2.19当代SOA是可实现的理想
3.2.20定义SOA
3.2.21可分离的具体特征
3.3常见的SOA误解
3.3.1使用Web服务的应用就是面向服务
3.3.2SOA仅仅是重建Web服务品牌的一个市场术语
3.3.3SOA仅仅是利用Web服务重建分布式计算品牌的一个市场术语
3.3.4SOA简化分布式计算
3.3.5使用了WS扩展的Web服务应用就是面向服务
3.3.6只要你理解Web服务,构建SOA就不成问题
3.3.7一旦你走到SOA,一切都具备了互操作性
3.4SOA常见的切实效益
3.4.1改良的集成(及内在互操作性)
3.4.2内在的复用
3.4.3改进的架构与方案
3.4.4保护遗留资产
3.4.5建立标准的XML数据表示
3.4.6聚焦通信基础设施投资
3.4.7“最优供给”可替代
3.4.8组织敏捷性
3.5采用SOA的常见失误
3.5.1构建类似传统分布式架构的面向服务架构
3.5.2非标准化的SOA
3.5.3没有建立迁移计划
3.5.4没有以XML基础架构开始
3.5.5不理解SOA性能需求
3.5.6不了解Web服务安全性
3.5.7没有保持与产品平台和标准开发的联系
第4章SOA的演变
4.1SOA历史
4.1.1XML简史
4.1.2Web服务简史
4.1.3SOA简史
4.1.4SOA如何改造XML与Web服务
4.2SOA的持续演变
4.2.1比较“标准”、“规范”与“扩展”
4.2.2标准组织对SOA的贡献
4.2.3主流厂商对SOA的贡献
4.3SOA与过去架构的比较
4.3.1什么是架构
4.3.2比较SOA与客户端-服务器架构
4.3.3比较SOA与分布式互联网架构
4.3.4比较SOA与混合Web服务架构
4.3.5面向服务与面向对象(第一部分)
第5章Web服务与基本SOA
5.1Web服务框架
5.2服务(作为Web服务)
5.2.1服务角色
5.2.2服务模型
5.3服务描述(用WSDL语言)
5.3.1服务端点与服务描述
5.3.2抽象描述
5.3.3具体描述
5.3.4元数据与服务契约
5.3.5语义描述
5.3.6服务描述广告与发现
5.4消息(以SOAP规范)
5.4.1消息
5.4.2节点
5.4.3消息路径
第二部分SOA与WS-扩展
第6章Web服务与当代SOA:活动管理与组合
6.1消息交换模式
6.1.1基本MEP
6.1.2MEP与SOAP
6.1.3MEP与WSDL
6.1.4MEP与SOA
6.2服务活动
6.2.1基本与复杂的服务活动
6.2.2服务活动与SOA
6.3协调
6.3.1协调者组合
6.3.2协调类型与协调协议
6.3.3协调语境与协调参与者
6.3.4激活与注册流程
6.3.5完成流程
6.3.6协调与SOA
6.4原子事务
6.4.1ACID事务
6.4.2原子事务协议
6.4.3原子事务协调
6.4.4原子事务处理
6.4.5原子事务与SOA
6.5业务活动
6.5.1业务活动协议
6.5.2业务活动协调者
6.5.3业务活动状态
6.5.4业务活动与原子事务
6.5.5业务活动与SOA
6.6编排
6.6.1业务协议与流程定义
6.6.2流程服务与伙伴服务
6.6.3基本活动与结构化活动
6.6.4序列、流程与链接
6.6.5编排与活动
6.6.6编排与协调
6.6.7编排与SOA
6.7编导
6.7.1协作
6.7.2角色与参与者
6.7.3关系与通道
6.7.4交互与工作单元
6.7.5可复用性、可组合性与成熟度
6.7.6编排与编导
6.7.7编导与SOA
第7章Web服务与当代SOA:高级消息、元数据和安全
7.1寻址
7.1.1端点引用
7.1.2消息信息报头
7.1.3寻址与传输协议独立
7.1.4寻址与SOA
7.2可靠消息传递
7.2.1RM源、RM目的地、应用源与应用目的地
7.2.2序列
7.2.3确认
7.2.4交付保证
7.2.5可靠消息传递与寻址
7.2.6可靠消息传递与SOA
7.3关联
7.3.1抽象关联
7.3.2MEP与活动关联
7.3.3协调关联
7.3.4编排关联
7.3.5寻址关联
7.3.6可靠消息传递关联
7.3.7关联与SOA
7.4策略
7.4.1WS-策略框架
7.4.2策略断言与策略抉择
7.4.3策略断言类型与策略词汇
7.4.4策略主题与策略范围
7.4.5策略表达式与策略附件
7.4.6你必须真正知道什么
7.4.7协作策略
7.4.8编排与编导策略
7.4.9可靠消息传递策略
7.4.10策略与SOA
7.5元数据交换
7.5.1WS-元数据交换规范
7.5.2获取元数据请求与响应消息
7.5.3获取请求与响应消息
7.5.4选择性的元数据恢复
7.5.5元数据交换与服务描述发现
7.5.6元数据交换与版本控制
7.5.7元数据交换与SOA
7.6安全
7.6.1识别、认证与授权
7.6.2单点登录
7.6.3机密性与完整性
7.6.4传输级安全与消息级安全
7.6.5加密与数字签名
7.6.6安全与SOA
7.7通知与事件
7.7.1发布与订阅摘要
7.7.2一个概念、两个规范
7.7.3WS-通知框架
7.7.4WS-事件规范
7.7.5WS-通知与WS-事件
7.7.6通知、事件与SOA
第三部分SOA与面向服务
第8章面向服务的原则
8.1面向服务与企业
8.2面向服务架构剖析
8.2.1Web服务框架的逻辑组件
8.2.2自动化逻辑的逻辑组件
8.2.3SOA组件
8.2.4SOA中组件如何内部关联
8.3面向服务的一般原则
8.3.1服务是可复用的
8.3.2服务共享一个正式契约
8.3.3服务是松散耦合的
8.3.4服务抽象底层逻辑
8.3.5服务是可组合的
8.3.6服务是自治的
8.3.7服务是无状态的
8.3.8服务是可发现的
8.4面向服务原则如何相互关联
8.4.1服务复用性
8.4.2服务契约
8.4.3服务松散耦合
8.4.4服务抽象
8.4.5服务可组合性
8.4.6服务自治
8.4.7服务无状态
8.4.8服务可发现
8.5面向服务与面向对象(第二部分)
8.6原生Web服务对面向服务原则的支持
第9章服务层
9.1面向服务与当代SOA
9.1.1起源映射和具体SOA特征的支持源..
9.1.2不支持的SOA特征
9.2服务层抽象
9.3应用服务层
9.4业务服务层
9.5编排服务层
9.6无关服务
9.7服务层配置场景
9.7.11号场景:仅有混合应用服务
9.7.22号场景:混合与工具应用服务
9.7.33号场景:以任务为核心的业务服务与工具应用服务
9.7.44号场景:以任务为核心的业务服务、以实体为核心的业务服务与工具应用服务
9.7.55号场景:流程服务、混合应用服务与工具应用服务
9.7.66号场景:流程服务、以任务为核心的业务服务与工具应用服务
9.7.77号场景:流程服务、以任务为核心的业务服务、以实体为核心的业务服务与工具应用服务
9.7.88号场景:流程服务、以实体为核心的业务服务与工具应用服务
第四部分构建SOA(计划与分析)
第10章SOA交付策略
10.1SOA交付周期的阶段
10.1.1SOA交付周期的基本阶段
10.1.2面向服务的分析
10.1.3面向服务的设计
10.1.4服务的开发
10.1.5服务的测试
10.1.6服务的部署
10.1.7服务的管理
10.1.8SOA的交付策略
10.2自顶向下策略
10.2.1过程
10.2.2利与弊
10.3自底向上策略
10.3.1过程
10.3.2利与弊
10.4敏捷策略
10.4.1过程
10.4.2利与弊
第11章面向服务分析:介绍
11.1概述
11.1.1面向服务分析的目标
11.1.2面向服务的分析流程
11.2以业务为核心SOA的效益
11.2.1业务服务构建敏捷的业务模型
11.2.2业务服务是为编排所准备的流程
11.2.3业务服务促成复用
11.2.4只有业务服务才能实现面向服务的企业
11.3源于业务的服务
11.3.1哪些业务服务能够作为源泉
11.3.2业务服务的派生类型
11.3.3业务服务与编排
第12章面向服务分析:服务建模
12.1服务建模(循序渐进的过程)
12.1.1服务与服务候选
12.1.2过程描述
12.2服务建模指导
12.2.1考虑所封装逻辑潜在的跨流程复用性(以任务为核心的业务服务候选)
12.2.2考虑被封装逻辑(以任务为核心的业务服务候选)在流程内复用潜能
12.2.3与流程相关的依赖因素(以任务为核心的业务服务候选)
12.2.4跨应用复用的模式(应用服务候选)
12.2.5对未来分解需求的思索
12.2.6以清晰的边界识别工作逻辑单元
12.2.7避免逻辑界线蔓延
12.2.8不使用编排时的模拟流程服务(以任务为核心的业务服务候选)
12.2.9锁定一个平衡的模式
12.2.10分类服务建模逻辑
12.2.11分派适当的建模资源
12.2.12创建和发布业务服务建模标准
12.3服务模型逻辑分类
12.3.1SOE模型
12.3.2企业业务模型
12.3.3构件与服务模型
12.3.4基本建模构件
12.4服务建模方法对比的示例
第五部分构建SOA(技术与设计)
第13章面向服务设计:介绍
13.1概述
13.1.1面向服务的设计目标
13.1.2“设计标准”与“行业标准”的对比
13.1.3面向服务的设计过程
13.1.4先决条件
13.2WSDL相关的XMLSchema语言基础
13.2.1schema元素
13.2.2element元素
13.2.3complexType与simpleType元素
13.2.4import与include元素
13.2.5其他重要元素
13.3WSDL语言基础
13.3.1definitions元素
13.3.2types元素
13.3.3message与part元素
13.3.4portType、tnterface与operation元素
13.3.5input与output元素(与operation—起使用时)
13.3.6binding元素
13.3.7input与output元素(与binding一起使用时)
13.3.8service、port与endpoint元素
13.3.9import元素
13.3.10documentation元素
13.4SOAP语言基础
13.4.1Envelope元素
13.4.2Header元素
13.4.3Body元素
13.4.4Fault元素
13.5服务接口设计工具
13.5.1自动生成
13.5.2设计工具
13.5.3手工编码
第14章面向服务设计:SOA组合指导原则
14.1组合SOA的步骤
14.1.1第一步:选择服务层
14.1.2第二步:定位核心标准
14.1.3第三步:选择SOA扩展
14.2选择服务层的考虑
14.3定位核心SOA标准的考虑
14.3.1行业标准与SOA
14.3.2XML与SOA
14.3.3WS-I基本概要
14.3.4WSDL与SOA
14.3.5XMLSchema与SOA
14.3.6SOAP与SOA
14.3.7命名空间与SOA
14.3.8UDDI与SOA
14.4选择SOA扩展的考虑
14.4.1选择SOA特征
14.4.2选择WS-规范
14.4.3WS-BPEL与SOA
第15章面向服务设计:服务设计
15.1概述
15.1.1设计标准
15.1.2过程描述
15.1.3先决条件
15.2以实体为核心的业务服务设计(循序渐进的过程)
15.3应用服务设计(循序渐进的过程)
15.4以任务为核心的业务服务设计(循序渐进的过程)
15.5服务设计指导
15.5.1使用命名标准
15.5.2应用适当接口粒度级别
15.5.3将服务操作设计为天生可扩展…
15.5.4识别已知的和潜在的服务请求…
15.5.5考虑使用模块化的WSDL文档…
15.5.6谨慎使用命名空间
15.5.7使用SOAP文档和文本属性值…
15.5.8即使不需要遵守WS-I也可以使用WS-I概要
15.5.9有元数据的文档服务
第16章面向服务设计:业务流程设计
16.1WS-BPEL语言基础
16.1.1BPEL4WS与WS-BPEL简史
16.1.2先决条件
16.1.3process元素
16.1.4partnerLinks与partnerLink元素
16.1.5partnerLinkType元素
16.1.6variables元素
16.1.7getVariableProperty与getVariableData函数
16.1.8sequence元素
16.1.9invoke元素
16.1.10receive元素
16.1.11reply元素
16.1.12switch、case与otherwise元素
16.1.13assign、copy、from与to元素
16.1.14faultHandlers、catch与catchAll元素
16.1.15其他WS-BPEL元素
16.2WS-协调概览
16.2.1CoordinationContext元素
16.2.2Identifier与Expires元素
16.2.3CoordinationType元素
16.2.4RegistrationService元素
16.2.5指定WS-业务活动的协作类型…
16.2.6指定WS-原子事务的协作类型…
16.3面向服务的业务流程设计(循序渐进的过程)
第17章基础WS-扩展
17.1WS-寻址语言基础
17.1.1EndpointReference元素
17.1.2消息信息报头元素
17.1.3WS-寻址的复用性
17.2WS-可靠消息传递语言基础
17.2.1Sequence、MessageNumber与LastMessage元素
17.2.2SequenceAcknowledgement与AcknowledgementRange元素
17.2.3Nack元素
17.2.4AckRequested元素
17.2.5其他WS-可靠消息传递元素
17.3WS-策略语言基础
17.3.1Policy元素与通用策略断言
17.3.2ExactlyOne元素
17.3.3All元素
17.3.4Usage属性
17.3.5Preference属性
17.3.6PolicyReference元素
17.3.7PolicyURIs属性
17.3.8PolicyAttachment元素
17.3.9策略断言的附加类型
17.4WS-元数据交换语言基础
17.4.1GetMetadata元素
17.4.2Dialect元素
17.4.3Identifier元素
17.4.4Metadata、MetadataSection与MetadataReference元素
17.4.5获得消息
17.5WS-安全语言基础
17.5.1Security元素(WS-安全)
17.5.2UsernameToken、Username与Password元素(WS-安全)
17.5.3BinarySecurityToken元素(WS-安全)
17.5.4SecurityTokenReference元素(WS-安全)
17.5.5编写Security元素内容(WS-安全)
17.5.6EncryptedData元素(XML-加密)
17.5.7CipherData、CipherValue与CipherReference元素(XML-加密)
17.5.8XML-签名元素
第18章SOA平台
18.1SOA平台基础
18.1.1基本的平台构件
18.1.2通用SOA平台层
18.1.3SOA层与技术之间的关系
18.1.4基础服务技术架构
18.1.5厂商平台
18.2J2EE中的SOA支持
18.2.1平台概览
18.2.2基本SOA支持
18.2.3面向服务原则的支持
18.2.4当代SOA支持
18.3.NET中的SOA支持
18.3.1平台概览
18.3.2基本SOA支持
18.3.3面向服务原则的支持
18.3.4当代SOA支持
18.4集成性考虑
附录A案例研究:总结
附录B服务模型参考...
面向服务架构(SOA)是当今IT界倍受关注的主题,也是未来的发展趋势。Gartner Group预测,到2008年,SOA将成为占绝对优势的软件工程技术。主流企业,特别是软件企业,现在就应该了解和应用SOA的概念和技术。.
但是,与先前的任何技术或概念相比,SOA又是一个宏大的主题,这是IT技术发展积累的结果,也是由它所担负的使命所决定的。同时,与J2EE、.NET等具体技术相比,SOA更具厂商中立性,到目前为止,还没有哪家厂商能宣称其“拥有SOA”。因而,SOA主题的研究既要继承历史,立足现实,又要面向未来;既要涉及技术,又要顾及市场;既要保持中立,又要考虑既有的厂商技术。所有这些,本书都进行了完整而深入的阐述。读完本书,尤如享受了精美的SOA盛宴。
本书主要包括三个方面的内容,SOA的概念、相关技术和规范、设计流程。书中对于SOA的原则及其所带来的效益进行了深入细致的探讨,这甚至成为贯穿全书的一条线索,从理论到实践,从原则到产品支持,不厌其烦。我想,这自有它的道理,因为任何一种技术,尤其是它刚出现的时候人们很容易会为了赶时髦而使用它,而使用者往往忽视了任何一种技术都是为解决某种问题而存在的,即技术因市场需求而生,是“果”而非“因”。只有深刻理解SOA的效益,才能享受它所带来的价值而规避其局限性。
本书的另一大特色还在于其丰富而系统的案例研究,作者不仅虚构了两家有代表性的大型和小型企业,逐步地帮它们建立起SOA的企业环境,而且对于抽象的概念还辅以“简言之”的类推场景,从日常的生活常理中对晦涩的概念给予深入浅出的解释。这样的示例占据了近乎全书三分之一的篇幅,从而使得本书极具实践意义。当然,不要指望照抄案例就能构建自己的SOA环境,它只是对理论理解的一种辅助手段,而不是SOA的“教程”。..
本书可以帮助读者建立起一整套关于SOA的理论体系以及构建SOA环境所需的技术和指导,带领我们走入SOA的神圣殿堂;同时,它也可以作为一本必备的SOA参考手册,在你走入技术迷途时为你指引方向。
很幸运,能够有机会翻译此书。虽然“入行”近10年,但对于翻译则是“新手”,加之本书涉及面广、词汇量大,更有一些新术语需要“创新”,令译者颇感费力。翻译过程中参考了大量的现有译法,但由于译者水平所限,加之时间仓促,错误之处在所难免,恳请广大专家、读者批评指正。
本书第10~17章由陈荣华负责初译,王满红对其余部分进行翻译、并负责统稿和审校。
感谢陈冀康先生,没有他的慧眼推荐、极力督促和指导,本书中文版不会得以快速面世。同时感谢他对本人的信任,这给了我们极大的信心和动力。还要感谢我的朋友温昱,他的鼓励和引荐促成了翻译工作的启动。
机械工业出版社的编辑们认真负责的态度也令我感动,他们的工作保证了本书的可读性和准确性。
最后,特别感谢我的妻子马晓艳,她坚定不移地支持以及对家庭和儿子的全力照料,使我能够夜以继日地工作并最终按时完稿。
您对本书有任何建议或意见,欢迎发送电子邮件manhong.wang@gmail.com或unixcrh@gmail.com。...
王满红
2006年5月15日
本书的创作几乎用了一年的时间,包括写作、研究以及对于所关注问题的范围及重点的不断扩展。尽管本书大部分章节集中于从厂商中立的角度来讨论面向服务架构,但要完成从这个视角的精确阐述,还需要花费大量精力去评估支持SOA的所有主流厂商平台。作为这次研究活动的一部分,我与一百多位资深IT专家进行了交谈,有的是通过直接的面谈,另一些是我参与平台的评判工作时的意外收获。.
本项目中最有趣的因素已经在以Web服务为背景的面向服务中体现。然而要把面向服务的各个组成作为模式来研究时,我才开始意识到它们就植根于已有的创新中。但又有根本的区别,因为这是一个混合传统概念与新概念的独特架构模型。
尽管SOA是以崭新的面貌出现的,但在基础层面却是基于一个陈旧的既有思想学派。面向服务,作为与逻辑单元相隔离的一种方法,是一个非常通用的概念。随着书中章节的进展,我开始注意到这在日常生活中更为常见。我们日常接触的个体、人和组织要么提供某种形式的服务,要么是一个服务的参与者。尽管如此,一旦应用到技术架构,面向服务却只关注面向服务世界的一个特殊部分:业务自动化。
用最小的付出获得最大的效益,这是竞争性业务对公司策略目标的要求,持续浪费资源的低效组织将会落后。组织的业务自动化方式是决定其运营效率的根本因素,从而也是对其敢于冒险的奖励。..
这就是SOA的价值所在。通过面向服务形成自动业务逻辑,能够保护现有投资,有助于智能化地表达业务,进而表现其内在的自动敏捷性。当与Web服务技术平台联合时,SOA提供了一个重要的潜在现实效益,从而改变组织的技术与发展前景。我的目标是帮助读者探索、理解并实现这个潜能。
致谢
在本书的写作期间,我有幸遇到一个强大的团队,包括技术评审、高级编辑、制作人及营销专家。我感谢你们所有人不辞辛劳的努力,特别感谢我的家庭对我的理解和坚定不移的支持。...