1.企业数据交换总线
实践中,还有一种较常用的架构,即企业数据交换总线,即不同的企业应用之间进行信息交换的公共通道,如图1所示。
图1 企业数据交换总线架构
这种架构在大型企业不同应用系统进行信息交换时使用较普遍,在国内,主要是银行或电信等信息化程度较高的行业采用此种结构,其他的许多行业虽然也有类似的需求,但大多都仍处于半信息化阶段,没有达到“企业数据交换总线”的层次。
关于数据总线本身,其实质应该是一个称之为连接器的软件系统(Connector),它可以基于中间件(如:消息中间件或交易中间件)构建,也可以基于CORBA/IIOP协议开发,主要功能是按照预定义的配置或消息头定义,进行数据(data)、请求(request)或回复(response)的接收与分发。
从理论上来讲,企业数据交换总线可以同时具有实时交易与大数据量传输的功能,但在实践中,成熟的企业数据交换总线主要是为实时交易而设计的,而对可靠的大数据量级传输需求往往要单独设计。如果采用CORBA为通信协议,交换总线就是对像请求代理(ORB),也被称之为“代理(Agent)体系”。另外,在交换总线上挂接的软件系统,有些也可以实现代理的功能,各代理之间可以以并行或串行的方式进行工作,通过挂接在同一交换总线上的控制器来协调各代理之间的活动。
2. CORBA/IIOP协议
CORBA(公用对象请求代理体系)是OMG(对象管理组织)于1991年提出的基于对象技术的分布计算应用软件体系结构。CORBA标准主要分为三个部分:接口定义语言(IDL)、对象请求代理(ORB),以及ORB之间的互操作协议IIOP,核心是对象请求代理。CORBA可以抽象系统平台、网络通讯及编程语言的差异。通过在CORBA技术规范中定义多种类型的服务,如名字服务(Naming Service)、事务服务(Transaction Service)、对象生命期服务(LifeCycle Service)、并发控制服务(Concurrency Control Service)、时间服务(Time Service)等功能,为应用软件开发者提供一个全面、健壮、可扩展的分布对象计算平台,使面向对象的应用软件在分布异构环境下方便地实现可重用、易移植和互操作。
Internet Inter-ORB Protocol (IIOP)是一个开源协议,用于位于网络上的对象间的交互。IIOP 是利用一个企业标准消息系统(CORBA)实现网络对象间相互调用。没有 IIOP,客户端的对象不首先同步它们的语言就无法和服务端的对象交流。IIOP 标准化了客户端和服务端交换信息的手段。它还能让用不同编程语言开发的客户端和服务端交互。