基于OpenAdaptor数据适配器的设计与实现

来源 :东方青年·教师 | 被引量 : 0次 | 上传用户:kevinlynx
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要 数据集成是企业应用的最基本功能,OpenAdaptor是基于组件的框架结构,能够在异构的数据源之间构建数据适配器,快速实现异构数据源间的数据交换,为企业的业务集成奠定了基础,本文基于OpenAdaptor的结构,设计实现了能够实现数据抽取和转换功能的适配器。
  关键词:数据适配器 OpenAdaptor
  中图分类号:TP311 文献标识码:A
   一、引言
  企业的信息系统往往是各部门在不同的时间实现的多个不同的子系统,这些子系统往往没有遵守统一的数据定义,这给子系统间的数据交换带来很多困难,企业的信息系统形成各自为阵的“信息孤岛”,而现在市场竞争要求企业必须提高自身的业务整合能力,这就要求企业信息系统能够适应企业内部、甚至企业之间的快速的信息共享和业务整合。数据集成功能是满足这类应用的最基本的需求。OpenAdaptor是基于组件的数据适配器框架,能快速完成数据集成功能,具有组件化的优点和快速开发、易于定制的特点,本文基于OpenAdaptor结构,设计实现了具有数据抽取和转换功能的数据适配器。
   二、OpenAdaptor的原理
  异构数据源之间的数据迁移可以分为三个阶段:抽取,转换和加载[1]。OpenAdaptor将这三类功能组件化,sources内置组件读取源端数据并将其转化为公共数据表示,pipes内置组件完成数据过滤、加密、数据转换等,sinks内置组件完成数据加载,将公共数据转化为目的数据格式,将数据写入目的端。OpenAdaptor提供了支持多种标准的sources组件和sinks组件,包括文本文件类型,套接字,数据库,中间件,JMS等[2]。
   三、异构数据库间数据适配器的设计与实现
  关系数据库依然是现在数据存储的主流方式,下面以读取SQL Server数据库贷款表数据为例,分析适配器的设计,重点讲述数据抽取的设计与实现,此适配器最终将数据发布到JMS消息中间件。
  MSSqlSource读出SQL Server数据库数据,AliasePipeLine改变属性名和增加新的属性,JMSSink将消息发布到JMS和FileSink将消息写入XML文件,FileSink文件用于检验数据的正确性。
  此适配器的需求分析如下:适配器完成相应的数据集成服务(对应一个服务名),数据库表对应一个适配器服务名,读取出的数据库表数据需要转换为公共数据类型,由此对应一个公共数据类型名。
  为了能够访问不同的数据库表中的记录,需在数据库中设计新的对象,包括数据表BCG_Msg、字典表BCG_MsgType、BCG_MsgService和三个存储过程BCG_GetNextQueuedMsg、BCG_GetNextMsgInFull、BCG_SetMsgQueueStatus。
  三个表的说明如下:
  BCG_Msg:信息表,记录数据库表关键码的值和该库表对应的适配器服务号,公共数据类型号,消息状态等。消息状态分为“new”、 “pending”、 “sent”。
  BCG_MsgService:适配器服务表,该表记录适配器相关信息,与适配器配置文件里的服务器名一致。
  BCG_MsgType:消息类型表,记录消息类型名,即公共数据类型名,读取此消息的数据集所需的存储过程名。
  三个存储过程作用如下:
  BCG_GetNextQueuedMsg获取BCG_Msg中最近的“new”消息,
   BCG_SetMsgQueueStatus修改消息状态,BCG_GetNextMsgInFull起协调作用。
  MSSqlSource读取过程如图1所示:
  图1 MSSqlSource消息生成时序图
  MSSqlSource读取适配器配置文件里的服务名,从适配器服务表里对应的服务号MsgServiceId,根据MsgServiceId,调用BCG_GetNextMsgInFull,BCG_GetNextMsgInFull调用BCG_GetNextQueuedMsg,获得最早的状态为“new”的消息,调用BCG_SetMsgQueueStatus 将该消息状态修改为“pending”,BCG_GetNextMsgInFull根据消息类型号获得需调用的存储过程名sp_get_loan_deposit(读取贷款表记录),sp_get_loan_deposit根据传入的参数,执行查询,MSSqlSource根据返回的结果集和公共数据类型名生成公共数据,传入传输管道,待数据提交成功后调用BCG_SetMsgQueueStatus将消息状态改为“sent”。MSSqlSource定期重复以上过程。
  增加数据字典项:绑定贷款表与对应的适配器服务号和公共数据类型号
  insert BCG_MsgService (MsgServiceName, MsgServiceDesc)
  values ("Example", "Another Service")
  insert BCG_MsgType (MsgTypeName, MsgTypeDesc, MsgSprocName)
   values(‘GetLoanDeposit’,’Loanexample’, ‘sp_get_loan_deposit’)
  源端系统编写触发器,将新增贷款记录的主键值,数据字典表中服务ID和消息类型ID,当前时间,“new”状态写入BCG_Msg表。
   四 结论
  OpenAdaptor基于组件的数据集成适配器框架,只需编写很少的代码量就可以完成开发,使用OpenAdaptor适配器编程,可以满足任何两个系统之间的数据迁移,降低了复杂业务系统之间的数据集成的复杂性。本文介绍了异构数据库之间数据集成的设计和实现方法,具有较好的应用价值。
  参考文献:
  [1] 钟华, 冯文澜, 面向数据集成的ETL系统设计与实现 计算机科学,2004Vol.31NO.9:88-89
  [2] OpenAdaptor Progammer’s guide V1.7.2.2 July 2006
