嵇可可
(江苏食品职业技术学院 计算机应用技术系 江苏 223003)
随着经济和IT技术的发展,企业/政府内部、各单位之间的联系日趋紧密,经常需要在网络上进行数据的交换和互访,如何能使不同地域、不同单位、不同类型的数据可以进行方便的互访,是目前IT技术里的重要研究问题之一[1][2]。为提高异构数据转换的的效率,促进企业、政府数据管理工作的规范化和信息化,必须建立起统一的数据交换平台[3],通过统一的数据服务层实现异构系统的数据共享及同步,从而对交换数据进行一致性控制[4]。
集成中间件平台(Integration Middleware Platform,IMP),是包括一整套服务系统的集成,为不同的应用提供基于数据同步要求的转换与压缩功能,以及智能发送数据到需要该数据的系统。
IMP平台采用交换节点、交换代理的方式设计,通过简单的节点规划、安装、部署,为各类数据交换应用提供技术方案。同时,提供完善的系统管理工具,系统管理员通过浏览器即可完成所有的系统监控、管理工作。平台集JAVA、XML、中间件、工作流等技术于大成,融合了模型驱动、交换网络、数据仓库等先进思想,具有至强的系统适用性、扩展性,能够适应Windows、Unix/Linux等平台环境,能够满足Oracle、Sybase、MS SQL Server、MySql等异构数据库环境,能够使用各类用户自主开发的各类企业级数据库应用系统,能够跨越包括防火墙、VPN、物理隔离在内的复杂网络环境,同时,提供灵活的数据建模支持和二次开发能力。
IMP平台重点解决目前软件系统之间由于数据标准和规范不统一,很难进行有效的信息传递和数据共享的问题,具体目标如下:
(1)实现数据的统一性和关联的有机性,确保系统间具有交错关系的信息保持一致。
(2)通过异构数据的交换和格式处理以及跨系统和跨数据库的数据协同,实现系统内外间的信息及时互通。
(3)实现及时获取各个不同应用系统的信息变动状况并按统计汇总口径集结所需要的各种初级信息,综合反映各业务系统整体协作过程的状态指标。
IMP平台是在多年积累成熟的电子政务、电子商务及EDI软件开发包、数据模型驱动及数据软总线技术的基础上构建而成的。以中间件技术、工作流技术为核心,采用多层体系结构,包括核心服务层、数据处理层、数据总线等三个层次和开发工具、管理工具等两大工具集,具有功能全面、接口灵活、信息共享、标准规范、安全高效的特点。系统架构如图1所示。
图1 系统架构图
通过SQL和XML标准,对各类数据源中的数据进行自动转换,由此可以支持数据清洗和元数据交换等功能的实现。
定义了需要进行传输的数据库表字段与标准管理中定义好的相应标准元素描述信息之间的映射关系,即以标准管理为“桥梁”,在多个不同数据库的相应表之间建立起数据交换的传输规则。最后生成一份XML文件作为数据交换的规则文件。
数据交换报文接口规范:采用XML报文格式,解决业务系统数据交换。
该服务对各个集成组件进行聚合组织,使其组装成一个新的业务功能。
(1)业务流程编排(Choreography):用编排的方式来将各个集成组件组合成一个个业务流程,并使其能够用来建立更为复杂的组合流程;
(2)事务处理(Transactions):用来支持两类事务的执行,一是 ACID(Atomicity,Consistency,Isolation,Durability)事务型行为,同时也支持补偿性流程的事务型行为;
(3)人机交互(Staff):支持在业务流程中集成以“人”为导向的任务管理,提供对任务分配、任务授权等人机交互功能的支持,同时通过与“用户交互服务”的集成,可以方便管理与工作流相关的各个业务接触点。
用来定义数据交换与传输的路由信息。路由管理本身关联的也是一个XML文件,此文件与用户管理中的用户文件相关联。路由包括TCP模块、FTP模块、数据导出模块、数据导入模块和Excel导出模块,要根据网络的具体情况来设置数据交换的路由。定义完成后,数据交换引擎将根据用户的路由信息进行数据交换。
通过消息,可以将一些公共信息发布到全部或者指定的部分集成客户端,以在集成客户端触发相应的业务流程;也可以将产生相关性的操作信息以消息的方式传递到相关联集成客户端的模块触发操作,以指示操作步骤、方便进行相应的操作。
该服务层提供对已有应用及其数据进行访问和操作的接口,支持事务型服务、数据库连接服务、消息系统连接服务以及与其他数据源的连接服务。包括事务处理服务、格式转换服务、异构匹配服务、业务规则服务等四大功能。
数据总线定义了一个虚拟化的层面,该层面使得构建在其之上的业务集成架构能够运行在任何包含了安全、目录服务、存储管理等底层的硬件平台之上。
数据总线提供了以下支持:
(1)保证在一个异构的环境中实现信息稳定、可靠的传输,屏蔽掉硬件层、操作系统层、网络层等相对复杂、烦琐的界面,为用户提供一个统一、标准的信息通道,保证用户的逻辑应用和这些底层平台没有任何关系,最大限度地提高财政业务应用的可移植性、可扩充性和可靠性;
(2)提供一个基于企业服务总线(Enterprise Services Bus)的先进应用整合理念,最大限度地减少应用系统互联所面临的复杂性。系统的实现维护都相对简单,保证每一个应用系统的更新和修改都能够实时地实现;同时当新的应用系统出现时能够简便的纳入到整个IT环境当中,与其它的应用系统相互协作,共同为用户提供服务。
(3)提供全面的整合服务能力,为用户提供完整的整合服务功能,可以涵盖到整合的各个层面。
管理工具包括元数据配置、系统监控、定时服务、系统日志等管理配置工具。
(1)元数据配置:提供数据映射模板配置,传输服务监控。
(2)系统监控:提供系统连接池、系统运行情况的监控。
(3)定时服务:对系统定时执行任务相关属性进行配置定义,系统定时服务引擎根据相关参数进行定时任务执行。
(4)系统日志:提供对系统日志、数据交换日志查询、分析、统计功能。
为了实现源数据元格式与目的数据元格式的映射关系定义,我们定制开发了一个基于图形的操作界面来完成数据转换,它内嵌大量常用功能函数,同时提供强大的二次开发功能。如图2所示。
而对于目标数据元为数据库的映射,我们同时也提供了一个基于图形的数据表模式操作模块,它可以支持多种数据库操作,包括 Oracle,MSsql,Sybase,DB2,Mysql,MSacess。它可以图形映射数据对象和图形定义数据操作。如图3所示。
图2 数据转换工具
图3 O/R Mapping工具
系统关键技术
采用XML为核心的数据处理机制,提供系统数据的异构性。对于不同的数据源,采用统一的数据调用接口。数据交换基于 XML和 OMG EAI规范。
数据接口具备的功能:特定数据源参数的设置;数据源——》XML;XML——》数据源。
图4 数据映射逻辑图
对于连接(Connectivity),其目标就是将源应用系统的数据传送到目的应用系统。我们在建立模型时,设立了两种应用适配器(Application Adapter): SourceAdapter和TargetAdapter,SourceAdapter负责从源应用系统读取特定格式的数据,并转换成IMP消息,然后发送到集成代理(Integration Broker);集成代理再把消息传送到TargetAdapter;TargetAdapter收到消息后,把消息再转换成目的应用系统特定格式的数据,写给目的应用系统,完成数据从源到目的的传输。
图5 基于连接的集成模式
系统核心采用以构件为基础的集成平台的建立和运行。
(1)构件容器(Component Container):构件的运行平台。
(2)协同引擎(Collaboration Engine):协同构件之间的工作。
(3)构件组装器(Component Fittingshop):负责对构件协同编排创建模型,即XM文档,进行解释,并加载相关的构件到构件容器中。
(4)模型映射 (Model Mapping):EAI元模型到IMP模型的映射。
(5)XML解释器(XML Parser):将 XML文档解释成IMP消息格式,或反过来的解释操作。
在分布式应用,消息是常用的一个概念。在分布式应用中,不同的应用进程之间传递、交换的信息统称为消息。消息由消息的内容及消息的接收者名单组成。消息的内容及格式由该消息的提供者及接收者协商而定。在形式上,消息可表现为一个小的数据包,亦可表现为一个很大的文件。
消息的提供者:是指产生该消息的实体,如应用程序。
消息的接收者:是指某消息的指定接收实体。消息的接收者并不一定接收到该消息,它只是该消息的原定接收者。
消息的传送者:是指负责从消息的提供者获取消息,并将消息的内容传送到消息接收者的实体。消息的传送者有时不只是一个实体,而是特定实体的集合。它们共同扮演消息传送者角色。
在某大型物流公司信息系统建设中,采用了IMP平台作为各个业务系统的数据采集及协同的工具。IMP平台把多个系统中的数据进行无缝集成,例如货运委托、业务接单、费用结算、统计分析、信息采集发布等,它可以针对不同的系统之间的异构数据元进行采集与识别,通过后台制定的规则进行数据映射。它通过采用系统标准接口,实现了对委托书信息、发票和装箱单等异构数据的自动导入、整理和分析。同时,该平台具备与多类传输平台系统的接口,可进行多种方式的数据传输,例如MQ、XIB等平台都可以进行结合,为实现物流系统的快速实施以及安全稳定的运行奠定了良好的基础。
在系统综合考虑多个业务子系统之间数据整合的共性需求的同时,整个物流公司业务系统还借助IMP平台实现了信息整合方面共性需求功能,如数据采集、数据传输、数据整合和运行监控等,这些功能实现了从基础数据整合、到数据控制和统计分析。本文提出的系统对异构数据处理的实时性、正确性和有效性在项目中得到很好的验证。
异构系统的数据共享及实时同步是一个很复杂的处理过程,要考虑的因素较多、模块也较复杂,因此,在系统架构方面要处理的内容相当多。IMP平台实现了为不同的应用提供基于数据同步要求的转换与压缩功能,智能发送数据到相应系统;实现数据的统一性和关联的有机性;实现了高效率和易管理;并在某大型物流公司信息系统建设中得到很好的验证。
[1]申利民,李卫东.面向协同系统集成的数据同步模型[J].计算机应用研究,2012,29(4):1384-1386.
[2]邢华.异构数据转换系统的设计与实现[D].大连理工大学,2009.
[3]蒋溢,丁优,熊安萍.基于EAI消息平台的异构系统数据同步[J].计算机工程,2011,37(21):52-54.
[4]王博,李腊元,冯美来.基于数据同步的增值业务的开发[J].计算机工程,2009,35(3):115-117.