




已阅读5页,还剩53页未读, 继续免费阅读
(计算机科学与技术专业论文)异构数据集成中间件集成引擎设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
两北工业大学硕十学位论文摘要 摘要 数据集成解决了信息孤岛问题,然而在一个企业范围内设计实现一个大规模 分布式的数据集成中间件引擎存在诸多问题,如灵活集成遗留系统、提供高效可 靠的服务等。本文提出一种面向服务的事件驱动架构s o e d a ( s e r v i c eo r i 锄t e d e v e n t d r i v a r c l l i t e c t u r c ) 来实现数据集成中间件引擎,使之不但有较好的系统互 操作能力、敏捷性和集成能力;同时还能高效处理大吞吐量的数据集成服务,对 外部负载变化有较好的鲁棒性。 s o e d a 中,将数据集成应用被视作一系列带有事件队列的“服务单元”组成 的网络。服务单元是实现具体数据集成功能的组件,它们实现了标准的服务接口 并且向服务中心注册。只需要将所有外部企业资源都封装为服务单元加进系统, 就可以在不改变现有资源的情况下实现企业框架内的所有资源的敏捷集成。事件 队列的使用使得各个服务单元可以根据负载和资源情况独立地进行控制。 运用经典排队理论对s o e d a 数据集成中间件引擎进行了建模分析,将引擎建 模为一个负载感知的服务单元组成的开环网络,对请求队长、等待时间等进行了 形式化推导论证以确保系统的性能要求。建模运用了数理统计学、随机数学、形 式化建模理论等。s o 】! d a 软件遵循了面向服务的设计思想和大量的设计模式,实 现过程采用了大量的j a v a 技术,如j m x 、j b i 、j m s 等。 该数据集成中间件引擎在大量的理论指导下完成了模型建立和框架设计;同 时系统实现又遵循相关规范,采用了最新的软件开发技术,这些为该产品的成功 商业运营提供了保障,相信该产品肯定能获得预期的市场效益。 关键词:数据集成,排队论,s o e d a ,j b i 堕j ! 三些查堂堡主堂堡垒奎竺! ! 竺! a b s t r a c t d a t ai n t e g 枷o n l v 嚣t l l ep r o b l 锄o fh l f o 肌a t i o ni s l 卸也b u td e s i 嘶n g 吼d i m p l 锄d n gal a r g e 靶a l ed i s 砸b u t e dd a 纽i n t e g m t i o ni i l i d - w a i sn o ts 脚l c i tm 招 s o m ep r o b l 锄s ,叫c h 鹅i m e 鲫6 n gt l l el e g ys y s t 锄se 矗b c 6 v e l y ,h 觚d l i l l gt l l em 勰s i v e c o n c u r r e n c y 趾ds t a b i l i t y t i l i sd i s s a 枷o np r e s 伽临aw e l lf o r i 】口c da r c l l i t t l l r c ,s e r v i o r i e n t c de v e n td r i v a r c h i t e c t u r e ( s o e d a ) ,6 d a t ai n t e 掣a l i o nm i d 州a r e 髓g i n e t l l i s 砌i t e c 劬i m p m v e st l l ec o o p m t i 伽a b i l i 劬锄a m l 髓s ,觚d 劬铭r a t i 曲i l 时o f t h ea p p l i c a t i o ns y 咖脚na l s u p p o n sm 鹬s i v ec c u r 咖c yd a t ai n t c 伊a t i 瓣v i c e 锄d i t i s r o b u s t t o h u g e v a r i a t i i n l o a d ms o e d a ,l cd a 瞳ai l l t e g r a t i a p p l i c a l i o ni s 婀g a r d 鹪a 鹏魄甜ko f “s e r v i c e n o d e s w t l i c ha 托c o 咖e c t c db ye v e n tq u e u e s e r “c en o d ei sa r w a r ec o m p o n t w 抽c hs u p p l i e st h ec o n c r e t ed a t ai i l t c g o n 如t i o n s t h es e i c en o d 髓i m p l 锄e 眦怆 观m d a r d i c c 硼耐k e 觚d r e g i 船t o t l i e i c ec e m e l t h e o n l y t l l i n g y j l l s t d o i s t o 懈l p 佗u r c 铬o ft l l e 如t e i p r i s ei n t ot l 】峙s c r “c en o d e ,b u tn e e dn o tt om o d i 锣m 锄, a l i dl h 锄y c mc a ni n t e g m t ea l l 曲峙r c u r c 髓o f t h e 印t e i p r i s e 锄a n l yt of o mad a t a i n t e g m t i p l a :t f b n n u s i n go fm ee v c n tq u e u ee n a b l 船t l l ec o m l m l go ft h es e r v i c e d e c o r d i n gt 0t l i el o a d 趾d - e u r c o n d i t i o f t l l e 讹i l l t e g r a t i s y s 妇n ip r 骼c n tap c d o 玎n a n c em o d e l 如rt h ed a t ai 玎t c 酬o ne n g i n ei m p l 锄t o d a c c o r d i n gt os o e d a t h e 吼g i i sm o d e l e d 罄al o a d a w a 陀叩锄n 咖。嫩o fs e n ,i c e n o d e s b 鹪e d 彻q u e t l l 1 1 1 eq u e l 蜘g i h a n d t h e 础驴岫e t i m e o f t l l e g i a r c 锄n a l l y 孵u e d 璐蛔gt h cq u e u el h f ynm 苫u 酷n 塘ll h es o e d a j sd l i v ef o rm e m 勰s i ”n c u r f 锄c y 1 km o d e l i n gi n _ v o l v e sn 啪e f i c a ls t a t i s t i c ,m a t l l a b 叫t u 1 1 c t 眈l i i l 够f 。哪a h z a t i o nt h c o 哆s o 】王d af o n o w sn 圮i d c ao fn 峙s e r v i 耐e n t c d a r c l l i t e c t u r e 觚da d o p t sl o t so f d c s i g np a 埔e f 】啮u m 缸y j a v at c c t l i l i q u e st oi 玎l p l 锄e n t t l l e d a 诅i n t e g r a t i o nn l i d w 黜锄g i i l e ,跚c h 鹤j m x ,j b i ,托d 蹦sc t c o i l r 加i 劬 卿i n l i d - w a 地印百mi sm o d c l e d 锄dd 髓i 印c db 船e d m 硒s 鹤o f f o 咖a lt h c o f i e s ,锄di m p l 咖e n t c d c o r dt ot h e l a t c ds p i f i c a t i sa i l da d o p t i l l gm c n 雠ft 枷c a l s o ,ib e l i e v e 曲a tj th 鹊a9 0 0 dm a d 【醣p r o s p e c t k e yw b r d s :d a t ah n e 固洲o n ,q l l 即e1 1 l 睇s o e d a j b i 西北工业大学业 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻读学位期问论文丁作的 知识产权单位属于西:l t 工业大学。学校有权保留并向国家有关部fj 或机构送交论文的复印件 和电子版。本人允许论文被查阅和借阅。学校可阱将本学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同时本人 保证,毕业后结合学位论文研究课题再撰写的文章一律注明作者单位为西北工业人学。 保密论文待解密后适用本声明。 学位论文作者签名 日7 年j 月f 莎日 指导教师签名。j 兰三2 至,之 护7 年弓月2 县 西北工业大学 学位论文原创性声明 秉承学校严谨的学风和优良的科学道德,本人郑重声明:所早交的学位论文,是本 人在导师的指导下进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容 和致谢的地方外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果, 不包含本人或其他已申请学位或其他用途使用过的成果。对本文的研究做出重要贡献的 个人和集体,均已在文中以明确方式表明。 本人学位论文与资料若有不实,愿意承担一切相关的法律责任。 学位论文作者签名:趁鬃勿 d7 年3 月胪 西北工业大学硕士学位论文第1 章引言 1 1 论文背景 第1 章引言 今天,承载信息的数据驱动着切商业、军事以及政治活动。计算机技术已 经成功解决了数据的安全存储、数据的快速查询、数据可用性等多方面的问题, 然而如何将现存的以及新建的庞杂异构的数据资源整合为一个统一界面的、易于 用户使用的信息系统成为当今计算机界急需解决的问题之一。 由于历史的原因,数据形式多种多样。各行业、单位和部门只是根据自身的 具体业务和需求构建了许多相互独立的信息服务和管理系统;甚至在一个单位内 部所采用的信息化环境也可能不会固守任何一个平台,而是由不同平台组成。这 样随着时间的推移和技术的进步,这些由不同技术构建的信息系统就像一个个“信 息孤岛”,各自有不同的数据适应不同的需求,操作方法和客户端也不相同f 1 】。 从数据集成的角度来看,每个部门就是一个数据源;又因为他们之间的信息 和组织不一样,这样每个数据源又都是异构的,如此就构成了一个巨大而复杂的 异构数据环境。文献【2 1 说明了数据集成中涉及的异构性存在于三个层次上:第一 层是平台层:即不同的硬件,不同的操作系统和不同的通信协议;第二层是数据 库管理层:即具有不同数据模型和不同的数据库管理系统;第三层是语义层:即 模式和数据冲突。 由于部门之间协同合作的需要,在各个环节之间的数据交流以及集成共享的 问题也日益严重起来。然而现行的大多数应用程序是建立在这些分离的数据源基 础之上的,应用程序间难以实现互相的协同。这就严重地阻碍了人们对数据资源, 特别是异构数据库资源的共享。数据集成就是立足于解决上述问题,目标是实现 各个异构数据源之间的数据共享,从而有效地利用数据资源,为决策提供更全面 信息资源。然而,目前如何使这些异构的信息系统集成起来,却不是一件容易的 事情,这是因为:这些应用系统具有不同的硬件平台、操作系统、网络协议和数 据管理系统,它们之间往往存在着很大的异构性;这些应用系统来自不同的软件 供应商,它们的工作方式千差万别;随着业务数量和范围的扩展,需要新旧系统 协调的工作;企业自我发展完善过程中,还需要对系统不断的进行扩展和改进。 企业应用集成e a i ( e r i t e r p r i a p p l i c a t i h n c g r a t i ) 通过各种软硬件技术将 已有的和新建的业务系统集成起来,共同完成企业的各种商务活动,并能够灵活 快速地适应企业的发展和市场的变化。根据集成的方式不同,e a j 可以分为数据集 l 西北工业大学硕士学位论文第1 章引言 成、应用集成、组件集成、流程集成等多种模式。由于在当初开发各种业务系统 的时候,很少甚至没有考虑到将来的集成需求,所以大部分的遗留系统都是封闭 的,没有提供一种开放接口来实现与其它应用的集成。但是,大部分业务系统的 数据往往都存在于数据库或者是文件系统中,这些数据库和文件系统可以通过其 它的方式来进行访问。所以在目前的e a j 中,最实际和最简捷的方式就是基于数 据的应用集成。 数据集成是将不同数据源进行整合,并提供给用户一个访问这些数据的统一 数据视图,解决如下问题:提供数据的可靠传输,解决不同软硬件和网络环境中 系统的通信问题,实现信息孤岛之间的联通;解决数据的异地分布问题,实现数 据的集中和汇总;解决数据的异构性问题,使不同格式、不同数据管理系统中的 数据能够相互交流和转换;保持已有系统的自治性,在进行数据集成的同时不能 影响已有系统的正常运行;具有很好的可扩展性和适应性,能够适应企业应用需 求的不断变化。 目前数据集成的方案主要有:数据仓库【9 1 ,联邦数据库嘲,中间件【3 】数据仓 库和联邦数据库是比较成功的数据集成解决方案,然而这些解决方案不但复杂而 且是面向主题的【i l 。中问件方式有很大的优势【4 1 :充分利用现有企业资源;提供与 平台无关的系统集成方案:采用面向服务的编程方法,提供给用户一致的编程接 口;采用基于w e bs e n ,i c e 企业级解决方案等等。中间件的基本实现方案为一个层 次模型【5 】,它底层采用封装机制对底层数据源进行封装;中间层主要完成查询信息 的路由、缓存及其用户管理功能:上层提供终端用户访问的接口和与其他系统进 行集成的编程接口。我采用了更灵活的中间件来完成数据集成工作,细节和相关 工作会在后面的章节中描述。 1 2 主要数据集成方案 目前,主要的数据集成方案包括联邦数据库和数据仓库等,以下分别介绍这 两种集成方式的特点。 1 2 1 联邦数据库 早期的数据集成致力于构造多数据库系统,它是多个分布式数据库的集合, 这些组件数据库中存在某种形式的异构性且需要共享或交换数据。联邦数据库是 多数据库系统的一种特殊形式,它是多个互相协作的自治数据库的集合。根据组 织方式的不同,它分为紧耦合和松耦合的两种。在紧耦合的联邦数据库中,管理 2 西北 = 业大学硕士学位论文第1 章引言 和操作针对整个联邦,而在松耦合的联邦数据库中,组件数据库有某种程度的管 理独立性。组件数据库自治是联邦数据库的最大特征。自治有多方面的含义,包 括设计自治、通信自治和执行自治等。设计自治允许组件数据库的设计者在选择 数据模型和查询语言等方面有更多的自由。然而,自治与共享数据的需要是相矛 盾的,因此,在实现数据互操作的前提下,通常要牺牲某种自治性。现代数据库 系统成功的使用三层体系结构来分离数据库的物理实现和逻辑表示,然而对于联 邦数据库来说是不够的,通常使用五层体系结构来表示一个典型的联邦数据库系 统,如图1 1 所示。在这五层体系结构中,存在着本地模式、组件模式、导出模 式、联邦模式、外部模式等五种数据模式,通过在五种模式问转换查询来实现数 据的互操作。 嗲甲、 一害釜笔一 举申 $ 囱龠 1 2 2 数据仓库 图1 1 联邦数据库的五层体系结构 数据仓库从功能上来说,超越了数据集成的研究范围。建立数据仓库的目的, 通常是在企业应用环境中,对一系列分布的数据源进行收集、整理和集成,然后 把合格的数据集中存储。之后,可能进行某些聚集操作或联机分析处理。典型的 数据仓库应用如图1 2 所示。由于在构建数据仓库时,数据处理大多数是应用相 关的,且数据量非常庞大,通常使用特殊的技术来实现数据的聚集,如多维数据 库和数据方体等。通常采用积极和懒惰的两种数据更新策略,前者指组件数据库 一旦有数据变化,即更新其实视图的数据,而后者只有在使用数据时才查询变化。 适配器和仲裁器体系结构是数据集成的一种主要模式,主要思想是为每个数据源 3 两北t 业大学硕士学 7 = 论文第1 章引言 提供一个适配器,通过它与统一的仲裁器协作完成数据集成,而仲裁器则以标准 形式提供全局事务处理及数据访问的方法。该集成方式通过定义全局模式与各本 地模式的映射来提供数据互操作,但是通常不能定义算法来解决数据冲突 1 2 3 存在的问题 图1 - 2 数据仓库模型 联邦数据库和数据仓库的应用成功解决了许多数据集成问题,然而也使许多 用户望而却步,主要是: 1 数据集成是面向主题的;在进行集成工作之前,各数据源的本地模式是已 知的,数据集成的目标是明确的,构建导出模式或建立包装器是局限于已知应用, 由于主题的多样性,必然丧失了灵活性与适应性。 2 全局模式难以建立:在联邦数据库中,由于本地设计自治的需要,导出模 式差异较大,要建立与各种导出模式相协调的联邦模式比较困难。对于适配器和 仲裁器模式的数据集成,有些系统甚至不能提供全局模式,转而依赖于匹配算法 等方式来进行模式集成。 3 数据集成是重量级的:联邦数据库和数据仓库一般面向大型应用,在数据 集成工作之后还要进行分析处理等工作,其集成模式并不适用于部分简单应用。 因此,我考虑提供一种轻量级的数据集成中间件,利用它能灵活地完成绝大 部分的数据集成工作。总之,无论是哪种实现方法,它们共同的一点就是要使其 中的组件数据库保持自治性,即其局部定义、局部应用及与其他数据库交换数据 的局部策略都能保持不变。 4 西北丁业大学硕士学位论文第1 章引言 1 3 研究方向和取得的成果 基于中间件的数据集成是一种比较新颖的数据集成解决方案,它支持虚拟视 图或视图集合。这种集成方式与数据仓库中物化关系集成数据源的方式相似,但 它并不存储任何实际数据。中间件作用是在用户提交了一个查询以后,将用户查 询翻译成一个或多个对数据源的查询。然后将数据源的查询结果进行综合处理, 并将之返回给用户【1 0 】。 数据集成致力于解决异构系统中数据集成的问题,这必然涉及到对现有的异 构平台系统的集成,当前比较流行且有效的解决方案是面向服务的架构s o a ( s e n ,i c eo r i 锄t e d 觚1 1 i t e c t u ) 。文献【1 1 】说明了s 0 a 能更好地组织管理r r 系统 和业务平台,可以在现有软件系统的基础上构建新的系统以保护投资等。同时, 数据集成平台软件必须能够提供高吞吐率,文献【1 2 】提出一种事件驱动的软件架构 s e d a ( s t a g e d e v e m d r i v m i t c c t u r e ) ,该架构能够支持高并发访问,同时能简 化软件系统的构造。 总之,本文提出的数据集成平台系统采用中问件架构,采用s o a 和s e d a 的 设计思想,遵循业界流行的规范和技术标准,从而设计实现一个高可靠、高性能 的异构数据集成平台。基于应用层面的数据集成的需求,需要设计开发的平台软 件包括:适配器、数据操作单元、集成引擎、基于g u i 的数据集成应用设计界面, 如图l - 3 。其中,适配器将外部数据源接入数据集成引擎;数据操作单元对数据提 供各种操作功能;集成引擎将数据操作单元以及适配器连接起来,并且能在它们 之间传输格式化的消息,以实现数据操作单元以及适配器之间的互操作;基于g u 的数据集成应用设计界面使用可视化的方式将系统的多个数据操作单元以及适配 器组合成一个数据集成流程。 图l 一3 数据集成平台结构 本篇论文的主要任务是:设计实现一个支持高并发度、负载感知以及能够进 行动态资源调控的数据集成引擎,该平台采用采用面向服务的软件架构。本论文 5 西北工业大学硕十学位论文第1 章引言 主要涉及以下几个方面: 1 s o a s o a 是一种定义和提供r r 基础设施的方式,它允许不同应用相互交换数据、 参与业务流程,无论它们背后采用了何种操作系统和何种编程语言【1 3 】。数据集成 引擎采用面向服务的架构进行设计,将实现具体的数据集成功能模块设计为该数 据集成引擎的插件以服务提供者或者服务消费者的方式插入到该引擎中。该架构 还有助于集成遗留系统,给遗留系统实现一个标准接口以插入到该引擎中。 2 s e d a 软件框架设计 我工作的重点是研究s e d a 体系架构,这个架构比较适合在面向服务的软件 设计中将复杂的服务分割成一个由事件驱动的一系列的带有消息缓冲队列的服务 单元组成的网络。本文对并发、负载管理相关的方法做了一些比较详细的观察, 提出s e d a 方法可以作为面向服务软件架构的通用设计模式。同时,提出一些相 关的设计模式来将通常的服务映射到s e d a 系统中以获得高性能、好鲁棒性和代 码模块性高的优点。 我认为一个数据集成平台的应该具有s o a 和s e d a 两者的优点,因此提出一 种面向服务的事件驱动架构s o e d a ( s e n ,i c eo r i t c de v e md r i v m 曲i t c c t i 矾) 来设计实现数据集成平台,使得平台既能很好地集成企业遗留系统又具有很好的 性能。 3 基于经典排队理论的s o e d a 软件系统性能评估 将s 0 e d a 软件系统建模为一个负载感知的排队系统,并运用经典排队理论对 该模型的请求负载、等待时间、请求队列长度等性能参数作了形式化的推导分析。 这个模型可以用来帮助系统设计师理解现实中影响s o e d a 平台性能诸多因素。 4 s v n c h r o e s b 平台 使用j a v a 构建一个s o e d a 的异构数据集成平台软件s y n c h r o e s b 。该平台采 用s o e d a 体系结构。参照j s r 2 0 8 标准实现一个完全符合标准的面向服务架构的 业务集成平台软件,致力于解决异构数据集成的需求。s y n a 抛e s b 着力隐藏应用 开发过程中的底层通信平台、线程分配调度、资源管理等方面的细节问题,而使 得用户只关注他自己的应用逻辑。s y l l c h r o e s b 还针对不同的场景开发了相关的应 用层软件一适配器,以供用户方便快捷地基于s y i l c h r o e s b 开发自己的应用。 5 给上层的数据集成应用定义出接口 为了便于将上层数据集成应用以组件的形式插入到运行时系统,运行时系统 给上层的应用层组件提出了需要实现的接口,从而实现了一个运行时系统加一个 可插拔的组件集合构成的数据集成中间件平台。 6 西北工业大学硕士学位论文第1 章引言 6 反馈控制理论在软件系统中的应用 研究如何将控制理论成功应用到一个软件系统中,初步研究经典控制理论对 软件系统健壮性、稳定性和鲁棒性的作用。这一部分并没有在s y n c h r o e s b 系统进 行实现,仅仅是基于我以前的经验作了一些直觉上的分析。 主要工作集中在第1 、2 、3 、4 部分,这些部分工作具体包括:设计出满足s o e d a 的数据集成平台;对系统的性能控制以及差错控制提出相关建议;定义出一套系 统的性能参数的评测标准:最后还要实现该数据集成平台以及开发一些简单的数 据集成应用。 1 5 论文结构 第二章提出该论文的相关研究背景,比较深入的了解数据集成的研究现状, 介绍继面向对象之后软件设计框架中比较流行的s 0 a ,同时介绍分布式应用中的 核心部件消息中间件平台。最后提出该论文设计的数据集成中间件引擎架构。第 三章提出一种比较适合在大规模面向服务架构数据集成系统软件的设计方法 s o e d a 和适用于s o e d a 的一些设计模式以及一些性能改进策略。第四章利用数 学理论对s o e d a 系统的多个性能参数进行比较粗略的理论分析,对经典排队理论 模型进行了简单的扩充使之能够更好地建模s o e d a 系统。第五章给出一个符合 s 0 e d a 的数据集成平台的实现s y n a 啪e s b ,在本章中对该系统的软件架构,设 计实现细节等进行深入详细的介绍。第六章对本篇论文进行总结,同时提出一些 该数据集成平台的实用价值。 7 西北下业大学硕+ 学位论文第2 章面向服务的数据集成中间件引擎关键技术 第2 章面向服务的数据集成中间件引擎关键技术 2 1 数据集成 2 1 1 数据集成概念 数据集成系统提供一个统一模式来访问异构的、自治的数据源。存在两种基 本的经典数据集成方案:一种是基于全局视图方法,该方法定义全局模式中的元 素为源数据的视图;另一种是基于局部视图方法,将源数据描述为全局模式的视 图。众所周知,在后一种方法中处理查询请求是根据不完备的信息,因此,是比 较困难的;然而,在前一种方法种处理处理查询是比较简单的。 2 1 2 数据集成和中间件平台结合 将异构数据源集成系统设计成一种中间件的形式,使数据集成与中间件相结 合,主要是因为这种结合有以下优点: 1 可伸缩性:数据集成系统必须建立在灵活可伸缩的基础之上,使不断扩展 的企业数据应用能够植根在易于生长的环境中,使产生于不同时期的数据能够整 合成一个有机的整体,而中间件正好提供了这样一种基础环境。 2 互操作性:中间件通过一套简单的a p i 或通用界面将应用程序与底层环境 分离开来,实现不同硬件平台,不同操作系统平台之间的互操作性。这也解决了 数据集成中的系统异构问题。可以说中间件的互操作能力为企业数据集成提供了 一种经济而有效的手段。 3 适应性:中间件使异构数据集成系统能够适应业务需求的不断变化,在产 生增加或减少客户机、应用程序、服务器结点等环境变化时,能对整个系统的影 响减至最小。 4 易开发:中间件提供了构造数据应用的基础构件,为开发人员屏蔽了直接 接触底层环境所要面对的复杂性,使开发人员专注于业务流程的实现上,从而使 数据集成的相关应用开发工作简便易行。 5 经济性:中间件可以为不同的应用提供标准的基础结构,使企业避免了为 多个应用反复编写底层程序的重复劳动,使应用开发的人力投入大幅度减低。同 时,中间件的应用集成能力使原有数据应用的开发投资得到保护。 6 高效性:中间件作为标准的基础构件,产品化要求是自身处于持续的不断 8 西北工业大学硕士学位论文第2 章面向服务的数据集成中间件引擎关键技术 优化之中,从而使居于上层的数据应用能够获得一种有质量的运行环境,满足数 据集成在处理效率上的需求。 7 易使用性:中间件支持多种开发工具和语言,实现了数据集成开发环境的 平台无关性。 总之,中间件这样一种形式比较灵活,可以很方便地应用于各种异构平台的 系统中;同时他又能够屏蔽应用底层的传输协议、系统结构、操作系统和其他应 用服务的差异,是解决异构数据集成的一种比较好的方案。 2 3 3 数据集成中间件框架 在应用系统中,数据通常位于系统的中心位置,各种应用软件都围绕着数据 来展开。而且涉及多数据源的应用系统还有这样一个特点,即整个应用系统开发 都是围绕行业或行业局部的企业数据进行的,这些数据在特定领域内具有相对一 致性的特点。因此,如图2 1 所示,可以通过数据集成中间件在系统业务逻辑和数 据源之间建立一个中间层,对上层服务屏蔽各种数据源的差异。中间件向服务层 提供一致的数据视图,完成从实际数据源到用户数据视图的转换,并在中间充当 数据总线。在数据中心和应用层之间添加一个中间层,该中间层的主要作用是将 数据和应用客户端分割开来,同时该中间层遵循业界比较流行的一些中间件标准 这样就使得应用层能够跨平台。接口的作用是给应用层提供一个标准的接口,使 得应用层软件能够插到该数据集成中间件中。 图2 1 数据集成中间件框架 2 2 面向服务的架构 2 2 1 面向服务的设计思想 s o a 是一种设计方式,它指导着业务服务在其生命周期中包括创建和使用的 方方面面。s o a 也是一种定义和提供玎基础设施的方式,它允许不同应用相互交 9 西北工业大学硕十学位论文第2 章面向服务的数据集成中间件引擎关键技术 换数据、参与业务流程,无论它们背后采用了何种操作系统和何种编程语言。 s o a 被看作一种构建i t 系统的方案,它将业务服务作为协调r r 系统与业务 需求的关键组织原则。相反早期的h 系统的方案大多是直接使用特定的实现环境 来处理这些业务问题,结果造成r r 系统依赖于具体执行环境的特性和功能。 理解服务定义的“粒度”很重要。一般来说,服务都会定义粗粒度的接口。 相对于对象的调用来说,对服务的单次调用会接受更多的数据,消耗更多的计算 资源,因为它需要进行到执行环境的映射和x m l 处理等工作,而且对服务的访问 一般都是远程的。当然对象接口也可以是粗粒度的,关键在于服务是用来解决应 用之间的互操作问题以及用于组合新应用或应用系统,而不是应用创建具体的业 务逻辑。 开发服务和开发对象不同,一个服务是由它与其他服务交换的消息而不是由 一个方法来定义。服务定义所在的抽象层必须比对象定义所在的抽象层次要高, 因为这样可以将服务的定义映射到某种面向过程的语言、消息队列系统或者面向 对象系统上。 服务的执行即根据服务所支持的一种或多种消息交换模式进行消息交换,可 用的消息交换模式有“请求响应”、“单向异步”等。 用服务来设计、开发和部署应用,需要思考方式上的重大转变。帮助完成这 一转变的一个方法是将r r 部分的职责分为两个部分【1 3 l : 创建服务:处理部署服务所涉及的下层技术的复杂性,并确保服务的描述和 服务消费者需要的相一致,而且双方共享着应有的数据。 使用服务:组装新的合成应用与业务流程,确保共享数据及流程流能够准确 反映业务的运营和战略需求。 2 2 2s o a 的优点 软件厂商已经广泛介绍了“采用w 曲服务进行面向服务开发”这一模式。面向 服务开发是之前面向对象、面向过程、面向消息以及面向数据库开发方法的补充。 面向服务开发有软件系统高度重用、开发效率高、与技术的松耦合以及开发人员 的职责划分清晰等优点【1 3 1 。 2 3 企业服务总线 s o a 的核心是企业服务总线e s b ( e n t e r p r i s es e n ,i c eb l l s ) ,e s b 是一个基于 标准的、面向消息的、高度分布的、具有智能路由的系统整合平台。e s b 是广义 l o 西北工业大学硕十学 寺论文 第2 章面向服务的数据集成中间件引擎关键技术 企业实现面向服务整合的关键。 1 e s b 架构 e s b 的概念是从s o a 发展而来的。s o a 描述了一种r r 基础设施的应用集成 模型,其中的软构件集是以一种定义清晰的层次化结构相互耦合。一个e s b 是一 个预先组装的s o a 实现,它包含了实现s o a 分层目标所必需的基础功能部件。 2 e s b 的应用特征 大规模分布式的企业应用需要相对简单而实用的中间件技术来简化和统一越 来越复杂繁琐的企业级信息系统平台。s o a 是能够将应用程序的不同功能单元通 过业务之间定义良好的接口和契约联系起来。s o a 使用户可以不受限制地重复使 用软件把各种资源互连起来,只要r r 人员选用标准接口包装旧的应用程序、把新 的应用程序构建成服务,那么其他应用系统就可以很方便的使用这些功能服务。 e s b 支持s o a 的消息传递架构,是传统中间件技术与讧l 、w 曲服务等技 术相互结合的产物,用于实现企业应用不同消息和信息的准确、高效和安全传递。 e s b 的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决 方案,同时它还可以消除不同应用之间的技术差异让不同的应用服务协调运作, 实现不同服务之间的通信与整合。 3 e s b 应用领域 电信领域:e s b 能够全方位支持电信行业0 s s 的应用整合概念,是理想的电 信级应用软件承载平台 电力领域:e s b 能够全方位支持电力行业e m s 的数据整合概念,是理想的 s c a d a 系统数据交换平台。 金融领域:e s b 能够全方位支持银行企业间业务处理平台的流程整合概念, 是理想的b 2 b 交易支撑平台。 电子政务:e s b 能够全方位支持电子政务应用软件业务基础平台、信息共享 交换平台、决策分析支撑平台和政务门户平台。 2 3 4 e s b 的结构和功能, e s b 提供了一种开放的、基于标准的消息机制,通过简单的标准适配器和接 口来完成粗粒度应用( 服务) 和其他组件之间的互操作,能够满足大型异构企业环境 的集成需求。它可以在不改变现有基础结构的情况下让几代技术实现互操作。通 过使用e s b ,可以在几乎不更改代码的情况下,以种无缝的非侵入方式使企业 已有的系统具有全新的服务接口,并能够在部署环境中支持任何标准。更重要的 是充当“缓冲器”的e s b ( 负责在诸多服务之间转换业务逻辑和数据格式) 与服务逻 1 1 西北t 业大学硕十学位论文第2 章面向服务的数据集成中间件引擎荚键技术 辑相分离从而使得不同的应用程序可以同时使用同一服务,用不着在应用程序或 者数据发生变化时改动服务代码【1 6 1 。 2 4j a v a 业务集成 2 0 0 5 年,j a v a 业务集成规范j b i ( j a v ab i l s i n c s si n t e 鲫t i o n ) 1 o 版本正式发布, 这是一个实现e s b 的参考规范【l ”。它对遵循j b i 规范的系统架构,标准消息路由, 系统管理以及j b i 组件支撑框架作了详细的描述和界定。特别是对外部应用和j b i 框架的接口层进行了详细的定义。如图2 2 ,引用至参考文献 1 7 】,j b i 系统包含两 个主要部分,j b i 运行时环境和以组件形式加入运行时的外部应用。j b i 定义了一 种允许通过插入组件的方式来构成一个集成系统软件架构。该组件框架为组件提 供可插拔的接口来实现其与j b i 环境的通信,有两种组件接口s p i 和a p i :s p i 是 由框架定义同时需要由组件实现的接口:a p i 是由框架实现的向组件公开并提供服 务的接口。本论文中的外部应用除特殊说明外都是数据集成应用。 2 4 1j b i 系统架构 图2 2 基于插件的j b i 系统结构 1 j b i 系统框架图 如图2 3 ,j b i 系统框架提供了一个供组件驻留的旧i 环境,该环境提供了一 系列的服务来简化被提供服务的执行、组件之间的交互、同时管理j b i 环境和安装 组件构成的整个j b i 环境。由j b i1 o 规范定义,一个j b i 环境由组件框架、服务 引擎、标准消息路由器以及控制整个j b i 系统的基于j m x 的管理部件构成。j m x 控制工具是对管理部件的扩展,以提供更为强大的管理功能,如g u i 管理器。 以下对图2 3 中的一些概念加以解释,同时涉及到其它一些j b i 规范中所使用 定义或术语: 绑定组件b c ( b i n d i l l gc o m p c i l t ) :提供到远程服务提供者或者消费的连接。 绑定组件提供对远程应用的集成,这些应用不必基于j a v a 。绑定组件能够理解特 定的协议并能够将其转化为一种标准或常见的系统级协议的软件组件。它们用作 1 2 西北工业大学硕士学位论文第2 章面向服务的数据集成中间件引擎关键技术 系统的入口点和出口点,也称为适配器。 图2 - 3m i 系统结构图 服务引擎s e ( s e i c ce 1 1 9 i ) :提供业务逻辑、转换等服务,或者这些服务 的消费者。这些服务集成基于j a v a 的应用,负责处理具体请求的软件组件,例如, x s l t 转换程序、b p e l 引擎、规则引擎等等。 标准消息路由器m 积( n o 皿a l i z e dm e s s a g er o u t e r ) :在j b i 规范中,标准消 息路由器是一个抽象的概念,没有一个具体的程序或者程序的集合与之对应,它 主要实现了服务注册、服务查找以及标准消息n m ( n o 咖a l i z e dm e s 鼢g c ) 根据某 种路由策略在服务提供者以及服务消费者之间的交换。 消息交换m e ( m e 船a g ee x c h 柚g e ) :n m 的一次动态交换过程被成为m e ,其 中还有消息交换协议的含义即n m 使用哪一种语义进行消息交换,常见的交换语 义有i n 鲫l y 、i i l - o u t 等等。 组建安装:静态或动态地向运行时环境添加可执行的软件组件。 服务部署:静态或动态地向已安装的组件添加可执行的服务。 2 系统要求 j b i 规范对一个j b i 系统有如下的系统级的要求:j b i 存在一个m 中,外部 服务通过b c 加进来;s e 和b c 通过j b i 的核心n m r 联系起来;消费者使用w s d l 服务名或者端点地址两种方式来确定一个服务;提供者使用w s d l 发布一个服务 ( 即一些端点) 西北工业大学硕士学位论文第2 章面向服务的数据集成中间件引擎关键技术 2 4 2j b i 中的标准消息路由 j b i 提供了一个插件运行的环境,该环境通过基于消息的服务调用的方式提供 了组件之间交互操作,基于消息的服务调用采用标准的w 曲服务描述语言w s d l , 这为组件可以消费或者提供的服务提供了一种一致稳定的服务描述模型。m i 中的 标准消息路由器的主要功能足依据一定的策略在服务提供者和服务消费者之间传 递标准消息,服务提供者和服务消费者在此都是腰i 环境中的组件。 1 基于w s d l 的消息模型 j b i 使用w s d l1 1 2 0 描述系统中的服务,w s d l 中基于消息的服务分为抽 象服务和具体服务两个层次【1 8 j 。抽象服务模型使用抽象的消息模型,不假设特定 的通信协议。抽象服务模型的定义包括抽象消息类型、抽象操作、抽象服务类型、 接口名字、接口扩展等。具体服务模型是在抽象服务模型的基础上,提供绑定到 特定协议和通信终端的细节。w s d l 中具体服务建立于抽象服务之上,提供抽象 服务与特定通信协议和通信终端之间的映射,具体服务定义绑定类型、端点、服 务。j b i 主要使用抽象服务模型,在这种交互中组件分为服务提供者和消费者两种。 2 标准消息 在j b i 中的,组件之间传输的消息都是标准消息n m ( n 咖a l i z e dm e s 鼢g e ) , 它包含有效载荷、消息属性、附加消息等三个部分。 3 m e m e 是服务提供者和服务消费者之间交互的消息实体,通过该m e 实现j b i 环 境中组件之间的互操作,一个消息交换是n m 的动态交互过程,其中包含消息路 由以及附加策略( 如q o s 、安全、事务等) 实施需要的全部信息。 4 标准消息路由过程 用一个例子来说明标准消息的路由过程,该例子的应用场景为“外部的服务 消费者”需要访问j b i 环境中的一个服务时发生的消息交换全过程。j b i 最基本的 功能是在组件之间路由标准消息从而实现组件之间的互操作,如图2 4 描述了基于 标准消息路由过程,具体过程如下: 1 ) 消费者产生一个消息交换( 其中包含元素据用于描述需要的服务和操作) 并交给与之相连的b c 。 2 ) b c 通过传输通道将消息发送到标准消息路由器( n m r ) ,其中传输通道是 b c s e 与n m r 通信的一个双向通道,必须支持多进程并发使用。 3 ) 由标准消息路由器根据消息中的元素据找到相应的端点。 4 ) 将消息发送给指定端点连接的传输通道,消息被主动发送到端点或者被动 1 4 西北丁业大学硕士学位论文第2 章面向服务的数据集成中问件引擎关键技术 地等待端点来取,此处的端点是服务提供者。 :盘舞,0 乒。群 i i 未:墨垮瞄! 醐萑陋 匿j 型露蠢 己一一羔熏黧塑上。k 上;墨妻篡篓羹j 2 4 3 对j b i 系统的管理 图2 _ 4 标准消息路由过程 j b i 规范规定通过j m x 实现对j b i 系统以及其中组件的管理,如图2 3 ,定义 了对j b i 环境及环境中的组件的管理接口,该管理接口以m b e 柚的方式提供,同 时还需要支持a n t 脚本任务,j b i 标准规定的主要管理任务有:s e 和b c 的安装、 组件的生命周期管理、组件工件部署、监视和控制、扩展管理服务。以上概念基 本比较清楚,其中“部署”在旭i 规范中有比较深刻的含义,在j b i 中组件类似于 “容器”的概念,可以向容器中部署工件以实现组件特定的功能,其中分为单元服务 部署和组合服务部署。单元服务部署是指该包中包含定义服务提供和消费者的j b i 描述文件和二进制实现文件。组合服务部署即通过这种方式可以组合现有服务组 合为一个新的服务,包含描述其所包含的各个单元服务的描述文件和组合服务的 描述元素据两个部分,这两个部分描述单元服务提供和需要消费的静态服务、单 元服务提供的静态服务连接。 2 5 数据集成中间件引擎系统架构 数据集成中间件引擎方案是基于j b i 和消息中间件构建的e s b 来实现的。该 中间件引擎对j b i1 o 规范进行了扩充,突破了该规范定义的个j b i 系统需要在 一个m 中的束缚,通过引进消息中间件这样一个底层的消息平台,将多个符合 j b i1 o 标准的j b i 系统无缝集成为一个分布式的j b i 系统,使得给应用层公开的编 程接口完全与j b i1 o 兼容同时能够实现大规模的分布式e s b 系统。 在研究当前数据集成方案、面向服务的软件设计思想、e s b 以及j b i 的过程 中,设想出的数据集成中间件引擎的系统架构如图2 5 所示。该架构中将各个独立 1 5 西北工业大学硕士学位论文第2 章面向服务的数据集成中间件引擎关键技术 的符合j b i1 o 规范的系统通过底层的消息中间件平台连接起来从而实现一个分布 式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家庭冲突干预模式探索-洞察及研究
- 2026届浙江省宁波市宁波十校化学高三第一学期期中监测模拟试题含解析
- 2026届广西玉林市北流实验中学化学高一第一学期期中考试试题含解析
- 基于大数据的智能交通信号灯优化算法研究-洞察及研究
- 骨裂致残风险因素-洞察及研究
- 规模经营效率评价-洞察及研究
- 2026届山东省枣庄三中化学高三第一学期期末考试模拟试题含解析
- 自动化check-in和check-out流程-洞察及研究
- 热液成矿生物标记-洞察及研究
- 2025年学历类自考专业(法律)合同法-国际私法参考题库含答案解析(5套试卷)
- 2025年幼儿园膳食工作计划
- 茶与健康养生课程课件
- 2025车位包销合同
- 心绞痛健康宣教课件
- 自然保护区巡护监测员技能测试题库及答案
- 胃肠减压技术及并发症
- 客服试题及答案
- 2025年山东省中考道德与法治试卷真题及答案详解(精校打印版)
- 资料员证考试题目及答案
- 2025年荧光内窥镜市场调研报告
- 教师培训安全课件
评论
0/150
提交评论