ESB在数据仓库建设中的应用

  作者:薛涛 崔健 王晓朋
2008/6/16 14:12:41
ESB可应用于各种异构平台的系统中;同时能屏蔽应用底层的传输协议,系统结构,操作系统和其他应用服务的差异。 


本文关键字: 数据 ESB 企业 ETI 技术

1、企业数据仓库系统建设的需求

目前大多数企业根据自己的业务特点和办公的需要,建立了一大批各自的业务处理系统和企业办公自动化系统,积累了大量的业务数据。这些业务信息系统为提高企业的工作效率,减少重复性的工作起到了积极的作用,为企业的发展做出了巨大贡献。但是这些系统的数据随着时间和业务的发展而不断膨胀,同时数据分布在不同的系统平台上,具有多种存储形式。随着市场竞争的加剧,信息对于企业的生存和发展起着愈来愈重要的作用。管理人员常常希望能够通过对组织中的大量数据进行分析,了解业务的发展趋势,而传统数据库只保留了当前的业务处理信息,缺乏决策分析所需要的大量历史信息。

为此,建立基于数据仓库的商务智能系统,为企业的发展决策提供有根有据的事实支持。数据仓库是指面向主题的、一致的、不同时间的、稳定的数据集合,用于支持经营管理中的决策支持过程。数据仓库系统是通过对生产经营过程涉及的销售、库存、生产、采购等业务财务数据、市场行情、竞争对手等外部数据进行收集、管理、处理、分析,进而给出综合分析结果的计算机信息处理系统。

2、ETL技术

构建数据仓库的一个关键核心技术是数据集成和迁移。现在,一般是以ETL(以抽取、转换、加载)集成迁移工具实现。ETL作为数据仓库构建的核心和灵魂,它能够按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。

ETL是在数据迁移过程中进行数据抽取(extract)、转换(transform)和加载(load)的过程。ETL过程的主要目的就是以最小代价将面向日常业务操作的数据转化为面向数据仓库存储的决策支持型数据。传统的方法是手动编写SQL语句和相对应的程序来实现数据抽取转换工作。这种方法对技术人员的专业水平要求很高,又要求对业务方面有足够的了解。传统方式实现的抽取转换工作在经历了一段时间后会造成SQL语句的数量急剧增加,系统会逐渐变得难以维护,模块难以复用。因此采用通用成熟的ETL工具来实现对业务系统中数据的集中,可以提高复用维护的简易性,减少设计抽取转换流程的难度,使技术人员把精力放在业务上而非实现的细节上。

ETL工具的本质是数据转换器,它提供一种从源到目标系统转换数据的方法。这个功能传统上由程序员来完成,需要针对每一种数据源编写不同的数据抽取和装载的程序,效率极其低下。ETL工具提供一种通用的解决方案,它一般用图形化方式来生成用于数据转换装载的程序代码,即直观高效地生成一个专用的数据转换器,从而减少了70%一80%的工作。

ETL过程可分为三步:首先是从数据源(底层的业务系统)中,将所需要的数据抽取出来;然后转换为目标数据存储的数据格式;最后将转换后的数据加载到数据仓库中,为了解决“脏数据”的数据质量问题,还会在数据转换步骤后加入数据清洗功能。ETL包括以下3个组成部分:

1)数据的抽取:指从不同的网络、不同的操作平台、不同的数据库和数据格式、不同的应用中提取数据的过程;数据抽取有完全抽取和增量式抽取。数据仓库中的数据很大一部份是用来反映历史情况的,抽取功能不只是简单的数据库导向的过程,更多是一个获取增量数据的过程。

2)数据的转换:指数据的转化(数据的合并、汇总、过滤、转换等)、数据的重新格式化和计算、关键数据的重新构建和数据总结、数据定位等。

3)数据的加载:跨网络、跨操作系统平台,将数据按照物理数据模型定义的表结构装入目标数据库中。

3、应用协同Syn__chroESB实现ETL

3.1 Syn__chroESB的ETL功能概述

协同Syn__chroESB是以SOA架构为核心的企业服务总线(ESB),它是一个基于标准的、面向消息的、高度分布的、具有智能路由的系统整合平台。它在JBI规范的基础上,实现了数据集成服务,包含了ETL相关组件,具有普通ETL工具所具有的功能。它又是一个开放的平台,用户可以编写自己的组件插入到Syn__chroESB总线上,实现特定的功能。

Syn__chroESB的数据集成服务主要包括历史数据迁移、数据同步、数据合并、数据仓库等服务。

  • 历史数据迁移:实现历史遗留数据的重用,将历史数据迁移到新的目标数据库中。
  • 数据同步:实现分布的数据库中数据的上传、下载,保证分布数据库中的数据的一致性。
  • 数据合并:实现不同应用的数据库中的个性化数据到统一结构的数据库中的数据的合并,包括清洗、转换等操作。
  • 数据仓库:实现将分散的数据集中到统一的数据仓库中,并建立统一的数据模型来存储。

Syn__chroESB的ETL处理主要包括:

  •  实现数据源的批量抽取、增量抽取、定时抽取,支持主流数据库、非结构化数据、平面文件等多种数据源,经过数据抽取后,将各种数据来源的数据在技术层面上实现XML格式统一;
  • 实现对于分布式的部署系统的数据传输,提供可靠性传输机制,支持数据的压缩、加密等处理;实现数据的加工,主要包括数据的清洗、转换处理。
  • 实现高效的流程并行调度,并可以批量将数据载入,适合于海量数据的处理。

如下图所示。

3.2基于Syn_chroESB的数据集成框架

