2010年10月24日
《SOA权威指南:通过BEA Aqualogic Service Bus实现》 原书名: The Definitive Guide to SOA: BEA AquaLogic Service Bus 作者: 【美】Jeff Davies 【印度】Ashish Krishna 【美】David Schorow 著 译者:倪志刚 王铭孜 黄兆勤(2008年01月第1版第1次) 原出版社: Apress 电子工业出版社 Publishing House of Electronics Industry http://www./ 北京市海淀区万寿路173信箱(100036) JEFF DAVIES,BEA的SOA构架师与推广者,在软件领域有20多年的工作经验。Jeff有丰富的零售软件,例如Windows与Macintosh平台上的Act!,以及许多其他的商业应用程序(主要集中在电信领域)的开发经验。他还做过企业应用程序的开发、设计、构架设计等方面的工作。在加入BEA之前,Jeff是一家电信公司的首席构架师,主要负责s0A。在BEA,Jeff主要从事基于BEA的产品在一些实际项目中构建s0A解决方案的工作。
DAVID SCHOROW,有20多年的企业软件开发经验。David是BEA AquaLogic Service Bus的首席构架师,指导了ALSB的开发与发展。在加入BEA前,他是HP NonStop产品部门的首席Java构架师,负责监管许多不同的Java项目,包括NonStop Java虚拟机、NonStop SQL JDBC驱动程序,NonStop平台与WebLogic Server的通信以及其他的企业Java产品。David在高性能事务处理系统领域有丰富的经验,这些系统广泛用于飞机订票、保健与银行领域。David拥有MIT的理学学士学位与加州大学伯克利分校的博士学位。
内容简介
本书介绍了作为SOA核心和基础架构的ESB(Enterprise Service Bus,企业服务总线)的主要功能,并且重点介绍BEA的企业级ESB产品——AquaLogic Service Bus(简称ALSB)。在本书中,读者将通过很多详细的例子来领略ALSB如何与一些传统的系统相连接,以及Web Service通用的设计模式,丰富在SOA与ESB上开发与构架方面的经验。本书总共15章,其中大多数章节在内容上相对独立,读者可以单独地阅读每一章。不论是对ESB和SOA概念完全不了解的新手,还是ALSB的专家,本书都具有可读性和指导意义。 P24,@WebService含义
name: WebService 生成的WSDL将会以该name作为porttype targetNamespace: 目标命名空间 serviceName: 服务名,对应WSDL的<wsdl:service>元素 wsdlLocation: WSDL文件的相对或者绝对路径 endpointInterface: 服务端点接口SEI的文件的全限定名 P25,@SOAPBinding含义
style: 指定SOPA消息的编码类型【Document(*),RPC】 use: 指定SOPA消息的格式风格【Literal(*),Encoded】 parameterStyle: 定义了方法的参数格式【Bare,Wrapped(*)】 P26,@WebMethod含义
operationName: 操作名称,对应<wsdl:operation>元素,默认为Java方法名 action: 与操作对应的action,对SOAP Binding来说,就是SOAPHeader值。 P36,业务服务和代理服务
ALSB将服务分成两类:业务服务(Business Service)和代理服务(Proxy Service)。客户端不直接调用业务服务,而是调用代理服务。 业务服务是在ALSB上定义的,代表ALSB以外的服务,可以理解为client stub,通过这个stub,ALSB可以访问外部的服务,而这个外部服务,就是服务提供者。 代理服务时ALSB上的一个服务,可以代表任何一个真实的服务,通过这个代理服务,可以在消费者和提供者之间建立一个抽象层。 P47,代理服务是由它的消息流定义的,一个消息流由一系列节点组成。节点有4种类型:启动节点(Start),管道对节点(Pipeline Pair),路由节点(Route)和分支节点(Branch)。
启动节点:表示消息流的入口,不可编辑。 管道对节点:表示请求或者响应的消息路径,在请求或响应的不同阶段插入不同的操作,可以接一个其他类型的节点。 路由节点:叶子节点,一般转入到一个业务服务。 分支节点:判断分支,包括条件判断分支和操作判断分支。 P62,一个WSDL由6个部分组成,都在<definitions>根节点之下。
type: 数据类型,用XML Schema表示 message: 所用到的消息(由type构造) portType: 抽象接口,包括多个操作方法,每个操作方法的输入或者输出的消息由message构造 binding: 描述portType的绑定方式,包括协议、格式等 port: 服务端点的部署信息,主要是URL service: port的集合。 P113,服务类型与传输协议
SOAP with WSDL: JMS,HTTP,HTTPS SOAP without WSDL: JMS,HTTP,HTTPS XML with WSDL: JMS,HTTP,HTTPS XML without WSDL: JMS,HTTP,HTTPS,Email,File,FTP 消息类型(Binary,Text,MFL,xml): JMS,HTTP,HTTPS,Email,File,FTP P176,安全范式下在SOA的挑战
1、身份管理(Identity Management):如何访问安全资源,比如数据库、文件系统或者一个需要提供用户密码才能访问的后端遗留系统。 2、消息及有效载荷的隐私保护:如何保证只有合法的服务提供者才能访问这些消息。 3、真实性(Authenticity):如何知道这些消息是真实的,而不是由未授权的人所发布的。 4、完整性(Integrity):如何保证这些消息和它的有效载荷在传输过程中不被篡改。 5、安全执行(Security enforcement):如何保证安全规则和策略被应用和执行。 6、安全互操作性(Security interoperability):如何强制实施诸如SSL,数字签名等安全标准。 SOA坐标体系
企业服务映射原则1:如果一个服务必须跨越“域边界”才能完成其工作,它必须存在于企业服务层
企业服务映射原则2:企业服务层不能“跳过”域服务层
通信法则1:每个服务层都要知道它下面的那一层,而不是它上面的那一层
通信法则2:每一个服务层都知道ESL的信息
通信法则3:服务层之间使用Web服务方式
P209,什么是服务
服务的实现不是服务的一部分
任何需要客户知道的事情都是服务的一部分
服务受契约管理,契约定义服务提供什么以及何时如何提供服务
|
|