数据交换服务总线
(1)数据交换服务总线支持数据交换功能的实现,数据交换服务总线由一组基本的交换服务功能组成,包括接人服务、访问控制服务、消息转换服务、路由服务、适配器服务及管理服务等。
(2)数据交换服务总线功能描述如下:
①接人服务功能。实现服务调用的统一人口功能,包括接收服务请求消息及实现调用者使用的通信协议与服务总线内部通信协议之间转换。
②访问控制服务功能。实现身份鉴别与权限控制。
③消息转换服务功能。提供不同格式的消息之间的转换,包括输入消息转换和输出消息转换。
④路由服务功能。根据请求的服务名,查找服务目录,找到对应服务部署的地址。
⑤适配器服务功能。实现服务总线内部通信协议与被调用的服务使用的通信协议之间的转换,并调用服务器和获取服务返回结果。
⑥管理服务功能。实现服务的全生命周期管理功能,包括服务定义、服务注册、服务使用、服务维护、服务弃用与服务退役等全生命周期管理功能。
(3)数据交换服务总线必须包括下述特性:
①是基于面向服务架构的。
②与操作系统和编程语言无关,并能在Java和•Net应用程序之间工作。
③使用XML作为标准通信语言。
④支持Web服务标准。
⑤支持消息传递(同步、异步、点对点、发布-订阅)。
⑥包含基于标准的适配器(如JCA、文件适配器、数据库适配器),用于数据采集。
⑦包含对服务编制(Orchestration)和编排(Choreog raphy)的支持。
⑧包含智能的以及基于内容的路由服务(Itenerary路由)。
⑨包含标准安全模型,用于ESB的认证、授权和审计。
⑩包含转换服务,使用可视化映射工具定义XSLT规则,在发送应用和接收应用之间能够进行格式转换、语义转换。包含基于模式(Schema)的验证,用于发送和接收消息。
接口技术
(1)数据交换服务应采用Web服务方式实现,符合WS-I国际标准。
(2)数据交换服务间互操作的协议为简单对象访问协议(SOAP)。
(3)数据交换采用XML文件格式,对数据的描述涉及两部分内容,一个是数据模版,另一个是按照数据模版生成的数据文件。数据模板规定交换数据的内容与格式,其文件后缀为"•xsd";数据文件是按照数据模板的要求生成的XML数据文件,它所描述的是数据本身,其文件后缀为"•xml"。XML文件使用GBK编码格式,元素属性名称均为小写。
2)服务发布与查找
数据交换平台使用UDDI(统一描述、发现和集成协议)建立数据交换服务管理中心,为数据交换服务提供目录查找功能。
UDDI服务对于访问者不是必须的,在效率要求较高和服务相对稳定的情况下,可以不通过UDDI而直接访问服务,一般情况下,应使用UDDl实现服务的动态绑定。
3)服务描述
数据交换服务使用Web服务策略(Web Services Policy)规范来描述Web服务的能力、需求和一般特征,包括但不限于安全性策略。
数据交换服务使用WSDI」(描述XML Web服务的标准XML格式),描述其使用的抽象消息操作、具体的网络协议和端点地址。
数据交换服务使用XML模式(XMLSchema)描述其接收和发送的基于XML的消息的结构和内容。
U服务注册与发现数据交换服务总线应提供满足对数据交换服务进行分布式访问和测览的中央注册存储功能,应提供UDDI数据存储、复制和安全的注册产品。
数据交换服务总线的开发一般有以下方面的技术要求:
(1)应提供实用的、稳定可靠且有弹性的方法对SOA元数据进行合并和分发。
(2)支持基于标准的、互操作的服务发布和发现协议,应该提供企业级SOA所需要的基于标准和互操作模型。
(3)应提供集中控制的服务发现和发布,同时应该提供安全访问控制能力,能够对敏感的服务提供有限范围的可视性。
(4)应提供服务审批流程。
(5)应提供服务变更管理,支持变更的通知和订阅,能实现将注册数据的变动主动通知管理或者相应的流程。
5)纵向服务交换流程
纵向数据交换过程中,交换数据可以通过本级数据交换平台上报到总部数据交换平台,也可以通过总部数据交换平台下传到本级数据交换平台。
纵向数据交换步骤如下(请求数据的数据交换平台称为请求端,提供数据的数据交换平台称为提供端):
(1)请求端向提供端发送获取交换数据的请求;提供端接受到请求后,根据请求信息生成交换数据并存放在提供端的EDS(交换数据临时存储区)中。
(2)提供端生成交换数据完毕后,向请求端发送数据采集描述信息。
(3)请求端根据数据采集描述信息,从提供端的EDS中采集交换数据,并放置于请求端的EDS中,然后在请求端EDS中校验和处理数据,最后通过 ETL工具将处理完成的数据装载到请求端ODS中。如果校验数据、处理数据或者装载数据步骤出现错误,就向提供端返回错误信息,否则返回成功信息。
6)横向数据交换流程
数据交换平台负责将同级业务系统数据采集到UDS,其过程是纵向数据交换流程的简化(在同级数据交换平台内部完成,不需要在两级数据交换平台之间通信),步骤如下:
(1)数据交换平台向业务系统发起交换数据的请求i业务系统接受请求后,根据请求信息生成交换数据并存放在数据交换平台的EDS中。
(2)数据交换平台在EDS中校验和处理数据,最后通过ETL工具将处理完成的数据装载到ODS中。"奶果校验数据、处理数据或者装载数据步骤出现错误,则返回错误信息,否则返回成功信息。
同级业务系统之间可以利用数据交换平台实现数据的实时交换,这种交换需求通过在数据交换平台上开发相应的数据交换服务实现。