基于Syn_chroESB平台的数据交换系统可以实现集成自下而上、不同节点(县、市、省)的异构数据(库),汇总到中央数据中心;可以解决机构内部异构数据库的数据不一致和同步的需求;可以实现横向系统之间的数据交换和共享。用户可以使用平台提供的缺省适配器组件,将原有的应用系统或者数据库系统连接到整个数据交换平台上来,实现整个信息系统之间的数据交换与信息共享。

Syn_chroESB的适配接口层是支持各种不同数据源的动态插件,它能屏蔽各种不同的数据源的底层技术差异,为数据源提供统一的访问接口,增强了应用和技术协同工作的能力。Syn_chroESB缺省提供如下适配器组件。当然,用户可以根据需要开发自己的适配器组件。下图展现了适配接口层的实际应用。

  • RDBMS:Oracle、Sybase、DB2、MSSql

数据库适配器封装各种对数据库的操作,提供统一的访问接口和一致的XML 表达。它包含提供不同访问方式的多种适配器,分别提供了读、写、查询,和监视数据库的功能。

  • 文件适配器

文件适配器:文件适配器提供一种通用文件访问方式,通过指定相关参数,可以灵活的读、写各类文件。它可以访问网络文件系统和本地文件系统。

  • HTTP

HTTP 适配器把消息传递到运行在一个指定URL 上的servlet 上,或者通过HTTP 协议接收来自客户端的HTTP 请求。

  • SOAP

Soap 适配器封装对WebService 的访问,用于访问一个指定URL 所对应的Web 服务

  • JMS

JMS 适配器封装各种JMS 的实现,通过提供统一接口访问其它JMS 的消息中间件

  • IF服务

IF 服务基于指定的XPath 选择标准进行数据的过滤。这个服务在输入事件端口接收XML 数据,进行XPath 的选择然后把数据写到正确的输出事件端口。这个服务还具有数据清理功能,可以清除不符合规范的数据以及空缺值。

  • JOIN服务

JOIN 服务在数据集成的过程中完成数据的合并工作,该服务描述了一个同步的节点用于等待在多个输入通道一起被接收的输入信息。一旦数据在多个输入通道被接收,该服务就生成一个新的XML 文件。这个XML 包含了多个输入的XML 文件。输出事件端口把XML 发送到工作流中的下一个服务中。

  • CBR服务

基于内容的路由(CBR,Content Based Routing)服务根据配置的一系列的XPath 选择标准在多个动态端口之间进行数据分发。具体而言,CBR 服务在输入事件端口接收XML 数据,然后对接收的数据进行XPath 判别,并将其从对应的输出端口发送给其他服务。

4、基于Syn_chroESB平台的数据集成的优点

采用基于Syn_chroESB中间件平台的数据集成方式,使数据集成与中间件相结合,主要是因为这种结合具有以下优点:

1.可伸缩性:数据集成系统必须建立在灵活可伸缩的基础之上,使不断扩展的企业数据应用能够植根在易于生长的环境中,使产生于不同时期的数据能够整合成一个有机的整体,而中间件正好提供了这样一种基础环境。

2.互操作性:中间件通过一套简单的API或通用界面将应用程序与底层环境分离开来,实现异种硬件平台,异种操作系统平台之间的互操作性。这也解决了数据集成中的系统异构问题。可以说中间件的互操作能力为企业数据集成提供了一种经济而有效的手段。

3.适应性:中间件使异构数据集成系统能够适应业务需求的不断变化,在产生增加或减少客户机,应用程序,服务器结点等环境变化时,能对整个系统的影响减至最小。

4.易开发:中间件提供了构造数据应用的基础构件,为开发人员屏蔽了直接接触底层环境所要面对的复杂性,使开发人员专注于业务流程的实现上,从而使数据的相关应用开发工作简便易行。

5.经济性:中间件可以为不同的数据应用提供不同的标准灵活的基础结构,使企业避免了为多个数据应用反复编写底层程序重复劳动,使应用开发的人力投入大幅度减低。同时,中间件的应用集成能力使原有数据应用的开发投资得到保护。

6.高效性:中间件作为标准的基础构件,产品化要求是自身处于持续的不断优化之中,从而使居于上层的数据应用能够获得一种有质量的运行环境,满足数据集成在处理效率上的需求。

7.易使用性:中间件支持多种开发工具和语言,实现了数据集成开发环境的平台无关性。

总之,Syn_chroESB可以很方便地应用于各种异构平台的系统中;同时又能够屏蔽应用底层的传输协议,系统结构,操作系统和其他应用服务的差异,是建立数据仓库、解决异构数据集成的一种比较好的方案。

责编:张赛静
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
最新专题
进口鲜 玩转海鲜O2O

上海进鲜实业成立于2014年12月30日,其创办的O2O平台“进口鲜”专注于为消费者提供高品质的海鲜产品。在短短一年不..

首届优秀信息化产品及信息化最佳实..

.mod_B_1{background:rgba(0, 0, 0, 0) url("//www.dqsheffield.com/bacohome/2015/cio..

    专家专栏
    李浩实现与PLM协同工作的三维零部件数据资源平..

    目前国内外不少企业和研究单位在建设完成以三维CAD、PDM系统为核心的产品研发平台建设后,将目光投向零部件数据资..

    AMT咨询浅析集团型企业的信息化商业价值

    国内管理咨询公司AMT信息化建设专家提出下几点关于集团型企业信息化商业价值“营销”推进的方式

    畅享
    首页
    返回
    顶部
    ×
      信息化规划
      IT总包
      供应商选型
      IT监理
      开发维护外包
      评估维权
    客服电话
    400-698-9918