InsertPictureHereSOA集成平台接口技集成平台接口技集成平台接口技集成平台接口技术规术规术规术规范范范范©2010OracleCorporation2•接口规范组成•接口数据规范•接口消息规范•接口服务规范•接口安全规范•接口服务的发布与生命周期管理•接口交互模式目录目录目录目录©2010OracleCorporation3•企业业务对象(EBO:EnterpriseBusinessObject):接口规范中的数据模型定义。•企业业务服务(EBS:EnterpriseBusinessServices):接口服务规范中的业务服务模型定义。•企业业务消息(EBM:EnterpriseBusinessMessage):接口服务规范中的消息/通讯模型定义。•应用连接服务(ABCS:ApplicationBusinessConnectorServices):接口规范中的连接服务模型定义。接口规范组成接口规范组成接口规范组成接口规范组成©2010OracleCorporation4接口规范组成接口规范组成接口规范组成接口规范组成©2010OracleCorporation5接口数据规范接口数据规范接口数据规范接口数据规范•对企业内通用的业务实体进行标准化•建立起接口间的数据模型,即企业业务对象EBO•这些业务对象作为整合平台的标准数据格式在系统中应用,以实现数据在各应用系统中的流转与转换©2010OracleCorporation6•保证业务实体的清晰、一致和完整,从而易于理解和重用•消除点对点、端对端的数据转换,支持一对多模式•企业业务服务EBS是对应于相应的企业业务对象的一种业务级操作,如创建PO等,一般是不同的应用系统间发起的业务级服务请求。EBS操作业务对象EBO,通过业务消息EBM与其它系统的EBS进行交互•实现可“热插拔”的集成:EBO剥离了数据请求者和数据提供者之间紧密耦合的关系,应用系统只要遵循EBO的数据规则和相关接口,即可加入到集成平台中,实现与其它应用系统的交互•实现系统间的松散耦合,提供良好的扩展性,为服务的标准化奠定了基础•基于标准,有利于系统的维护与升级接口数据接口数据接口数据接口数据规范规范规范规范意义意义意义意义©2010OracleCorporation7接口接口接口接口数据数据数据数据模型模型模型模型©2010OracleCorporation8•EBO应是应用中立的,即EBO应独立于某个特定应用系统。•EBO建立的是业务实体的语意模型,其为系统间的集成提供交换数据结构,并通过XML方式定义业务规则。•在定义EBO时,应尽可能地遵循和采纳目前业界的主流标准,如OAGIS,UN/CEFACT及ISO等相关标准。•定义EBO时,也应结合到现有系统已有的相关数据模型,并充分考虑如何合理化平衡和复用现有模型。•EBO应是可扩展和可升级的,以便可持续发展。EBO应支持版本,做到向前与向后的兼容性。•EBO应采用XMLSchema格式进行描述,并以XSD文件方式存在。接口数据接口数据接口数据接口数据规范规范规范规范原则原则原则原则©2010OracleCorporation9订单订单订单订单EBO例子例子例子例子©2010OracleCorporation10•接口消息是指在应用系统和业务服务之间交互时的输入/输出消息格式。接口消息一般是成对出现的,即对于每一个请求消息,都有一个响应消息。接口消息规范具体体现为业务服务消息EBM。•EBM是基于某个EBO的特定操作的输入/输出格式定义,EBM由两部分组成,消息头(Header)和消息体(DataArea)。EBM应该采用XMLSchema方式进行定义。接口接口接口接口消息消息消息消息规范规范规范规范©2010OracleCorporation11接口接口接口接口消息消息消息消息例子例子例子例子©2010OracleCorporation12EBM消息头(Header)包含:•标识消息来源系统和目标应用系统•重要的跟踪信息,包括有助于定位数据所历经的节点,所经过的处理等数据•审计信息•错误处理和跟踪信息接口接口接口接口消息消息消息消息组成组成组成组成©2010OracleCorporation13EBM消息体(DataArea)主要包括:•相关的EBO,EBM封装的消息一般是针对某个业务对象的操作,比如创建定单CreateOrder,那么EBO是EBM的重要数据体。当然,可以是EBO的特定部分。比如,创建销售定单的时候,必须提供完整的定单信息;而取消销售定单的时候,可以只提供定单号即可。•要对EBO进行的操作描述,如创建、修改、查询等。•另外,一个EBM的XMLSchema文件定义对特定EBO所有可能的操作。接口接口接口接口消息组成消息组成消息组成消息组成©2010OracleCorporation14•接口连接规范即应用连接服务框架ABCS(ApplicationBusinessConnectorService),ABCS连接外部IT环境,是应用系统接入集成平台的“插座”。接口接口接口接口连接连接连接连接规范规范规范规范©2010OracleCorporation15•ABCS可分为两种类型:•接入服务,或者说是服务请求者,即接收外部系统的服务请求,经过标准化处理后再路由给相关的业务服务EBS•接出服务,或者说服务提供者,即接收EBS提出的服务请求,调用外部应用系统获得响应接口接口接口接口连接连接连接连接规范规范规范规范类型类型类型类型©2010OracleCorporation16•应用应用应用应用连接连接连接连接:主要定义多种系统接入的问题,就是要在尽量不影响、不破坏应用系统的前提下,通过特定应用系统自身的API或专有协议,实现与现有应用系统数据访问接口或功能接口的快速连接。•服服服服务标准化务标准化务标准化务标准化::::就是在应用连接的基础上,把应用系统的数据访问接口和功能接口统一封装成标准的WebService方式发布出来,从而屏蔽应用系统在数据访问接口和功能接口上的多样性和复杂性。•数据数据数据数据标准化标准化标准化标准化:就是要把应用系统原有接口所提供的私有数据格式统一封装成满足接口数据规范的EBO形式,并进一步封装到统一消息规范EBM,从而屏蔽应用系统在数据格式和消息格式上的多样性和复杂性,以统一的数据形式和消息格式和业务服务EBS交互。(数据验证和转换可通过OSB等提供的图形化数据转换工具来实现)•ABCS还需要支持安全,认证等的接口、SSL等标准的支持。接口接口接口接口连接连接连接连接规范规范规范规范核心核心核心核心©2010OracleCorporation17接口接口接口接口连接连接连接连接规范规范规范规范核心核心核心核心©2010OracleCorporation18接入服务例子接入服务例子接入服务例子接入服务例子©2010OracleCorporation19按照粒度:•原子原子原子原子服务服务服务服务:最小颗粒度的服务,对应着系统的某一特定数据和功能接口,并通过集成技术,包括适配器技术和消息机制等,对传统应用接口进行连接、适配和封装,形成满足统一服务模型的单一接口服务,原子服务更多是面向技术细节的。•组合组合组合组合服务服务服务服务:按照业务需要,在原子服务的基础上进行组合,封装成较大颗粒度的服务,甚至包括跨系统,跨业务域的服务,组合服务是面向业务的。接口接口接口接口服务服务服务服务分类分类分类分类©2010OracleCorporation20按照接口服务的功能:•应用连接服务应用连接服务应用连接服务应用连接服务ABCS:应用系统接入集成平台的“插座”,是连接外部IT环境,实现应用连接、服务标准化和数据标准化。•企业业务服务企业业务服务企业业务服务企业业务服务EBS::::对应于相应的企业业务对象的一种业务级操作,代表一个可执行的业务操作,如创建销售定单、执行定单等;一般是不同的应用系统间发起的业务级服务请求。接口接口接口接口服务服务服务服务分类分类分类分类©2010OracleCorporation21•EBS应该是应用中立的,即独立于某一特定的应用系统,是跨应用系统的标准化的服务定义•EBS应支持同步和异步操作•EBS通过WSDL发布为标准的WebServices•ABCS或外部应用系统通过发送一个EBM请求消息来调用EBS服务,EBS返回一个EBM响应消息•EBS通过调用ABCS来实现与特定应用系统的交互EBS特性特性特性特性©2010OracleCorporation22EBS/EBO/EBM关系关系关系关系©2010OracleCorporation23•适配器技术封装接口服务•OSB技术封装接口服务•流程技术封装接口服务接口接口接口接口服务服务服务服务实现方式实现方式实现方式实现方式©2010OracleCorporation24•适配器应该遵循J2EE和WebService的相关规范,符合现在业界最新的技术规范JCA(Java连接架构规范)。适配器通过对应用系统的接口进行封装,从而将其中的数据以标准的XML形式发布出来。同时,这种封装应该是采用一种“非侵入式”的封装方式。适配器技术封装接口服务适配器技术封装接口服务适配器技术封装接口服务适配器技术封装接口服务©2010OracleCorporation25•OSB实现服务数据标准化通过适配器封装的接口服务,在形成业务服务并对外发布前,首先应对其数据进行相应处理,包括数据验证和数据转换,使之形成标准的EBOOSB技术封装接口服务技术封装接口服务技术封装接口服务技术封装接口服务©2010OracleCorporation26•OSB实现服务路由封装利用ESB提供的统一调配和服务路由功能,在运行时根据请求的内容来自动决定调用特定的服务。OSB技术封装接口服务技术封装接口服务技术封装接口服务技术封装接口服务©2010OracleCorporation27•通过业务流程编排实现原子服务的顺序调用和协同,从而把多个原子服务组合成更高层级、更大颗粒度的面向业务的服务。流程技术封装接口服务流程技术封装接口服务流程技术封装接口服务流程技术封装接口服务©2010OracleCorporation28•确保在SOA集成平台中有效地监控、管理和保障服务以及这些服务之间的交互。•安全策略安全策略安全策略安全策略管理管理管理管理•安全策略安全策略安全策略安全策略执执执执行行行行•安全策略安全策略安全策略安全策略监监监监控控控控接口安全规范接口安全规范接口安全规范接口安全规范©2010OracleCorporation29•服务发布—提供服务注册表,使得Web服务的提供方能够发布服务和相关产物,从而将产品提供给服务用户。•服务发现—服务注册表应提供服务的“目录”,提供对已发布服务的服务描述和端点引用。•服务生命周期管理—服务注册表还应充当SOA管理的单个控制点,确保了企业中服务产品的质量和一致性。接口服务的发布与生命周期管理接口服务的发布与生命周期管理接口服务的发布与生命周期管理接口服务的发布与生命周期管理©2010OracleCorporation30•接口交互模式描述了应用系统与接口服务之间的交互模型。单路模式接口交互模式接口交互模式接口交互模式接口交互模式©2010OracleCorporation31同步请求/应答模式接口交互模式接口交互模式接口交互模式接口交互模式©2010OracleCorporation32异步请求/应答模式发布/订阅接口交互模式接口交互模式接口交互模式接口交互模式©2010OracleCorporation33接口交互接口交互接口交互接口交互模式模式模式模式例子例子例子例子©2010OracleCorporation34•外围应用系统首先通过UDDI协议向UDDIServiceRegistry发起服务接口查找请求。•UDDIServiceRegistry响应请求,返回EBS服务的端点(Endpoint)地址。•外围应用通过WebSe