1 引言
巨大的投资为企业建立了众多的信息系统,但是随着信息系统的增加,各自孤立工作的信息系统将会造成大量的冗余数据和业务人员的重复劳动。企业急需通过建立底层数据交换平台来联系横贯整个企业的异构系统、应用、数据源等,完成在企业内部的ERP、CRM、SCM、数据库、数据仓库,以及其它重要的内部系统之间无缝的共享和交换数据。
在实施数据集成的过程中,不同的数据,其数据内容、数据格式和数据质量千差万别,有时甚至会遇到数据格式不能转换或数据转换格式后丢失信息等棘手问题,严重阻碍了数据在各部门和各应用系统中的流动与共享。因此,对企业内各异构系统底层数据进行有效的整合已成为增强企业商业竞争力的必然选择。
2 功能介绍
协同企业服务总线SynchroESB是西安协同时光软件有限公司研发的用于系统整合的中间件平台套件。SynchroESB3.0在研发的过程中,根据当前企业异构系统数据整合对功能、性能及复杂转换的实际需求,研发了数据整合服务平台SynchroESB DataService。SynchroESB DataService是SynchroESB3.0套件有机的组成部分,是一个功能强、性能高的数据集成平台,提供数据集成服务、数据集成标准和集成策略。通过SynchroESB DataService可以完成对各种类型数据的访问、过滤、清洗、转换、加载,最终实现异构数据的有机整合。
SynchroESB DataService集成了元数据管理、工作流管理及作业调度等功能,除提供直观的图形化操作方式外,还提供强大的脚本解释功能,是一款企业级的数据整合平台。SynchroESB DataService数据整合原理如下图所示:
图一 SynchroESB DataService数据整合原理
SynchroESB DataService的数据集成服务主要包括历史数据迁移、数据同步、数据合并、数据交换、数据联邦、数据仓库及数据中心建设等服务。
•历史数据迁移:实现历史遗留数据的重用,将各种历史数据迁移到新的目标数据库中。
•数据同步:实现异构数据库之间数据的实时同步,保证相关数据的一致性。
•数据交换:实现分布的数据库和集中的数据库之间的交互。包括数据清洗、转换、重组等处理,同时通过图形化业务建模,方便的描述数据转换逻辑。
•数据联邦:保存数据源的映射关系,数据仍在原系统中存储,主要满足数据的实时处理、统一结构视图等需要。
•建设数据仓库:实现将分散的数据集中到统一的数据仓库中,并建立统一的数据模型来存储。包括数据的抽取、转换、传输,然后将处理后的结果装载到事实表中,结合维度表形成数据立方。供OLAP分析、报表、预测等BI应用。
SynchroESB DataService一方面既可以作为构建数据仓库的有力工具,负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础;
另一方面,SynchroESB DataService也是构建企业数据中心的总线平台。通过对不同数据源的同步、转换、合并等过程,在企业内建立数据中心,作为多种异构数据源基础数据的存储和访问中心,实现数据一致性,保证企业核心数据的集中管理。
3 技术架构
SynchroESB DataService基于协同SynchroESB企业服务总线平台,它具有全面的ETL功能,是一个开放的数据服务平台。同时用户也可以编写自己的组件,实现特定的功能。SynchroESB DataService系统框架图如下所示:

图二 SynchroESB DataService系统框架
SynchroESB DataService从系统结构上分为四个层次:工具层、组件库、服务引擎、元数据仓库。 工具层包括了模型设计工具、任务调度设计工具、运行监控工具,各工具基于SWT,开发人员通过图形化界面进行业务建模和数据监控。开发人员通过模型设计工具和任务调度设计工具进行图形化建模,图形化集成模型实例以元数据的方式存储到元数据仓库,在相应的引擎上运行。数据监控工具实时监控数据处理的进度和效率,开发人员可通过该工具监测数据整合中每一步的处理情况。
图三 SynchroESB DataService图形化建模工具
组件库是SynchroESB DataService的功能仓库,内部预制进80多种数据抽取、转换、加载的常用组件,能够提供企业信息系统数据整合常用的所有功能。组件是SynchroESB DataService业务建模的最小单元,它提供了一个完整的服务,通过组件的图形化界面进行相应的配置,便可将多个组件进行组合,形成完整的ETL流程。组件库中包括业务模型和任务调度两大类组件:
• 业务模型组件集
业务模型组件提供数据集成中基本的数据抽取、转换、加载和数据传输功能。数据抽取组件有各种数据库、XML文件、文本文件、Excel、CSV文件等多种数据源的访问抽取功能;数据转换组件根据转换规则对抽取的数据进行清洗、映射、合并、拆分、过滤、分组等转换处理,同时还可以调用外部第三方代码进行更加灵活的数据转换操作;装载组件将经过处理的数据批量加载到目标数据库或文件系统中。
•任务调度组件集
任务调度通过多种调用策略对数据集成模型进行触发和管理,任务调度可以采取不同策略调用多个业务模型,同时也可以调用其它子任务调度。任务调度组件集中包含了多种调度策略组件,包括运行周期定时、资源比较、资源验证、脚本命令、协议传输等40多种类型的组件,这些组件支撑系统集成中各种调度策略。
SynchroESB DataService数据服务引擎是集成模型解析和运行的平台,它包括元数据引擎、业务模型引擎、任务调度引擎。元数据引擎用于解析和管理技术和业务元数据,是其它两个引擎运行的基础;业务模型引擎读取元数据仓库中数据模型信息,它是业务模型的运行容器;任务调度引擎读取元数据仓库中任务调度模型信息,调用业务模型引擎中运行的相应业务模型,运行和管理系统整合任务。
元数据仓库存储和管理技术和业务元数据。元数据是描述数据的数据,SynchroESB DataService平台基于元数据驱动,所有数据源信息、目标数据库信息和业务规则信息都使用元数据来表示,实现了规则数据的统一管理。
4 平台特色
•完全图形化设计,简单易用
SynchroESB DataService提供了基于SWT的数据变换和模型设计工具,开发人员只需在图形化环境中通过拖拽方式就可以描述复杂的数据变换和任务流程,不需要进行任何编码。
› 超过40个业务模型组件,应对各种复杂处理。
› 超过40个任务调度和应用集成组件,轻松实现数据流程集成。
•元数据驱动,架构优异
SynchroESB DataService以元数据驱动为核心,支持统一的元数据管理,对技术层面和业务层面的原数据进行统一的管理。构建了图形化的数据变换、流程设计工具以及监控、调试工具、元数据引擎、业务模型引擎、任务调度引擎,完全分隔用户界面、数据以及元数据,具有良好的体系架构。
•企业级性能和高扩展性
SynchroESB DataService具有强大的数据转换效率,在大负荷的任务执行中仍然有良好的性能,并行执行能力使其所能处理数据的速度可以得到趋近于线性的扩展,轻松处理大量数据。
提供集群服务,可以把负载分布到多个业务模型引擎和任务调度引擎上,大规模并行处理使得其能够适应大规模企业级应用,具有很高的扩展性。
•开放的架构,易于使用的二次开发接口
提供了简单易用的二次开发接口,用户可以很容易的定制开发各种数据转换和任务组件,并能在应用中实现对SynchroESB DataService的调用执行。
•可视化调试和监控
提供了图形化的调试和监控工具,可以直观显示任务的执行,可以实时检测系统在各环节的数据处理性能,并以曲线图的方式显示。
全面的变化数据捕获和数据抽取策略
提供了基于时戳、基于触发器、全文比对等各种方式的变化数据捕获机制,提供批量抽取、实时抽取、定时抽取等各种数据抽取执行策略。
•跨平台和丰富的数据源支持
平台采用Java开发,可以运行在SUN Solaris、HP-UX、IBM AIX、AS/400、OS/390、 Sco UNIX、Linux、Windows 等各种操作系统;支持Oracle、 Sybase、 SQL Server、DB2、 Informix、OleDB、Text、Excel、XML、CSV、Access、Foxbase、FoxPro、Dbase、Interbase等各种数据源。