其他文献
写字是一项重要的语文基本功,是学习其他各门功课的基础.同时,也是素质教育的重要内容.然而多年来,由于应试教育的影响,许多学校普遍忽视写字教学,在对写字教学的认识、教学
[ 摘要 ] 电脑音乐软件与中小学音乐教学整合是当前中小学音乐教学改革发展的趋势,改变了传统的音乐课堂教学。电脑音乐软件与中小学音乐教学整合能提高教学效果,培养学生良好的音乐素质。本文结合教学,探索了电脑音乐软件与中小学音乐教学整合的途径。  [ 关键词 ]电脑音乐软件 音乐教学 整合  音乐是声音的艺术、听觉的艺术,近年来随着多媒体技术的迅速发展和普及,电脑音乐软件也迅速应用到了中小学校的音乐教
广播电视节目主持人的口语是如何生成的,与普通人相比其生成机制具有哪些特点,这些特点对节目主持人的一线实践和播音主持艺术专业教学带来哪些启示,是人们一直非常关心的问题.本文试图从心理语言学的角度对主持人口语①生成机制的一般特点略作探讨.
产品介绍  本产品采用欧美公认的环保材料制作而成,还具有驱蚊杀菌、净化空气,消除甲醛、去除异味、吸收房屋中对人体有害物质的功能。全新工艺制作出的多种高仿真花单枝、插花、盆景、蔬菜、水果等产品都可与从大自然采摘的新鲜产品媲美。从鲜艳自然多颜色、到质感可见的脉纹都极度像真,用手触摸它能让您感觉到花瓣的肥厚肉质感。由于采用从天然植物中提炼出的特质香料,并运用固香技术,使永久性发散真花一样的芬芳。近距离观
学位
毕业实习是中等职业学校教育教学的重要组成部分,是学生培养一个十分重要的实践性教学环节,是锻炼学生实践能力和创新精神的重要途径.为规范实习生日常管理,各校制订系统的实
  目的 观察早期干预对宫内感染致早产脑损伤仔鼠学习记忆能力及海马区GAP-43、BDNF表达的影响。   方法 1)模型制备与分组:给18只孕第17、18天的LPS组大鼠连续2天LPS (血
建设有中国特色的社会主义,必须大力发展社会主义市场经济。实践证明,发展社会主义市场经济更加有利于我国经济实力的发展壮大。但是,由于受市场经济的冲击,小学教师队伍中出现了一些不良现象,如拜金主义、享乐主义等。笔者作为青年教师,深感忧虑。那么,在社会主义市场经济条件下,作为小学教师,应该怎样来提高自己的道德修养呢?笔者作了一些思考,与教育界同仁们共勉。  第一,坚持党的教育方针,忠诚于党的教育事业。在
采用秸秆铺沟,这样可以增强土壤肥力,提升蔬菜产量和品质。秸秆生物反应堆技术是利用有效的秸秆生物群,在专用菌剂的作用下,促进秸秆很快发酵,释放速效养分,产生大量二氧化碳
内容摘要:实施美术学业多元化评价其目的是促进学生个性的形成,关注学生全面发展。美术新课程的评价机制侧重对学生学习的参与性、过程性、情感性,创造性等方面的评价,有效发挥评价的整体性、民主性、层次性、激励性、情感性等教育功能。帮助学生了解自己的学习能力和水平,积极提高他们学习美术的兴趣和能力,使每位学生向着多样化、个性化方向健康发展,为学生的终身学习奠定良好基础。  一、关注学生发展过程 注重形成性评