数据交换是指为了满足不同信息系统之间数据资源的共享需要,依据一定原则,采取相应的技术,实现数据在网络环境下从一个交换节点到其他交换节点的传送和处理过程。
数据交换从技术实现的角度来看,参与的主要逻辑实体可以抽象为业务数据、交换数据、交换数据库、交换节点(端交换节点、中心交换节点)、交换服务,它们之间的关系在如图1-1所示 的数据交换概念模型中有所体现。将数据交换过程中信息从源点到目的点经过的所有信息处理单元抽象为交换节点,其中信息的源点和目的点为端交换节点,信息经过的中间点为中心交换节点。各实体的含义是:
图1-1 数据交换概念模型
(1)业务数据是由各部门产生和管理的数据。
(2)交换数据是端交换节点存储和交换的数据。
(3)交换数据库是可以为多个端交换节点提供一致数据的集中存储区,任意一个端交换节点可以按照一定的规则访问交换数据库。
(4)端交换节点是数据交换的起点或终点,完成业务数据与交换数据之间的转换操作,并通过交换服务实现数据的传送和处理。
(5)中心交换节点主要为交换数据提供点到点、点到多点的路由,以及可靠传送等功能,在两个端交换节点之间可以有0个或若干个中心交换节点。
(6)交换服务是交换节点传送和处理数据的操作集合,通过不同交换服务的组合支持不同的服务模式。
其中,交换节点的功能至少包括数据传送和数据处理两个部分。数据传送功能主要是根据选定的传送协议完成数据的接收或发送功能,数据传送可以通过多种技术实现。数据处理功能完成对消息包的封装或解析,并根据需要实现数据格式转换、可靠性保证和加密等功能。端交换节点可扩充功能包括交换数据库的访问操作、访问其他节点的操作、与业务数据的可控交换等。中心交换节点可扩充功能包括流程管理、节点监控、对交换数据库的访问操作等。
数据交换技术随着信息技术的发展而不断发展,主要经历了点对点方式、企业应用整合方式和面向服务架构方式三个阶段。目前,数据交换主要通过面向服务架构技术实现。
1. 点对点方式
在点对点方式中,进行数据交换的各个信息系统都需要知道彼此的结构,为不同的接口编写不同的程序来实现数据共享。在系统不多的情况下,点对点方式比较适合,难度不大,但是当需要在多个系统之间进行数据交换时,接口问题变的非常复杂,实现难度和工作量呈指数级增加。这种方式存在的问题主要有:一是不能在不同的平台上进行数据传输,没有办法处理异构信息系统之间的数据交换;二是不能适应需求的动态变化,目标地址一旦发生改变,数据交换就会出现问题,技术实现难度增大,导致工作效率降低,数据交换成本过高。
2. 企业应用整合方式
企业应用整合方式(Enterprise Application Integration,EAI)是将基于不同平台、用不同方案建立的异构应用进行集成的一种方法和技术。EAI建立在一个由中间件组成的底层数据交换平台上,将业务流程、应用软件、硬件进行整合,将各种“应用孤岛”“信息孤岛”通过各种适配器连接到一个总线上,然后再通过消息队列在两个或更多的应用系统之间实现数据交换。这种方式降低了集成的难度,同时也具备良好的可扩展性。但EAI方式也存在不足,主要体现在:一是各种接口是非标准的,接口主要是针对具体交换定制开发的;二是不同厂商提供的解决方案多种多样,相互之间的兼容性差。
3. 面向服务架构方式
基于面向服务架构(Service Oriented Architecture,SOA)的数据共享服务,利用开放标准,采用服务作为应用和数据集成的基本手段,不仅可以实现资源的重复使用和整合,而且还能跨越各种硬件和软件平台,实现不同数据资源和应用的互联互通。基于SOA,可以将各种数据资源的组织与运用通过服务包装方式转变为可复用的数据资产,然后将这些服务按照业务要求,部署、运行在统一的架构中,并支持向其他应用系统或其他成员提供服务。