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

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

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

文档简介

摘要 随着i n t e r n e t i n t m n e t 的快速发展,部门之阳j 需要协同合作,如何共享这 些异构数据源的数据成为很至天重要的问题。同时异构数据库的存在给实现不同 信息系统问数据的访问操作带来了很大不便。掘统计应用丌发过程中大约有7 0 的时间和精力用于解决与业务逻辑没有直接关系的跨平台难题,为此,解决异构 数据库方便、灵活的访问操作问题成为个很有意义的研究课题。 本文首先从软件复用的角度分析了中间件作为 种特殊的构件产生和存在的 必要性和重要性。重点介绍了数据库中间件的思想,理论及其特点。然后根据数 据库中f n j 件的标准设计了一个基于c o r b a ,j a v a ,x m l ,数据库连接池,缓冲池等 技术的数据库中间件。洋细说明了设计和实现的过程并作了一个简单的实现系统。 该系统主要由两部分组成:c o r b a 客户端和c o r b a 服务器端。前者主要接受业务处 理系统的请求,并对请求进行解析,通过对象请求代理( o r b ) 和i t ,移植适配器( p o a ) 调用服务器端对象连接和操作异构数据库的方法,对返回的结果进行解析,重组, 封装,然后返网给业务处理系统;后者利用了 d b c 和数据库连接池技术实现了埘 异构数据库的访问和操作,并对操作的结果以x m l 格式进行封装,对c o r b a 客户 端和、【k 务处理系统屏蔽了数据库的访问和操作异构性。 本数据库中m 件是建立在c o r b a 分布式平台基础上的,是基于c o r b a 中间件 的一种综合中帕j 件。山于使用了j a v a ,x m l ,数据库连接池等技术,使得设计出来 的中间件系统具有可扩展性、可重用性,可优化性,可移植性和分伽式计算的优点。 最后对系统进行了总结,并且指出了需要进一步研究的问题。 火键字:数据库中间件,c o r b a ,j d b c ,x m l ,分析j 式计算,异构数据库 a b s t r a c t w i t ht h ed e v e l o p m e n to fi n t e r n el 1 呲r a n e t c o o p e r a t i o ni sn e e d e da m o n g d i f f e r e n td e p a r t m e n t s ,s oi t isav i t a l p r o b l e m th a th o wt os h a r e h e t e r o g e n e o u sd a t a b a s e s a n dt h e e x is t e n c e so fh e t e r o g e n e o u sd a t a b a s e s b r i n g1 0 t snrl r o u b l ei nv i s i t i n ga n do p e r a t i n go nd jf f e r e n ti n f o r m a t i o n s y s t e m s a c c o r d i n gt os t a t i s t i c s ,7 0p e r c e n t so ft i m ea n df o r c ea r es p e n t o nh o wt os o l v i n gc r o s sd if f e r e n tp l a tf 。o r m sp r o b l e mt h a th a sn o t h i n gt o d ow i t hb u s i h e s so p e r a t i o n s oii isv a l u a b l et h a tr e s e a r c h i n gh o wt o p r e y i d eat h r i v e n ie n ta n df l e x i b l ew a yo fo p e r a t i n gh e t e r o g e n e o u sd a t a b a s e s t h isp a p e ra n a l y z e st h en e c e s s i t ya n di m p o r t a n c eo fg e n e r a t i n ga n d e x is t i n go fm i d d l e w a r ea sas p e c i l ic o m p o n e n tf r o mt h er e u s ea s p e c to f l s o f t w a r e t h ee m p h a s i so nt h isp a p e ris i n t r o d u c i n gt h et h i n k i n g ,t h e o r y a n dc h a r a c t e r is t ie so fd a t a b a s em i d d e w a r e ,a n dd e s i g na n di m p l e m e n ta d a t a b a s em id d le w a r eb a s e do nc o r b a ,j a v a ,a n dx m l ,d a t a b a s ec o n n e c t i o np e n l a n db u f f e rp o e la c c o r d i n gt ot h ec f i t e r i o no fd a t a b a s em id d le w a r e ,a n dt h e n e x p l i c a t e dt h ep r o c e d u r eo fh o wt od e s i g na n di m p le m e n t as j m p l es y s t e m w a sm a d et h e n t h iss y s t e mism a d et i po f t w op a r t s :c o r b ac 1i e n ta n dc o r b a s e r v e r t h ef o r m e ra c c e p tt h er e q u e s to f b u sin e s so p e r a tio ns y s t e m ,a n a ly z e t h i sr e q u e s t ,c a l1t h em e t h o do f c o n n e c ti o na n do p e r a t i o no nh e t e r o g o n e o u s d a t a b a s e so fc o r b as e r v e rb yo r b a n dp o a ,a n a l y z e ,r e a s s e m b l ea n d e n c a p s u l a t et h er e s u l tr e t u r n e d :t h e1 a t t e ri m p l e m e n tt h ec o n n e c t i o na n d o p e r a t i o no nh e t e r o g e n e o u sd a t a b a s e sb yj d b ca n dd a t a b a s e c o n n e r t i o n p o e la n dp a c kt h eo p e r a t i o nr e s u l tw it hx m lf o r m a t ,t h e ns h ie l dt h e h e t e r o g e n e i t yo fv i s i t i n ga n do p e r a t i o no nd i f f e r e n td a t a b a s et oc o r b a c l i e n t t h ed a t a b a s em i d d le w a r eisb a s e ( 1o nc o r b a s oi tisas y n t h e t i c a l m i d d l e w a r eb a s e do nc o r b am i d d l e w a r e d u et ou s i n gj a v a ,x m i t e c h n o l o g ie s t h es y s t e mh a s t h ea d v a n t a g ei nt r a n s p o r t a b i1 i t y ,p l u ga n dp l a ya n d d i s t r i b u t ec o m p u ti n g t h ee n do ft h ep a p e rs u mu pl b es y s le 1 1 a n dp o in to u tt h ep r o b l e mt h a t n e e d e dt ob er e s e a r c h e df u r t h e r k e yw o r d s :d a t a b a s em i d d le w h r e ,c o r b a ,j d b c ,x m l ,d is t r ib u t ec o m p u t i n g h e t e r o g e n e o u sd a t a b a s e s 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰 写过的研冗成果,也不包含为获得丞洼王些盍堂或其他教育机构的学位或 i | f 书 可使用过的材料。与我一同 作的同志对本研究所做的任何贡献均已存沦文中作 了明确的说明并表示了谢意。 学位论文作者签名:z 芝,d ,劳z j 签字同期:跏g 年岁月h 学位论文版权使用授权书 本学位沦文作者完全了解丞整王些太堂有关保留、使用学化论文的舰 定。特授权丢洼王些太堂可以将学位论文的全部或部分内容编入有关数据库进 行检索,并采用影e i j 、缩印或扫捕等复制手段保存、汇编以供查浏和借| i j 。同意 学校向幽家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适片j 本授权说叫) 学位论文作者签名:勿之,j ,钐z j踟签名:万 l 培 签宁同如:劲年夕月jh 签字n 期 捉觊 学位论文的主要创新点 1 论文分析了数据库巾问件的特点,及目前存在的数据库中间件系统的各自 特点和它们的不足。针对目前用户需求并借鉴已有的数据库中间件的设计思想没 汁并实现一个性能良好的能屏蔽掉各种层次的芹构性的数据库中恻件,实现埘各 种数据源的访问和操作。并给异构数据库用户提供了 个通用的接口,实现了软 件的复用,提高了数据库j r 发的效率。 2 在实现的过稃中山于采刚了c o r b a ,、i d b c ,x m i 。i d ( n ,数据库连接池,缓冲池 等技术,使得系统具有很好的可扩展性、可重用性,可优化性,可移植性和分布式 计算的优点。 第一章绪论 1 1 课题的提出 第一章绪论 当今计算机技术飞速发展,新的软硬件平台层出小穷。特别是i n t e r n e t 的出 现,将不同的软硬件平台连接起来,将来自不同厂商的t :作站、小型机、数据库、 操作系统集成起来,实现更大范围的信息共享已成必然的趋势。 山于历史的原因,行业、单位和部门的具体业务和功能归属的不同,他们都 只是根据自身需要构建了许多相互独立的信息服务和管理系统,甚至在一个单位 内部所采用的信息化环境也可能不会圃守任何一个平台,而是由不同平台组成。 这样随着时间的推移和技术的进步,这些由不同技术构建的信息系统就像一个个 “信息孤岛”,各自有不同的处理对象,操作方法和专有客户端。而由于部门之阳j 协同合作的需要,在各个环节之间数据交流以及集成共享的问题也f 1 益严重起柬。 从应用角度来看,每个部门就是个数据源,因为他们之间的信息和组织都不 样,这样每个数据源又都是异构的,如此就构成了一个巨大而复杂的异构数据环 境。实际上,异构性存在于三个层次上:第一层是平台层( 即不同的硬件,不同的 操作系统和不同的通信协议) :第二层是数据库管理层( 即具有不同数据模型和语 言的不同的数据库管理系统) i 第三层是语义层( 即模式和数据冲突) 。 现行的大多数应用程序是建立在这些分离的数据源基础之上的,应用程序问 难以实现互相的协同。如此种种,严重地阻碍了人们对数据资源,特别是异构数 据库资源的共享。数据集成是企业之间或企业内各部门协同合作的需要。它的目 标是实现各个异构数据源之间的数据共享,从而有效地利用资源,提高整个应用 系统的性能。这就需要利用中间件技术来解决这个问题,因此需要构建一个能够 屏蔽数据库异构性的中间件呈现给应用系统开发人员一个统一的数据库访问接 口。 1 2 课题的研究内容 本论文首先从软件复用思想谈起概述了中间件技术的发展情况,并分别从用 户需求和软件:【_ = 程技术两个角度分析了数据库中削件技术产生的必然性和存在的 必要性。阐述了目前存在的数据库中问件系统的各自特点,并分析了它们的不足。 针对目前用户需求并借鉴己有的数据库中州件的设计思想设计并实现一个件 能良好的能屏蔽掉各种层次的异构性的数据库巾问件,实现对各种数据源的访问 第一章绪论 和操作。并给异构数据库用户提供了一个通用的接口,实现了软件的复用,提高 了数据库丌发的效率。另一方面由于采用了c o r b a ,j a v a ,x b l l 技术,使得系统具有 很好的可扩展性、叮重用性,可优化性,可移植性的优点。 最后,对本数据库中问件系统进行了总结并指出还需研究和解决的问题。 1 3 课题的研究意义 由于系统实现技术以及实现时间上的差异,有相当数量的企业和科研机构中 使用的是存储形式不同的、依赖于不同数据库管理系统的并存的异构数据库系统。 异构数据库的存在给实现不同信息系统间数据的访问操作带来了很大不使。据统 计应用丌发过程中大约有7 0 的时间和精力用于解决与业务逻辑没有真接关系的 跨平台难题”,为此解决异构数掘库方便、灵活的访问操作问题成为一个很有意 义的研究课题。因此,有必爱将分御式应用所面临的共性问题进行提炼抽象形 成一个可复用的软件部件一中间件,供应用软件使用。 1 4 论文的结构 本文主要阐述了基于c o r b a 的数据库巾问件的设计与实现。论文共分七章:第 一章是绪论部分主要阐述了课题的提出以及课题研究的内容和研究的意义。第 二章主要介缁了中间件的,。:生、思想和理沧。第二三章介绍了数据库中间件的思想 和理论及数据库中间件的特点。第网章介绍了在设汁和实现过程中采用的些相 关的技术,如j a v a 语言、c o r b a 技术、。t d b c 、x m l 及它们在系统巾的作用。第血 章讲述了数据库中间件的整体结构和各个模块的功能的设计思想。第六章介绍了 基于c o r b a 的数据库l 问件的实现。最后一部分在实验系统中利用实现的数据库 中间件对异构数据源进行访问。并对整个系统作了一个总结,并指出还需研究的 问题。 第二章中问件技术 2 1 中间件的产生 第二章中间件技术 中间件是基础软件的一大类,属于可复用软件的范畴。“。和其他技术一样,中 问件的产生也有它的历史必然性。首先从软件工程中软件复用的角度谈起。 2 1 _ l 软件复用的思想 软件复用是在软件丌发中避免重复劳动的解决方案。通过软件复用,可以提 高软件,f :发的效率和质量。近十几年来,面向对象技术出现并逐步成为主流技术, 为软件复用提供了基本的技术支持。软件复用研究重新成为热点,被视为解决“软 件危机”、提高软件的生产效率和质量的现实可行的途径。软件复用技术的广泛应 用将促进软件产业的变革,使其重组分t ,软件构件产生必将成为独立的行业而 存在。 软件复用技术的出发点是应用系统的丌发不再采用一切“从零丌始”的模式, 而是以已有的工作为基础,充分利用过去应用系统,r 发中积累的经验,如:需求 分析结果、设计方案、源代码、测试计划及测试案例等,从而将丌发的重点集中 于应用的特有构成成分。通过软件复用,在应用系统开发中可以充分地利用已有 的开发成果消除了包括分析、设计、编码、测试等在内的许多重复劳动,从而提 高了软件丌发的效率,同时,通过复用高质量的已有丌发成果,避免了重新丌发 可能引入地错误,从而提高了软件的质量。”1 总结起来,复用的优势可归结为:提 高生,“率、减少维护代价、提高互操作性、支持快速原型、减少培训开销。 2 1 - 2 软件构件技术是软件复用技术的核心技术 软件行业的工业化趋势以及软件复用理论的发展导致了软构件的产生,并得 到了迅猛的发展。能够像硬件系统那样,将部分软件组合起来构件软件系统,一 直是软件行业多年来追求的目标。特别是对于像很多应用软件的丌发,若能结合 系统的实际情况充分利用已有的软构件,将会大大提高生产效率,减少大量的重 复劳动,提高软件质量。可以说,软构件技术的出现是对传统软件丌发过程的一 次变革。”构件( c o m p o n e n t ) 是可复用的软件组成成分,可被用来构造其它软件。 从广义卜讲,软构件技术是基于面向对象的,以嵌入后马上可以使用的即插即用 型软构件概念为中心,通过构件的组合来建立应用的技术体系。狭义卜讲,它是 通过构件组合支持应用的丌发环境和系统的总称。1 第一搴中问件技术 2 1 3 中间件是一种特殊的软件构件 从功能角度对构件进行分类,构件可分为i 层:基础层为基本数据类构件和 系统支撑构件:中间层为各种通用的中日j 件:顶层为t :- i + 对各种领域的专用构件或 子系统构件。由此可见,中间件是一种特殊的软件构件。但是,并非所有中间层 次的软件都属于中间件的范畴。通常认为,中问件是种介于操作系统与应用系 统之问的独立的系统软件或服务程序,分布式应用借助它在不同的技术之间共享 资源、协同工作。”中间件位于客户机服务器的操作系统之上,分布式应用之下, 管理计算资源和网络通讯。从上述定义不难看出,中间件是一类基于分前j 式技术 的系统软件或软件甲台,而非一种应用软件:中间件是| 干十分布式计算平台,涉 及多种资源,包括各种操作系统、数据库、网络协议甚至语言,其目标是在分布 计算环境中实现应用互连、资源共事、协同工作和互操作,由于标准接口对于可 移植性和标准协议以及互操作性的重要性,中间件已成为许多标准化:f :作的主要 部分。对于应用软件开发,中i 月j r e 远比操作系统和网络服务更为重要中问件提 供的程序接l 1 定义了个相对稳定的高层应削环境,不管底层的计算机硬件和系 统软件怎样更新换代,只要将中i h j i i ;升级更新,并保持中j 、日j 件x , l ;, l - 的接f 】定义不 变,应用软件几乎不需任何修改,从而保护了知i k 在应用软件丌发和维护中的重 大投资。 中间件应具有如下的些特点:”: ( 1 ) 满足大量应用的需要。 ( 2 ) 运行于多种硬件和o s 平台。 ( 3 ) 支持分布计算,提供跨网络、硬件和o s 平台的透明性的应用或服务的交 一:。 ( 4 ) 支持标准的协议。 ( 5 ) 支持标准的接口。 ( 6 ) 中间件还必须具有高可靠性,即中间件必须具有恢复事务的功能保证关 键性事务不丢失。 ( 7 ) 中阳j 件必须具有极高的效率。 中间件在应用和服务器之问,起桥梁的作用。客户端的应用程序要调用服务 器的某项服务时,中间件首先接收客户端的请求,并建立与相应服务器之问的对 应关系。并将服务器方的响应信息打包后送回客户端应用程序。这样,一方面实 现了客户和服务器之间互相操作的透明性,另一方面也增加了请求响应过程的复 杂性,中问件系统作为中转站传输数据并对信息进行处理的时阳j 延迟就必须由中 间件极高的工作效率来尽量缩短。所以对于中间件而苦极高的工作效率是极其重 要的,它将直接影响整个系统服务或数据的杏询效率。”1 第章中间技术 2 2 中间件分类 中间件所包括的范围十分广泛,针对,1 i 同的应用需求涌现出多种各具特色的 中问件产品。但至今中间件还没有一个比较精确的定义,因此,在不同的角度或 不同的层次上,对中间件的分类1 也会有所不同。基于目的和实现机制的不同, 可以区分中间件产品。目前市场上的中问件产品大致可分为:数据库中间件、远 过程调用中阳j 件、面向消息的中间件”“、事务处理中问件和分布式对象中问件。 需要指出的是这些中间件并不是可相互替代的,而足各有所长,可以单独使用 也可以集成使用,并且有逐步统一的趋势。 1 数据库中间件( d m ,d a t a b a s em i d d l e w a r e ) 数据库中间件是产生最早,应用最广泛,技术最成熟的一种中间件。它处于 前端客户机和后端数据库之间,负责接收客户端的数据请求,做一些简单处理( 如 s q l 格式转换,确定数据源等) 后,把请求再传递给相应的后端数据库服务器,进 行最后的数据处理,然后,再将结果山数掘库中间件返回给客户端。数据库中间 件不单进行与数据库连接等有关数据库的处理,也可以将传统客户i r 务器环境下 的客户端进行的应用处理移植到中间层上,精简客户端,减轻客户端的负担,这 也就是所谓的“瘦客户”技术。这样做的好处是能增强系统的并发处理性能,改 善安全性能,减低对客户端的系统要求,也为n c ( 网络终端) 等的实现准备了技术 基础。 2 远程过程调用( r p c ,r e m o t ep r o d u c ec a l1 ) 远程过程调用是一种广泛使用的分布式应用程序处理方法。“+ 个应用程序使 用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 1i 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 通讯是同步的。采用线程可以 进行异步调用。 在r p c 模型中,c 1 i e n t 和s e r v e r 只要具备了相应的r p c 接口,并且具有r p c 运行支持,就可以完成相应的互操作,而不必限制于特定的s e r v e r 。因此,r p c 为c l i e n t s e r v e r 分布式计算提供了有力的支持。同时,远程过程调用r p c 所提 供的是基于过程的服务访问,c l i e n t 弓s e r v e r 进行直接连接,没有中间机构来处 理请求,因此也具有一定的局限性:比如r p c 通常需要一些网络细节以定位s e r v e r : 存c l i e n t 发出请求的同时,要求s e r v e r 必须是活动的,另外,r p c 的应用要求网 第:章中间件技术 络具有极高的稳定性,而且,同步方式使得客户方的工作很大程度上依赖于服务 器方,客户方本身即使有高速处理优势也无法充分发挥。而且此种方式巴很难用 于拓扑结构复杂的分布式环境中。 3 消息中j 件( m o m ,m e s s a g eo r i e n t e dm i d d l e w a r e ) m o m 指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数 据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分 布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件 平台。目前流行的m o m 中间件产品有i b m 的m q s e r i e s b e a 的m e s s a g e q 等。消息 传递和排队技术有以f 三个主要特点”“: ( 1 ) 通讯程序可在不同的时间运行。程序不在网络上直接相互通话,而是间接 地将消息放入消息队列,因为程序问没有直接的联系,所以它们不必同时运行。 消息放入适当的队列时目标程序甚至根本不需要正在运行;即使目标程序在运 行,也不意味着要立即处理该消息。 ( 2 ) 对心用程序的结构没有约束。在复杂的应用场合中,通讯程序之间不仪可 以是一对一的关系,还可以进行一对多和多对一方式,甚至是上述多种方式的组 合。多种通讯力式的构造并没有增加应用程序的复杂性。 ( 3 ) 程序与网络复杂性相隔离。程序将消息放入消息队列或从消息队列中取出 消息来进行通讯,与此关联的全部活动,比如维护消息队列、维护程序和队列之 间的关系、处理网络的重新启动和在网络中移动消息等是m ( n 的任务,程序不直 接与其它程序通话,并异它们不涉及嘲络通讯的复杂性。 总之,采用消息中问件机制的系统中,不同的对象之间通过传递消息来激活 对方的事件以完成相应的操作。即系统采用面向对象的事件驱动方式工作而不是 面向过程的数据驱动。消息中1 1 日j 件既呵采用同步工作模式义可以采用异步工作 模式。并且在任何时刻都可以将消息进 j 传送或存储转发,另外消息中| 日j 件占用 的网络带宽较少,可以跟踪事务,并且通过将事务存储到磁盘卜实现网络故障时 系统的恢复功能。 4 基于对象请求代理( o r b ,o b j e c tr e q u e s tb r o k e r ) 的中问件 随着对象技术与分粕式计算技术的发展,远过程调用和消息中间件相互结合 形成了分布对象计算,并发展为当今软件技术的主流方向。1 9 9 0 年底,埘象管理 集冈o m g 首次推出对象管理结构( ) m a ( o b j e c tm a n a g e m e n ta r c h i t e c t u r e ) ,对象请 求代理( o b j e c tr e q u e s tb r o k e r ) 是这个模型的核心组件。它的作用在于提供个 通信框架,透明地在异构的分布计算环境中传递对象请求。c o r b a 规范包括了o r b 的所有标准接1 3 。1 9 9 1 年推出的c o r b a1 1 定义了接口描述语言o m gi d l 和支持 c i i e n t s e r v e r 对象在具体的o r b 上进行乜操作的a p i 。c o r b a2 0 规范描述的是 不同厂商提供的o r b 之间的互操作。埘象请求代理( o r b ) 是对象总线,它在c o r b a 第章中间件技术 规范中处于核心地位,定义异构环境下对象透明地发送请求和接收响应的基本机 制,是建市对象之间c l i e n t s e r v e r 关系的中| h j 件。 o r b 使得对象可以透明地向其他对象发出请求或接受其他对象的响应,这些对 象可以位丁- 本地也可以位于远程机器。o r b 拦截请求调用,并负责找到可以实现请 求的对象、传送参数、调用相应的方法、返回结果等。c l ie n t 对象并不知道同s e r v e r 对象通讯、激活或存储s e r v e r 对象的机制,也不必知道s e r v e r 对象位于何处、 它是用何种语言实现的、使用什么操作系统或其他不属于对象接口的系统成分。 值得指出的足c l i e n t 和s e r v e r 角色只是用来协调对象之划的相互作用,根据相 应的场合,o r bh 的对象可以是c l i e n t 也n j 以是s e r v e r ,甚至兼有两者。当对 象发出一个请求时,它是处于c 1 e n t 角色;当它在接收请求时,它就处丁s e r v e r 角色。大部分的对象都是既扮演c l i e n t 角色又扮演s e r v e r 角色。另外由于o r b 负责对象请求的传送和s e r v e r 的管理,c l i e n t 和s e r v e r 之问并4 i 直接连接,凶 此,与r p c 所支持的单纯的c 1i e d t s e r v e :结构相比,o r b 可以支持更加复杂的结 构。 典型产品有:i o n ao r b i x ,b o r l a n dv i s i b r o k e r i b mc o m p o n e n t b r o k e r 等。 5 事务处理监控( t p m ,t r a n s a c t i o np r o c e s s i n gm o n i t o r ) 中间件 事务处理监控最早出现在大型机上,为其提供支持大规模事务处理的可靠运 行环境。随着分布计算技术的发展,分布应用系统对大规模的事务处理提出了需 求,比如商业活动中大量的关键事务处理。事务处理监控界于c 1 l e n t 和s e r v e r 之间,进行事务管理与协调、负载平衡、失败恢复等,以提高系统的整体性能。 它可以被看作是事务处理应用程序的“操作系统”。总体上来说,事务处理监控有 以下功能:1 ( 1 ) 进程管理,包括启动s e r v e r 进程、为其分配任务、监控其执行并对负载 进行平衡。 ( 2 ) 事务管理,即保证在其监控下的事务处理的原子性、。致性、独立性和 持久性。 ( 3 ) 通讯管理,为c 1i e nl 和s e r v e r 之问提供了多种通讯机制,包括请求响 应、会话、排队、订阅发布和广播等。 事务处理监控能够为大量的c l i e n t 提供服务,比如飞机定票系统。如果s e r v e r 为每一个c li e n t 都分配其所需要的资源的话,那s e r v e r 将不堪重负。但实际上, 在同一时刻并不是所有的c 】i e n t 都需要请求服务,而一旦某个c 1i e n t 请求了服 务,它希望得到快速的响应。事务处理监控在操作系统之卜提供一组服务,对 c 1l e n t 请求进行管理并为其分配 目应的服务进程,使s e r v e r 在有限的系统资源下 能够高效地为人规模的客户提供服务。 事务处理中间件理论上己相刈成熟,功能和性能界定清晰,但它一般只适用 第二章中问件技术 于联机交易系统。它是针对复杂环境下分布式应用的速度和可靠性要求而实现的 一种复杂的中间件产品。程序员可以使用它提供的事务处理a p i 编写高速而且可 靠的分布式应用程序。事务处理中间件也是基于消息的传输,也可支持同步和异 步方式,但与消息中问件的定位差距很大,属于一种较专用的中间件。 2 3 中间件应用 中间件抽象了典型的应用模式,应用软件制造者町以基于标准的形式进行开 发,利用现成的软件构件装配适用于不同领域、功能各异的应用软件。这使软件 构件化成为可能,加速了软件复用的现实化过程,而软件复用一直是世界软件业 所追求的梦想。最早设计出的中间件是通信中间件和交易处理中问件。经过十儿 年的发展,现在,中间件已经出现消息中间件、埘象中间件、数据中间件、应用 服务器中问件、安全中间件等多种类型,成为设计分布式系统时不町缺少的基础 软件。现在,中问件已经成为一项软件核心技术,几乎所有的软件新技术都与之 有关,并同操作系统、数据库一起并列为三大基础软件。 中间件有诸多优越性,包括缩短应用的丌发周期,节约开发成本,减少系统 初期的建设成本,降低丌发的失败率,简化应用集成,提高f :发质量等。据世界 著名的咨询机构s t a n d is hg r o u p 调肖,山于采用了中问件技术,应用系统的总建 设费用町以减少r i o t i 右。另外,由于中问件的使用,可以保证计算机系统的安全、 可靠、高效运行。今天,在金融、电信、电力、交通、军事、政府等行业的信息 化管理中,作为应用基础构件的中川件应用己十分广泛。 1 在分布式处理方面的应用 电信业务的计费系统需要处理大量并发的信息采集和营业事务,这都可通过 中间件来实现,并实时得出处理结果:计算中心与营销点的应片j 系统需要保证营业 事务的一致性和完整性以及系统的高效率,中问件的使用可以实现“一点录入, 全网共享”及“分夼处理,集中管理”,轻松地解决了联机交易处理中的信息传输 问题和交易管理问题,简化了交易的复杂性、町靠性。 2 在信息安全方面的应用 目前,会融、电信等行业的计算机网络经常受到威胁,如仿冒、盗用合法用 户身份,窃取、篡改网络信息,恶意否认自己发出的信息或恶意大量重发信息等。 中间件可以提供访问权限控制、身份认证、数据加密、抗否认等功能,为系统建 立可靠的安全体系。 3 在电子商务方面的应用 在电子商务领域,中间件更是必不i 可少的重要基础软件。目前常用的网络技 术在早期开发时主要是针对信息发布。在发展电子商务时,存在并发访问瓶颈、 第一审中间件挫术 难扩展、效率低、不安令等诸多问题,要满足电子商务的需要,就要以网络的低 层技术为基础,规划一个整体的应用框架,并提供一个支撑平台应用服务器,用 于互联网应用的开发、部署和管理,而应用服务器l f 是基于互联网的中间件。此 外,出于企业并不能把业务一步跨到互联网上,必须同传统的应用系统结合,因 此,也要通过中间件来集成网络应用和传统应用,实现完整的电子商务。 4 在国家安全方面的应用 中间件让中国l t 产业感到振奋的另一个原因是,它为解决中国的信息安全问 题提供了种可能的方法。众所周知,如果计算机硬件和操作系统都有一个“后 门”,制造和设计者掌握着“后门”的钥匙。对他们来说,你储存在电脑上的信息 毫无秘密可言。这个“后门”是所有加密软件、身份认证、防火墙都拧制刁i 了的。 目f i i ,我们使用的计算机多数束自围外芯片,操作系统更是几乎被国外垄断。技 术上受制于人,这是我国计算机应用系统安全的最大担忧。我国一直在进行国产 操作系统和安令产品以及芯片的研制工作,不过短期内难有突破性成果。那么, 如何在采用国外先进系统软件的同时又在一定程度上保护国家的信息安全呢? 中 间件产品或许堪当其任。 在世界范罔内中间件是软件技术发展的种潮流,被誉为发展最快的软件品 种,近年来势头强劲。在软件发展史卜,中问件是增长速度最快的软件,特别是 在近几年,它己成为国际市场上炙手可热的产品。在世界范围内,中间件己经进 入了产业化阶段。其次,在我国,从9 0 年代初国内就有企业开始瞄准这。领域。 第一个涉足中间件的东方通科技公司于1 9 9 3 年推出了巾固最早的中间件产品,此 后,南天、中科软、清华紫光、托普软件、东大阿尔派、金碟、巾创等企业的产 品相继出现,国防科大、电子科人等高校也均较早地介入了中州件领域,一个中 间件产、群正在形成。与此同时,一个高速增长的中问件市场也初具规模。未来 几年,中国将是亚太地区最大的中间件市场之一。中因中间件软件产业化的市场 基础己经基本具备。 我国软件产业化的另一个前景是,在国内中问件的市场份额上,国内的东方 通科技公司与美国的i b m 和b e a 两家公司形成三足鼎立的局面,改变了我国在基 础软件方面没有拳头产品的被动局面。中国在软件领域终于有了与世界对话的资 格,第一次可以在全球范围内为中国软件产业争取一席之地。” 2 。4 中间件技术发展趋势 中间件技术的r 趋完善,为软件体系结构注入了新的活力,改变了传统的客 户端服务器的两层应用模式,在客户端和服务器之f 日j 加入了巾问层,从而构成了 三层或多层的应_ j 模式。特别是软构件技术的发展,使中间件技术的发展有了更 第二章中问件技术 大的突破。但是我们也看到还有一些问题匾待解决:f 1 前人多流行的中问件都使用 专有的a p i 和专有的协议,来自不同家的产品之间很难进行互操作,例如c o r b a 组件如何复用c o m 组件等问题,这和组件技术发展的初衷自相矛盾。之所以产生 这种问题,主要是因为中划件没有一个统一的标准规范。中间件只有共同遵循一 致的协议规范,才能够真f 达到软件复用的目的。随着对中间件技术和理论研究 的不断深入,这种统一规范终将产生。n “ 嘏一氘数秣库中旧件挂求 第三章数据库中间件技术 3 1 软件系统开发过程中面临的问题及其分析 随着信息技术和社会经济的迅猛发展,软件处理对象( 如越l k 、世务过程) 的几 趋多元化和复杂化,软件开发者面临的环境越来越复杂。目前,存软件系统的丌 发过程l 1 经常面临这样的问题。 其一,从_ r j f ,( 例如企业) 角度柬看,数据库应用发腱到今天,已有相当数量 的介业和科研机构积累了大量的、以不同形式存储的、依赖于不同的数据库管理 系统的数据,这些数据都是很重要的资源。如何共享和处理这些肄构的数据信息, 足企、k 进一步发展所需解决的问题:而且,出于历史等原因, i n t e r n e t 上的数 据库系统不少也是分布、异构的( 异构表现为小同的硬什体系结构。不同的操作系 统,不嗣的网络体系结构等) ,如何台理高效使用这些数掘库,电己成为当前曛待 解决的问题。另外,在有些企、k 中,其数据库访问频率非常高,例如邮件系统、 网站等,软件系统如何承受高负荷访问请求,如何提高数据库访问效率,也是现 实存存的问题。 其二,从软件丌发者和软件丌发技术角度来看,白7 0 年代提出了关系数据库 模型以米,众多的软件厂商陆续推m 了符种关系数据库产品,如 d b 2 ,o r a c l o ,i n f o r m i x ,s q l s e r v e r ,a c c e s s 等。这些数据库存物理上和逻辑上存在 差异,如数据格式、数据操作方式等方面。作为数摒库统一访问标准的s 叽 ( mr u c t u r e dq u e r yl a n g u a g e ) ,似乎让人们看到了希望,但是,事实上,不同的 数据库系统对s q l 吏持却并不完全统一,纷纷加入自己的“特色”,因此,研究能 集成现有的数摒库系统的方法己成为刻不容缓的睬题。 3 2 数据库中间件的产生 在数据库中删件技术产生前,随着组件技术和客户机服务器( c 1 i e n t s e r v e r 简称c s ) 技术的进步,i n t e r n e t i n t r a n e t 以及分布式坩象计算的出现,多层客 户机服务器结构己成为许多i n t r a n e t ( 企业内部刚) 应用程序开发的首选,采用多 层客,1 服务器体系结构,对解决以上问题起到了定的作用。其工作过程是:表示 层接收用户的输入,向、l k 务逻辑层发送数据清求,业务逻辑层做一些数据处理届, 再把请求传递给相应的后端数据库服务器进行最后的数据处理,然后将结果绛 过重新打包,返回给客户端。图3 【是个典型的多层客户, 9 1 i 务器应用。 过重新打包,返回给客、端。图3 一l 是个典型的多层客户服务器应用。 第二章数据库中间件技术 c 眦z 卜一 业 务 c ,舢1 _ 不逻 层辑 层 ;c 一卜 图3 - 1 多层客户服务器体系结构 其中,表示层是应用的用户接口部分,它担负着用户与应用之间的对话功能, 用于检查用户从键盘等输入设备的数据,显示应用输出的数据。用户接口发生变 更时,只需改写显示控制和数据检查程序,而4 i 影响其他两层的程序。本层检查 的内容也只限于数据的形式和值的范围,不包括有关业务本身的处理逻辑。业务 逻辑层( 又称功能层) 主要负责两部分工作:其一是商务逻辑的处理;其二是用户界 面层与数据层之白j 的交互访问操作。目的是将用户和数据访问的复杂性相隔离。 数据层就d b m s ( 数据库管理系统) ,负责管理对数据库数据的读写。数据层可 包括新的数据库和已有的数据库d b m s ,必须能迅速执行大量数据的更新和检索。 现在的主流是关系数据库管理系统r d b m s ( r e l a t i o n a ld a t a b a s em a n a g e m e n t s y s t e m ) 。因此,一般从功能层传到数据层的要求大都采用s ( l 事务的方式。多层 c s 结构较传统的两层c l s 结构具有如下优点: ( 1 ) 具有灵活的系统构成 对丁各层可以选择与其处理负荷和处理特性相适应的硬件。这是一个与系统 町缩放性直接相关的问题。清晰、合理地分割三层结构并使其独立,可以使系统 构成的变更非常简单。 ( 2 ) 提高程序的开发效率和可维护性 多层c s 结构中,应用的各层可以并行丌发,各层也可以选择各自最适合的 j f 发语言进行,f 发。当需求改变时,只需修改某层的程序即可。 ( 3 ) 有利于变更和维护应用技术规范 因为是按层分割功能,所以各个程序的处理逻辑变得十分简单。 ( 4 ) 进行严密的安全管理 愈关键的应用,用户的识别和存取权限设定愈重要。在i 层c s 结构中,识 别用户的机构是按层来构筑的,对应用和数据的存耿权限也可以按层进行设定。 显然,多层模式的软件体系结构具有较之传统的两层c s 模式软件体系结构 所不可比拟的优越性。但是,随着应用的深入和趋于复杂,这种体系结构还是存 第三章数据库中日j 件技术 在不足,仍然不能完全满足目前的应用,不能彻底解决本文前面提到的软件上程 实施中经常而临的问题,主要表现为如卜- 几点: ( 1 ) 对重复的数据库操作没有优化。在大型应用中,常常有一些执行频率较高 的数据库操作( 如查询) 这种重复连接更容易造成网络拥塞,电加重了服务器的 负担。 ( 2 ) 对连接没有充分利用。按照通常的方式,在访问局域网中d b m s 时需要先 建立用户连接,然后通过用户连接对数据库进行操作,操作执行完后立即断丌连 接。这样做虽然可以提高d b m s 的多用户服务能力但是建立与数据库的连接通常 都是相当费时的操作可能包括发送连接请求等待相应的响应,权限检查等,这 样会降低数据库服务器的响应速度,在实际使用时效率较低。 ( 3 ) 远程访问1 i 可靠。在广域网环境下,通过j d b c 直接与远程数据库连接从 技术上来说是可行的。但整个操作过程中需要一直保持与远程数据库的连接直 到操作结束返阻j 本地。这么做,方面由于带宽和流量的彳i i 司,连接的可靠性很 难预测,一h 连接中断,就意味着操作

温馨提示

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

评论

0/150

提交评论