(计算机应用技术专业论文)基于soa的数据库中间件的研究与设计.pdf_第1页
(计算机应用技术专业论文)基于soa的数据库中间件的研究与设计.pdf_第2页
(计算机应用技术专业论文)基于soa的数据库中间件的研究与设计.pdf_第3页
(计算机应用技术专业论文)基于soa的数据库中间件的研究与设计.pdf_第4页
(计算机应用技术专业论文)基于soa的数据库中间件的研究与设计.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机应用技术专业论文)基于soa的数据库中间件的研究与设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于s o a 的数据库中间件的研究与设计 摘要 基于s o a 的数据库中间件的研究与设计 摘要 随着信息化建设的迅速发展,越来越多的应用需要访问到多种异构数据源。在众 多的异构数据的集成方案中,数据库中间件由于具有易扩展、访问透明、使用简单等 优点,被广泛使用。 然而传统数据库中间件的紧耦合应用模式使得中间件独立性差,部署与使用较为 困难,难以用于信息系统的集成。如何构建一个敏捷的、通用的、可扩展的、低成本 的数据库中间件,使之能将各个异构应用系统集成在一起,共享应用逻辑和数据资源, 是当前数据库中间件领域研究的一个重要方向。本文根据s o a 的相关理论基础,对 数据库中间件做了以下研究工作: 1 ) 分析了当前异构系统集成存在的问题,以及现有的解决这些问题的常用方法, 在此基础上,把面向服务的体系结构( s e r v i c e o r i e n t e da r c h i t e c t u r e ,s o a ) 引入到数据 库中间件的设计中,提出了一种基于s o a 的数据库中间件( s o ab a s e dd a t a b a s e m i d d l e w a r e ,s d m ) 体系结构,给出了这种体系结构下的各服务的接口和层次模型, 介绍了系统的整体流程。 2 ) 设计了一套基于u d d i 的数据服务管理方法,以数据服务作为一种共享数据 资源的方法,将每一数据源看作一项服务,在面向服务的软件体系架构中与其它应用 软件进行交互,实现信息资源的互联、互通、互操作,并扩展了u d d i 的查询功能。 3 ) 基于公共数据模型( x s d m ) ,设计了数据库中间件各阶段交流数据信息的统 一的方法和标准,使得数据库中间件中的数据以统一的方式被理解和转换,从而有效 地共享数据。 4 ) 结合数字化校园建设中的一个实例,对s d m 的应用和实施作了相关介绍。 通过对s o a 架构在数据库中间件中应用的研究,以及示范系统的实现,课题的 研究对信息系统的集成提供了参考价值,具有一定的现实意义。 关键字:中间件、异构数据集成、s o a 、w e b 服务 作者:姚友文 导师:杨季文 a b s 仃a c tr e s e a r c ha n dd e s i g no nd a t a b a s em i d d l e w a r eb a s eo i ls o a r e s e a r c ha n dd e s i g no nd a t a b a s em i d d l e w a r eb a s eo ns o a a b s t r a c t w i t ht h er a p i dg r o w t ho fi n f o r m a t i o n ,m o r ea n dm o r ea p p l i c a t i o n sr e q u i r ea c c e s st oa v a r i e t yo fh e t e r o g e n e o u sd a t as o u r c e s d a t a b a s em i d d l e w a r e ( d b m ) p r o v i d ea m o u n to f t e c h n i c a ls u p p o r tt os o l v et h e s ep r o b l e m s h o w e v e r , d b mi sat r a d i t i o n a lt i g h t l yc o u p l e da p p l i c a t i o nm o d e l t h ei n f o r m a t i o n s y s t e m sa r ed e s i g n e dr a t h e rt h a ns t a r t i n gf r o ms c r a t c h ,b u tb a s e do nt h eo r i g i n a ll e g a c y d a t as o u r c es y s t e m so nh o wt oi n t e g r a t et h e s ea p p l i c a t i o n st o g e t h e r h o wt ob u i l da na g i l e , g e n e r a l - p u r p o s e ,s c a l a b l e ,c o s t e f f e c t i v ed b mw i l lb eac h a l l e n g e s ot h a td i s t r i b u t e d s o f t w a r ed e v e l o p m e n ti nv a r i o u sh e t e r o g e n e o u s a p p l i c a t i o ns y s t e m sw i l lb ei n t e g r a t e da n d t h e yc a nb es h a r e db e t w e e nt h ea p p l i c a t i o nl o g i ca n dd a t ar e s o u r c e s i nt h i sp a p e r , d b m b a s e do nt h e o r e t i c a lf o u n d a t i o no fs o ai st h em a i nr e s e a r c hw o r ka sf o l l o w s : 1 ) t h i sp a p e ra n a l y z e st h ee x i s t e n c ei s s u e so fh e t e r o g e n e o u ss y s t e mi n t e g r a t i o n , i n t r o d u c e san u m b e ro fe x i s t i n gh e t e r o g e n e o u ss y s t e m si n t e g r a t i o ns o l u t i o n st ot h i s p r o b l e m s e r v i c e o r i e n t e da r c h i t e c t u r e ( s o a ) i si n t r o d u c e di nt h ed e s i g no fd b m t h e na s o a b a s e dm i d d l e w a r ea r c h i t e c t u r eo ft h ed a t a b a s e( s d m )i sp r o p o s e d t h ei n t e r f a c e a n dh i e r a r c h i c a lm o d e lu n d e rs d mi sg i v e n a n dt h em a i np r o c e s si si n t o d u c e d 2 ) d a t as e r v i c ei st h ec o r em e c h a n i s mi ns d m au d d i b a s e dm a n a g e m e n to fd a t a s e r v i c e si sd e s i g n e da saw a yt os h a r ed a t ar e s o u r c e s a c c o r d i n gt ot h er e q u i r e m e n to fd a t a s e r v i c e ,s o m ed e s c r i p t i o n sa n dd e f i n i t i o n sa r ed e s i g n e da n di m p l e m e n t e d ;a p p l i c a t i o n p r o g r a m m i n gi n t e r f a c eo fu d d ii se x t e n d e d 1 1 1 es t r u c t u r eo ft h ep r o p o s e dm e c h a n i s m f r a m e w o r ka n di t sa d v a n t a g e si nm a n a g i n gd a t as e r v i c e si sd e s c r i b e da sw e l l 3 1i no r d e rt os h a r i n gd a t a , t h ed a t am u s tb eu n i f i e dt ob eu n d e r s t a n d e da n d t r a n s f o r m e di nd a t a b a s em i d d l e w a r e t h ep u b l i cd a t am o d e l ( x s d m li sa p p l i e di nt h i s w o r kt os t a n d a r d i z et h eh e t e r o g e n e o u sm e t a d a t au n d e ra l ls t a g e so fs d me n v i r o n m e n t 4 ) t 1 1 i sp a p e rd e m o n s t r a t e sa n ds u m m a r i z e st h em a i nw o r kb yac a s eo fd a t ac a m p u s c o n s t r u c t i o n 即1 ei m p l e m e n t a t i o nm e t h o do fs d mi ss u m m a r i z e dt h r o u g ht h i sc a s e t h r o u g ht h er e s e a r c ha n di m p l e m e n t 。t h i sw o r ks h o w st h a tt h ed a t a b a s em i d d l e w a r e b a s e do ns o ai sap r a c t i c a la n df e a s i b l es o l u t i o nt oh e t e r o g e n e o u sd a t ai n t e g r a t i o n k e yw o r d s : m i d d l e w a r e ,h e t e r o g e n e o u sd a t ai n t e g r a t i o n ,s e r v i c eo r i e n t e da r c h i t e c t u r e , w e bs e r v i c e w r i t t e nb yy a oy o u w e n s u p e r v i s e db yy a n gj i w e n i l 苏州大学学位论文独创性声明及使用授权声明 学位论文独创性声明 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进 行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含 其他个人或集体已经发表或撰写过的研究成果,也不含为获得苏州大学 或其它教育机构的学位证书而使用过的材料。对本文的研究作出重要贡 献的个人和集体,均已在文中以明确方式标明。本人承担本声明的法律 责任。 研究生签名:出k 盘支。日 期: 互! 12 : 学位论文使用授权声明 苏州大学、中国科学技术信息研究所、国家图书馆、清华大学论文 合作部、中国社科院文献信息情报中心有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本 人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文 外,允许论文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分 内容。论文的公布( 包括刊登) 授权苏州大学学位办办理。 期:! ! ! l ! :兰 期:翻:墨:之 基于s o a 的数据库中间件的研究与设计第1 章绪论 1 1 课题背景 第1 章绪论 数据库在企业信息化中承担了重要的角色,企业中大量的业务系统都是围绕着数 据库进行开发。由于企业信息化建设不是一蹴而就的,所以在企业中,往往存在着大 量的、以不同形式存储的、依赖于不同数据库管理系统的数据。随着信息化程度的不 断深入,这些异构的、各自为政的系统对企业信息化的整合造成了一定的障碍,如何 对这些数据进行共享、对各类业务系统进行整合,是当前企业亟需解决的一个关键问 题。对于企业现有的基于二层或三层架构的信息系统,出于保护原有应用系统投资和 保证企业信息系统平稳运行的需要,往往无法直接进行改造,因此急需一个便捷、高 效、低成本的系统升级方案,解决原有信息系统各自为政所造成的问题。这样有利于 节约资金,更有利于整合和共享信息资源。 中间件( m i d d l e w a r e ) 技术为解决此类问题提供了一个理想的方案。数据库中间 件作为连接具体应用与数据库系统的桥梁,在简化不同平台环境的复杂性问题同时, 也可以实现许多应用功能扩展,协调整体进行工作,这是操作系统、数据库管理系统 本身难以做到的【1 捌。它将业务逻辑、数据访问、通讯、安全等经过抽象独立出来, 成为一个易于移植、易于扩展、访问透明、使用简单、安全级别更高的软件模块。数 据库中间件的这些功能特点,使得过去在应用软件上的劳动成果仍然物有所用,节约 了大量的人力、财力投入。 虽然中间件技术已经是一个相对成熟的技术,但是传统的数据库中间件 ( d a t a b a s em i d d l e w a r e ,d m ) 设计的目的是针对单独数据库进行操作上的隔离,封 装业务逻辑。针对异构的多数据库集成问题,传统的数据库中间件的紧耦合性引起了 可移植性差、扩展性不强等问题。由于没有一定的主动机制,数据库中间件本身做不 到对数据信息资源的管理。如果要添加数据库功能之外的附加操作,就得单独在应用 程序中处理,这样会很浪费资源与时间,加重应用程序开发的工作量。s o a ( s e r v i c e o r i e n t e d a r c h i t e c t u r e ) 是一种基于服务提供者、公共描述和服务消费者三个 角色的请求响应模式,它的目标在于让i t 变得更有弹性,更快地响应业务单位的需 1 第i 章绪论 基于s o a 的数据库中间件的研究与设计 求,实现实时企业【3 1 。s o a 的工作模式及其架构方式为满足数据库中间件的敏捷变化 提供了良好的架构思路,也是分布的异构数据源进行集成应用的一种理想架构方案。 本文将s o a 技术与数据库中间件技术相结合,设计了基于s o a 的数据库中间件并运 用到实际的应用开发中,在一定程度上解决了传统数据库中间件在异构多数据源集成 中所面临的一些问题。 1 2 国内外研究现状 1 2 1 国外中间件技术的研究概况 最早具有中间件思想和功能的软件是i b m 的c i c s ( c u s t o m e ri n f o r m a t i o nc o n t r o l s y s t e m ) ,之后i b m 正式以中间件产品的形式将其出售,成为了中间件产品的雏形。 该软件被应用于联机事务处理,支持一定的异构平台。 目前国外有不少厂商都开发出自己的中间件产品,其中有全球最大的独立中间件 厂商b e a 公司( 已于2 0 0 8 年1 月6 日被o r a c l e 收购) ,i b m 、o r a c l e 及m i c r o s o f t 、 h p 、s u n 等各大厂商也早已涉足电子商务中间件。中间件市场上的竞争十分激烈。 m qs e r i e s 是i b mt xs e r i e s 功能强大的消息传送中间件产品,它以其成熟的技 术向大家提供了在异构网络环境中经济、可靠的消息传送解决方案。它侧重于消息的 实时处理。 w e b l o g i c 的t u x e d o 集事务处理和消息传递于一体。它提供高层a p i 以建立分布 式应用组件,这些组件在执行时以消息相互通讯,由t u x e d o 的内部服务机制管理。 这些服务机制实现了复杂的分布式事务控制和广泛的分布式应用管理。w e b l o g i c 被广 泛应用在企业、i n t e m e t 这样的分布式运算环境中,是一个开发和管理三层架构的关 键任务应用系统的强有力的工具。它具备分布式事务处理和应用通信功能,并提供完 善的各种机制来建立、运行和管理应用系统。开发人员能够用它建立跨多个硬件平台、 数据库和操作系统的可互操作的应用系统。 1 2 2 国内中间件技术的研究概况 自2 0 世纪9 0 年代,中间件技术发展迅速,市场表现也如火如荼。特别是近几年 2 基于s o a 的数据库中间件的研究与设计第1 章绪论 来,从全球到中国,中间件产业化快速发展。中国软件产业本来在操作系统与数据库 的主流软件中不占有优势,所以期待在中间件中有所突破,中国的中间件市场也正朝 着正确的方向快速健康地发展。 国内一些规模较大的软件公司也开始进入此领域,形成了包括中创软件商用中间 件、金蝶a p u s i c 、东方通科技、中关村科技等在内的一批中间件专业厂商,东软、用 友、信雅达等应用集成商也大量投入中间件产品的研发,国产中间件已经形成了比较 完整的产品体系,已经应用于我国政府、交通、金融、证券、保险、税务、电信、教 育、军事等行业或其它领域的信息建设,并成为大型系统建设不可缺少的一环1 3 j 。 在国内的重多高校与科研院所内,如国防科技大学、北京大学、北航、中科院软 件所、东南大学等大学和院所很早就投入到中间件技术的研究中,并取得了一系列的 成果。在国家发改委、信息产业部电子发展基金和国家科技部8 6 3 计划和政府其它基 金资助下,经过各研究单位和国内骨干软件企业多年的不懈努力,国内在基础中间件 领域已经具备了丰富的技术,并在c o r b a 技术( 国防科技大学与中创软件) 、消息 中间件技术( 中科院软件所) 、应用服务器( 北京大学) 、w e bs e r v i c e ( 北航) 等方面 基本与国外保持同步发展的水平。 金蝶a p u s i c 应用服务器数据库中间件是中国第一个通过国际j 2 e e 认证、技术与 国际同步、有大量成熟应用的业务构建和运行支撑平台,为电子政务、电子商务和行 业企业应用等提供高效而可靠的运行、部署和开发支撑;在底层技术、安全加密算法 等方面也能为国家和行业企业的信息安全提供最有力的基础保障。 1 2 3 基于服务的研究概况 早在十年前,g a r t n e rg r o u p 就提出了面向服务软件体系架构概念。随着w 3 c 对 w e bs e r v i c e 的协议的规范化以及i b m 、m i c r o s o f t 、s u n 等国际顶级i t 大公司联合制 定规范和服务支持,近年来s o a 在当前软件业界大行其道。 s o a 中间件是继上世纪8 0 年代兴起的第一代c o r b a 中间件、上世纪9 0 年代 兴起的第二代j 2 e e 中间件之后,兴起的第三代中间件。借助现有应用、新建应用、 组合应用等敏捷方式,s o a 中间件可以提供给企业更好的灵活性来构建应用程序和 业务流程,从而提升了i t 与业务融合效率,并节省成本。各大公司和研究机构也都 第1 章绪论基于s o a 的数据库中间件的研究与设计 推出了相关的研究成果和相关产品,如o r a c l e 的电子商务融合中间件、普元软件的 中间件套件e o s p l a t f o r m 6 等。随着s o a 应用的强劲增长以及技术手段的趋予完善, 基于服务的中间件研究已经成为当前的研究热点问题。 1 2 4 国内外研究现状分析 数据库中件间技术把繁琐、复杂的数据库操作抽象出来,形成可管理、可复用的 模块,为应用系统提供了有力的数据支持【| 7 1 。然而,传统的数据库中间件体系结构存 在着以下两个明显的问题: 1 ) 传统数据库中间件不独立。一般都是作为应用服务器的一个模块存在,相对 来说加入了消息处理及事务机制使得结构庞大,抽取数据的周期太长,难以有效地为 小型应用开发或即时数据做出有效反应,同时也加大了部署和使用的难度,限制了数 据库中间件的应用,使得很多应用即使部署了应用服务器但却不使用它的功能。 2 ) 传统数据库中间件是被动的。数据的抽取和查询都是手工程序调用的过程, 数据库中间件只是简单充当信息的中介。这使得开发人员要时刻关注数据信息的变 化,不能有效地对应用做出适当的反应。 因此,近年来在商业智能信息处理领域,软件界提出了一个新的概念:基于服务 的体系结构( s o a ) 。而应用s o a 的目标就是改变传统数据库中间件方案的那种紧耦 合集成模式,那种需要更多的开发和维护的模式。文献 3 【4 】提出了基于服务的数据 集成方案用于数字化产品开发应用,利用中间件思想解决数据信息集成;文献 5 】对 基于s o a 的中间件思想做了介绍。综合文献分析,将s o a 思想应用于数据库中间件 的设计,使数据库中间件在系统结构上有一定的突破,适应了开发分布的、异构的信 息系统发展方向的需求。然而要达到这些要求也存在着许多的挑战:第一,该体系结 构要以一种有效的服务方式支持数据库的操作;第二,必须能够很好的整合各类异构 系统;第三,为了便于各异构系统的整合,必须具备一种标准的元数据模型;第四, 这个体系结构要易于扩展和修改,各构件的协同交互最好能够分离;第五,必须易于 部署和简单配置,具有很好的适应性。由于是对应用整合和数据整合,所以各个方面 对基于s o a 的数据库中间件提出了较高要求。 4 基于s o a 的数据库中间件的研究与设计 第1 章绪论 1 3 课题研究内容 本课题主要是围绕数据库中间件的相关技术展开,研究的是s o a 在数据库中间 件设计中的应用,具体内容包括: 1 ) 研究了s o a 在中间件技术上的应用,设计并实现一个基于s o a 的数据库中 间件( s e r v i c e o r i e n t e d a r c h i t e c t u r ed a t a b a s em i d d l e w a r e ,s d m ) ,用于解决异构数据 源的集成问题,为业务整合与业务集成中的数据集成提供一个基础的平台。这个平台 在服务总线与数据库之间提供一个接口,使得多个异构数据源通过此接口呈现在用户 面前的是一个统一的逻辑资源的数据服务,屏蔽掉一些技术细节。 2 ) 深入研究了企业信息系统集成中的需求,即原有系统升级改造的需求和新系 统开发的需求;分析了传统二层c s 结构、三层或多层c s 结构和b s 结构的优缺点, 总结了面向服务架构的数据库中间件的优势所在,介绍了具体的实施步骤,为基于 s o a 的中间件设计提供了一定借鉴。 3 ) 提出了数据服务的管理方法,给出了其主要服务接1 2 1 ,并利用服务组合方法 对数据信息源进行管理。把服务组合思想引入到数据库中间件的生成结果数据集中, 从而扩展了数据库中间件对结果的处理能力,使得数据库中间件成为智能型组件。 4 ) 研究了异构数据源的处理方法,给出了数据源封装接口的设计实现,使数据 库中间件的应用可以方便地进行扩充;对于中间数据的存储方式,基于公共数据模型 ( x s d m ) ,为数据库中间件各阶段交流数据信息设计了统一的方法,方便了数据信 息的表示和转换。 5 ) 实现了基于s o a 的数据库中间件应用于数字化校园的应用集成方案,说明了 s d m 的相关实施和使用方式,验证了它的可行性,测试了具体的性能与安全指标。 1 4 课题研究意义 数据库中间件是中间件市场的一个重要分支,在企业信息管理和电子商务平台都 有着广泛的应用【引。由文献【3 】得出,随着服务的概念越来越趋于日用品化,i t 基础 设施可以提供越来越灵活的解决方案,数据库系统的分布性非常明显,对信息集成的 需求也越来越强烈,面向服务的体系架构是解决这类问题的有效途径之一。 本课题研究的基于s o a 的数据库中间件,不仅可为正在实施的各种不同应用提 5 第1 章绪论基于s o a 的数据库中间件的研究与设计 供开发和运行支撑,而且这种集成和协同特性可以解决目前信息化中普遍存在的“信 息孤岛”现象。因此对数据库中间件的研究具有重要的理论意义和实际应用价值,具 体包括: 1 ) 将s o a 引入到数据库中间件的设计中去,改变传统数据库中间件方案的紧耦 合集成模式,提高数据库中间件的独立性与主动性,能够以一种类似计划和规则的方 式来管理数据源,在此基础上对信息进行集成应用,使之适应当前商业智能信息处理 领域的需求。 2 ) 针对多数据源共享信息集成系统中数据服务的管理事务,提出了一个改进的 数据服务的管理机制,应用于集成信息系统中数据服务的管理,方便了数据信息自身 的描述与组合,为信息数据集成创造了条件。 3 ) 本课题将s o a 的理论运用于实际,着重研究了数据库中间件体系结构中主要 构件的标准化和服务化,分离了各服务层,从而具备s o a 的诸多优点,为s o a 在软 件开发中的实施提供了一定的借鉴意义。 综上所述,课题的研究和实现对于数据库中间件在信息系统集成中的应用,具有 一定的现实意义和参考价值。 1 5 文章组织结构 全文的组织如下: 第一章简要地介绍了课题提出的背景、课题的研究内容、课题的研究意义与文章 的组织结构。 第二章首先对数据库中间件技术做一个详细的介绍和描述,再结合一些产品说明 它们之间的不同特点,讲述它们的各自不同的适用点;然后介绍归纳s o a 的一般知 识与相关技术,为下一步的设计做出结构上的划分和整理。 第三章设计一个符合s o a 思想的数据库中间件( s d m ) ,以满足在分布式应用 体系结构下的软件应用。详细介绍s d m 的体系结构,包括各部件的组织关系、服务 层次以及运作流程。 第四章给出了s d m 各个主要部分的设计和实现方法,主要包括:数据服务的管 理机制、访问多异构数据源的包装器的封装方法、多数据库模式下局部数据模式到全 6 基于s o a 的数据库中间件的研究与设计 第1 章绪论 局数据模式的映射及中间数据存储结构、查询分解及其相关处理、数据服务的安全特 性等。 第五章在介绍当前数字化校园建设背景的基础上,讲述了s d m 在实际中的应用, 分析s d m 在企业信息系统集成中的优势所在,并详细说明它的相关实施和使用方式。 第六章对所做的工作进行总结,并对未来工作进行展望。 7 第2 章相关技术概述 基于s o a 的数据库中间件的研究与设计 第2 章相关技术概述 研究并设计数据库中间件,必须对中间件技术有所了解,对比中间件的优势和特 点,才能设计出更为强大的数据库中间件。s o a 是当前软件业界研究的热点问题, 相关的技术和应用还处在发展阶段。本章首先介绍了中间件技术的相关概念,然后详 细叙述了它的特点和分类情况,并讨论了一些主要的数据库访问技术,对数据库中间 件技术做了详细地介绍,最后讲述了s o a 兴起的背景,对s o a 的相关理论和研究作 了详细的介绍。 2 1 数据库中间件技术 2 1 1 中间件技术简介 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同 的技术之间共享资源。中间件位于客户机n 务器的操作系统之上,管理计算资源和 网络通讯,是连接两个独立应用程序或独立系统的软件【l l 】。通过中间件相连接的系统, 即使具有不同的接口,仍能通过中间件交换信息。执行中间件的一个关键途径是信息 传递。通过中间件,应用程序可以工作于多平台o s 环境,如图2 1 所示。 应用应用 应用程序接口 中间件 图2 - 1 中间件的应用 8 基于s o a 的数据库中间件的研究与设计 第2 章相关技术概述 从逻辑角度看,中间件是位于两个有依赖关系的服务之间的软件体1 2 】。中间件位 于两个软件服务之间,比如t c p i p 协议的传输层和应用层之间、应用程序和操作系 统之间、应用程序和物理硬件之间、数据库应用和数据库管理系统之间。而且上层的 服务必须依赖于下层提供的服务,比如网络应用必须依赖t c p 或u d p 提供的功能、 应用程序必须依赖操作系统和物理硬件提供的功能、数据库必须依赖数据库管理系统 提供的功能等。 从功能的角度出发,可以认为中间件是屏蔽下层服务的复杂性、简化上层应用服 务的开发和管理的软件体【”】。中间件的主要目的是简化应用程序的使用和开发,并提 供可靠的增值服务。比如数据库中间件要屏蔽各种不同的异构数据库之间的差异,提 供标准的s q l 查询功能,同时,必须简化应用程序的管理和开发,提供可靠性更高、 服务质量更好的增值服务。 从复杂性角度来看,中间件是上层服务和下层服务之间通用的软件体【1 4 】。中间件 提供的服务不能和应用的功能相混淆。中间件提供的增值服务只能是有限的,不包括 应用程序需要提供的功能,也就是说,中间件不是万能的。 2 1 2 中间件的特点和分类 1 中间件的特点 一般,中间件应具有如下的一些特点【9 】: 1 ) 满足大量应用的需要:运行于多种硬件和o s 平台支持分布计算,提供跨网 络、硬件和o s 平台的透明性的应用或服务的交互,支持标准的协议,支持标准的接 口。 2 ) 平台无关性:由于标准接口对于可移植性和标准协议对于互操作性的重要性, 中间件已成为许多标准化工作的主要部分。数据接口用来实现分布式环境中各个系统 之间数据的共享,针对不同的操作系统和硬件平台,它们有符合接口和协议规范的各 种实现。 3 ) 支持分布式计算,提供跨网络、硬件和操作系统平台的透明性的应用或服务 的交互功能:中间件软件管理着客户端程序和数据库或者早期应用软件之间的通讯, 分布式应用软件借助这种软件在不同的平台之间共享资源。 9 第2 章相关技术概述基于s o a 的数据库中间件的研究与设计 4 ) 支持标准的协议和接口:对于应用软件开发,中间件远比操作系统和网络服 务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层 的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外 的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维 护中的重大投资。 5 ) 良好的可靠性:良好的可靠性是中间件技术自产生以来一直追求的目标,随 着技术标准的形成,中间件已经可以提供可靠的稳定性。 6 ) 较高的效率:中间件的工作机制为当客户端的应用程序需要调用分布式环境 下某服务器的数据时,中间件系统负责接收客户端的请求,查找数据源,并建立相应 数据与相应服务器之间的对应关系。因此中间件实现了客户和服务器的透明性,提供 的对服务或是数据的查询效率是比较高的。 2 中间件的分类 中间件种类繁多,目前将中间件分为: 1 ) 数据库中间件:它又可以按功能分为数据访问类中间件、数据集成中间件等。 数据访问类中间件是在两层结构模式下,提供客户端访问数据库的一类中间件,屏蔽 了异构数据源,提供标准地数据库操作方法;数据集成中间件针对信息的集成应用, 在应用与数据库间做业务上的一些处理,比如数据抽取、模式转换等。 2 ) 交易中间件:交易中间件的历史较长,最初的交易中间件是为大型机环境设 计的,它作用于客户端和服务器之间,负责管理二者的数据交换。交易中间件是专门 针对联机交易处理系统而设计的。联机交易处理系统就是处理大量并发的交易任务, 将涉及到操作系统、文件系统、编程语言、数据通讯、数据库系统、系统管理、以及 应用软件开发。通过两阶段提交协议等方式保证分布式交易的完整性、控制并发、实 现交易路由和均衡负载。 3 ) 消息中间件:消息中间件是一种最基本的中间件,为应用之间的通讯架构了 桥梁。在分布的计算进程之间,消息是通过消息传递和消息排队两种机制,以同步或 异步方式进行交互的。 4 ) 对象中间件:面向对象的中间件提供一个标准的构件框架,能使不同的厂家 的软件通过不同的地址空间、网络和操作系统互相交互访问,该构件的具体实现、位 置及所依附的操作系统对客户来说都是透明的。 1 0 基于s o a 的数据库中间件的研究与设计第2 章相关技术概述 5 ) 远程过程调用中间件:远程过程调用是一种广泛使用的分布式应用程序处理 方法。一个应用程序使用r p c 来执行一个位于不同地址空间里的过程,并且从效果 上看和执行本地调用相同。事实上,一个r p c 应用分为两个部分:s e r v e r 和c l i e n t 。 s e r v e r 提供一个或多个远程过程;c l i e n t 向s e r v e r 发出远程调用。s e r v e r 和c l i e n t 可以 位于同一台计算机,也可以位于不同的计算机,甚至运行在不同的操作系统之上。它 们通过网络进行通讯。相应的s t u b 运行支持提供数据转换和通讯服务,从而屏蔽不 同的操作系统和网络协议。在这里r p c 通讯是同步的。采用线程可以进行异步调用。 2 1 3 基本的数据库访问技术 随着数据库产品和技术的发展,数据库访问技术也随之发展,从底层的o d b c 、 j d b c 发展到o l ed b 、a d o n e t ,再到关系对象映射技术,以下做一详细的介绍: 1 ) o d b c o d b c 技术为访问不同的s q l 数据库提供了一个共同的接口。o d b c 使用s q l 作为访问数据的标准。这一接口提供了最大限度的互操作性:一个应用程序可以通过 共同的一组代码访问不同的s q l 数据库管理系统( d b m s ) 。开发人员可以添加数据 库驱动程序,将应用程序与用户所选的d b m s 联系起来。驱动程序管理器提供应用 程序与数据库之间的中间链接。o d b c 接口包含一系列功能,由每个d b m s 的驱动 程序实现。当应用程序改变它的d b m s 时,开发人员只使用新的d b m s 驱动程序替 代旧的驱动程序,并且应用程序可以无需修改代码照常运行。 2 ) o l ed b o l ed b 建立于o d b c 之上,并将此技术扩展为提供更高级数据访问接口的组件 结构。此结构对企业中及i n t e m e t 上的s q l 、非s q l 和非结构化数据源提供一致的 访问【1 8 】。实际上,在访问基于s q l 的数据时,o l ed b 仍使用o d b c ,因为对于s q l 它是最优结构。o l ed b 由三个组件构成:数据使用者、数据提供程序以及处理并传 输数据的服务组件。o l ed b 是一个针对s q l 数据源和非s q l 数据源进行操作的 a p i 。 3 ) j d b c j d b c 是一种用于执行s q l 语句的j a v a a p i ,可以为多种关系数据库提供统一访 第2 章相关技术概述基于s o a 的数据库中间件的研究与设计 问,它由一组用j a v a 语言编写的类和接口组成。j d b c 为数据库开发人员提供了一个 标准的a p i ,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯j a v a a p i 编写数据库应用程序。j d b c 对j a v a 程序员而言是a p i ,对实现与数据库连接的服务 提供商而言是接口模型。作为a p i ,j d b c 为程序开发提供标准的接口,并为数据库 厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。j d b c 使用已有的 s q l 标准并支持与其它数据库连接标准,如o d b c 之间的桥接。j d b c 实现了所有这 些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。 4 ) a d o n e t a d o n e t 是一个基于标准的程序设计模型,用于创建分布式的、数据共享的应 用程序,它提供了一个数据访问界面,以便与s q ls e r v e r 和o r a c l e 等o l ed b 数据 资源进行交互。需要使用数据的应用程序可以使用a d o n e t 连接这些数据资源并重 新获取、处理和更新数据。a d o n e t 最重要的新特点就是使用了d a t a s e t 代替了原 有的r e c o r d s e t ,大大提高了数据处理的灵活性。另外,a d o n e t 能够使用x m l 在 应用程序间或w e b 页面间交换数据,任何可以读取x m l 的组件都可以充分利用它。 这样,通过发送x m l 格式的d a t a s e t ,开发人员可以很容易地处理共享应用程序中 的共享数据,并将用户接口组件分离到不同的服务器中,从而提高了用户系统的性能 和可维护性。a d o n e t 虽然功能强大,在开发企业级应用的数据库访问方面也给开 发者带来了很大的便利。但与成熟的j 2 e e 平台相比,也存在一些问题,其中主要的 就是没有引入o r 映射技术【峥】。 5 ) o 瓜映射技术 o b j e c t r e l a t i o nm a p p i n g ,其中o 表示对象,r 表示关系,几乎所有的程序里面, 都存在对象和关系数据库。在业务逻辑层和用户界面层中,一般都是面向对象的。当 对象信息发生变化的时候,需要把对象的信息保存在关系数据库中。当开发一个应用 程序的时候,可能会写不少数据访问层的代码,用来从数据库保存、删除、读取对象 信息等等,而这些代码实际上存在很多近似的通用模式。通过引入o rm a p p i n g ,就 可以用o rm a p p i n g 保存、删除、读取对象,而且由o rm a p p i n g 负责生成s q l 语 句,开发者只需要关心对象的业务逻辑就可以了,因此使用o rm a p p i n g 可以提高学 习开发效率、简化代码、隔离数据源等一些好处【2 0 1 。在实现过程中主要需要解决关联 表的处理、唯一标识的处理、s q l 语句的生成这几个问题。 1 2 基于s o a 的数据库中间件的研究与设计 第2 章相关技术概述 2 1 4 数据库中间件技术 在中间件技术应用体系中,面向数据库的中间件处于重要的位置。数据库中间件 是指连接应用程序和数据库的软件。与一般的中间件一样,面向数据库的中间件允许 开发人员通过单一的、定义良好的a p i 访问另一台计算机上的资源,如数据库服务器 1 1 5 1 。例如,如果要以一个对象的方式来访问一个关系数据库中的数据,面向数据库的 中间件能将存储在关系数据库中的信息映射成应用程序可以访问的对象。数据库中间 件还可以提供同时对多种不同类型数据库的访问,而不需考虑数据库的模型和运行平 台,这样无论是哪一种数据库s q ls e r v e r 、d b 2 还是o r a c l e ,都可以同时通过同一界 面进行访问。通过这种机制,就可以把不同类型的数据库映射成相同的模型使他们易 于集成。以下详细介绍数据库中间件要解决的问题及其带来的优点。 数据库中间件是在分布式应用结构模式下,提供客户端访问数据库的一类中间 件。这类中间件大部分都是基于s q l 和r p c 标准基础上而开发和制定的,主要解决 以下几方面的问题: 1 1 管理数据库连接,抽象网络协议。这些一般都是由数据库厂商或支持多数据 库的中间件提供的。 2 ) 支持对数据库存取的编程,可以使用存储过程。对象数据库常为面向对象编 程语言如j a v a c # 提供适应的接口。 3 ) 用于数据复制、转换、信息增值。常作为数据仓库解决方案的一部分。 4 ) 注重对数据的结构进行操作而不是数据本身,读写数据库的分类信息。 数据库中间件主要适用于应用程序与数据源之间的互操作模型,客户端使用面向 数据库的a p i 以提出直接访问和更新数据源,数据源可以是关系型、非关系型和对象 型。这类中间件大都基于s q l 语句,并采用同步通讯方式。此类中间件使应用开发 简单,但如果是透过广域网使用,会带来严重的效率问题,因为在低速网上来回交互 s q l 语句会使通讯流量过大,同时对数据压缩加密带来不便【1 6 1 。 总的来说,数据库中间件具有一般中间件的普遍优点7 j : 1 ) 易于移植和集成:它屏蔽了各种平台相关的细节、通信协议和访问方式,在 更换平台时无需修改代码。 2 ) 易于扩展:它是一种独立结构,在需要扩展时只需修改其中部分代码,而不 1 3 第2 章相关技术概述基于s o a 的数据库中间件的研究与设计 需要修改建立在它上面的应用。 3 ) 访问透明,使用简单:是抽象的结构,封装了底层实现细节,对用户来说是 透明的。 4 ) 安全级别更高:应用软件必须遵循一定的通讯协议才可以访问,所以它对数 据库服务器有一定的保护作用。 基于数据库中间件的多层分布式软件系统是一种抽象结构,它将业务逻辑、数据 访问、通讯、安全等经过抽象独立出来,这样开发人员可集中精力处理业务逻辑,而 不必关心如何处理数据的存取等问题,只需遵循一定的协议,透明地和数据库中间件 交互。 2 2s o a 基本概念的介绍 2 2 1 为什么使用s o a 自从上世纪7 0 年代软件业提出“软件危机”以来,为了彻底走出软件系统开发 的泥潭,软件研究者和开发者们一直努力着。从编程模型来看,已从最初的面向过程、 面向对象,发展到后来的面向组件、面向集成,软件工程也经历着变革。 计算机软件技术发展的另一个演化轨迹,就是组件模型的演化。这种演化从最早 的库函数开始,就已经体现出了软件组件重用的思想,慢慢的就从重用代码级别转换 到二进制级别上来。从d o si n t2 1 h 可以看到最初的二进制级重用的影子,而后续 的w i n d o w s 平台又经历了人d l l l i b 到c o m c o m + ,再到n e ta s s e m b l y 的二进制 组件模型的演化过程。在迎接n e t 时代的时刻,另一个革命性的技术也在业界引起 了广泛的关注,那就是w e bs e r v i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论