(计算机软件与理论专业论文)基于中间件技术的通关管理系统的设计与实现.pdf_第1页
(计算机软件与理论专业论文)基于中间件技术的通关管理系统的设计与实现.pdf_第2页
(计算机软件与理论专业论文)基于中间件技术的通关管理系统的设计与实现.pdf_第3页
(计算机软件与理论专业论文)基于中间件技术的通关管理系统的设计与实现.pdf_第4页
(计算机软件与理论专业论文)基于中间件技术的通关管理系统的设计与实现.pdf_第5页
已阅读5页,还剩85页未读 继续免费阅读

(计算机软件与理论专业论文)基于中间件技术的通关管理系统的设计与实现.pdf.pdf 免费下载

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

文档简介

四川大学硕士学位论文 基于中间件技术的通关管理系统的设计与实现 计算机软件与理论 研究生李磊指导教师唐宁九 中间件是位于操作系统和应用之间的一层软件,其实质是一种加速分布式 系统开发的工具。在开发分布式系统的过程中,一系列难于处理的问题被隐藏 于中间件内部。由于分布式系统一般会包含使用不同语言开发,并且在不同操 作系统是上运行的组件,这样由于中间件的存在而使语言和操作系统的统一所 带来的好处就不言而喻了。这是中间件系统的最大优点,也使得分布式系统的 开发更加容易。国内外对于这一技术的研究正在不断深入,同时大型的软件公司 及软件组织机构( o m g ) 都推出了支持中间件技术的软件平台。因此,我们设计 并构建了基于中间件( m i c r o s o f td n a2 0 0 0 ) 的通关管理系统一h 2 0 0 0 。该系统是 中国海关与微软公司合作开发,采用集中式开发模式,具有高安全性、高扩展 性和高可靠性的运行特点。系统采用3 层软件体系结构,数据库层选用o r a c l e 数据库,逻辑层和表现层均选用m i c r o s o f tv i s u a ls t u d i o n e t 系列软件作为 本项目开发工具。本文主要着重研究了中间件技术,同时介绍了中间件技术 ( c o m + ) 在开发过程中的应用情况。 本文第一章从中间件技术的概念入手,介绍了中间件技术的优势和特点, 分析了中间件技术的分类和发展趋势。第二章作者对主流的中间件技术规范进 行了探讨,比较了三大主流中间件技术平台。第三章分析并研究基于m i c r o s o f t d n a2 0 0 0 的分布构件应用模型,重点分析m i c r o s o f td n a2 0 0 0 中间件平台上 的c o m + 技术和n 层体系结构模型在项目开发过程中的应用情况。第四章着重分 析了c o m + 提供的r o l e b a s e ds e c u r i t y 授权控制机制,并在开发中利用c o m + 的r o l e b a s e ds e c u r i t y 配合w i n d o w sk d c 和s q ls e r v e r 多项技术共同实现 系统安全认证。第五章,详细介绍了国家部级科研项目 2 0 0 0 通关管理系 统的设计及实现。 四川大学硕士学位论文 关键宇:中间件,多层结构,c o m + ,基于角色的安全性,w i n d o w sd n a , 对象管 理组织 四j 1 l 大学硕士学位论文 d e s i g na n dr e a l i z a t i o no fc l e a r a n c e m a n a g e m e n ts y s t e mb a s e do nm i d d l e w a r e c o m p u t e rs o f t w a r ea n dt h e o r y g r a d u a t el il e ia d v i s o rt a n gn i n g j i u m i d d l e w a r ei sap i e c eo fs o f t w a r el y i n gb e t w e e nt h eo p e r a t i n gs y s t e ma n dt h e a p p l i c a t i o n m i d d l e w a r e e s s e n t i a l l y , i s at o o lt on l a k ead i s t r i b u t e ds y s t e m d e v e l o p e r sl i f ee a s i e r i ta c h i e v e st h i sb yh i d i n gan u m b e ro f t h ed i f f i c u l t i e si n v o l v e d i nb u i l d i n gs u c hs y s t e m s s i n c ed i s t r i b u t e ds y s t e m sm a yc o n s i s to fc o m p o n t s w r i t t e ni nd i f f e r e n tl a n g u a g e sa n dr u n n i n go nd i f f e r e n to p e r a t i n gs y s t e m s ,i ti so r e n h e l p f u lt oh a v eas i n g l ec o m m o nd e v e l o p m e n ta n dr u n t i m ee n v i r o n m e n t t h i si so n e o ft h em o s ts i g n i f i c a n ta d v a n t a g e so fm i d d l e w a r e s y s t e m sa n dw i l lm a k et h e d e v e l o p m e n to fd i s t r i b u t e ds y s t e m se a s i e r n er e s e a r c ho fm i d d l e w a r ei sn o w g r o w i n gq u i c k l y , a ts a m et i m em o s to fl a r g e - s c a l es o f t w a r ec o r p o r a t i o na n dt h e o b j e e tm a n a g e m e n tg r o u p ( o m g ) i sd e v e l o p i n gm a n ys o f t w a r ep r o d u c t sb a s e d m i d d l e w a r e f o rt h i sr e a s o n , w ed e s i g na n db u i l dam i d d l e w a r eb a s e dc u s t o m s c l e a r a n c em a n a g e m e n ts y s t e m - h 2 0 0 0 1 1 1 i ss y s t e mi s c o - d e v e l o p e db yc h i n a c u s t o m sa n dm i c r o s o f t 1 1 1 ed e v e l o p m e n tp r o e c e s su t i l i z e sc e n t r a l i z e dd e v e l o p m e n t p a t t e r n , w h i c hg u a r a n t e e sh i g hs a l t y , h i g hs e a l b i l i 哆a n dh i g hr o b u s t n e s s t od e v e l o p t h es y s t e m , 3 - t i e ra r c h i t e e t t t r ei sa d o p t e d o r a c l ei st a k e na st h ed a t a b a s ea n d m i c r o s o f tv i s u a ls t u d i o n e ti sc h o s e na st h ed e v e l o p m e n tu t i l i t i e sf o rl o g i ct i e ra n d v i e wt i e r t h i sp a p e rm a i n l yr e s e a r c ht h em i d d l e w a r ea n di n l r o d u e et h ea p p l i c a t i o n o f m i d d i e w a r e ( c t c c o m + ) i nt h ed e v e l o p m e n to f t h i ss y s t e m t 1 1 i sp a p e ri so r g a n i z e da sf o l l o w s :s c c t i o n1t a k e st h ec o n c e p t so fm i d d l e w a r e a sas t a r tp o i n t i n t r o d u c e st h ea d v a n t a g e sa n dc h a r a c c e r i s t i e so fm i d d l e w a r ea n d a n a l y s e s t h ec l a s s i f i c a t i o no fv a r i o i y i 】e so fm i d d l e w a r ea sw e l la si t s d e v e l o p m e n tu e n d s s e c t i o n2d i s c u s s e st h em a i n s t r e a mm i d d l e w a r es p e c i f i c a t i o n s 。 c o m p a r e st h et h r e em a i n s t r e a mm i d d l e w a r ep l a t f o r m s s e c t i o n3a n a l y s e sa n d 四川大学硕士学位论文 i n v e s t i g a t e st h em i c r o s o f td n a2 0 0 0b a s e dd i s t r i b u t e dc o m p o n e n tm o d e l w h i c h 1 a y se m p h a s i z eo nt h ea p p l i c a t i o no fc o m + a n d n t i e r1 1 1 0 d e l t 1 1 a ta l ee m b e d d e di n m i c r o s o f td n a2 0 0 0 i nt h ed e v e l o p m e n tp r o c e s s s e c t i o n4a n a l y s e st h er o l e b a s e d s e c u r i t ya u t h o r i z a t i o np r o v i d e db vc o m + a n di m p l e m e n t ss y s t e ms e c u r i t y a u t h e n t i c a t i o nu s i n gt h i sm e c h a n i s mc o m b i n e dw i 血w i l l d o w sk d ca n ds q ls e r v e r s e c t i o n5g i v e sad e t a i l e dd e s e r i p t i o i lo ft h ed e s i g na n di m p l e m e t a t i o no fn a t i o n a l a n dm i n i s t r yd e g r e er e s e a r c hp r o j e e l s t h ec u s t o m sc l e a r a n c em a n a g e m e n ts y s t e m h 2 0 0 0 k e yw o r d s :m i d d l e w a m ,m u l t i l a y e rs t r u c t u r e ,c o m + , r o l e - b a s e ds e c u r i t y , w i n d o w sd n a o m g 四川大学硕士学位论文 声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得四川大学或其他教育机 构的学位证书或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确地说明并表示谢意。 本学位论文成果是本人在四川大学读书期间在导师指导下取得的,论文成 果归四川大学所有,特此声明。 研究生 学院导师:篮 遑幺年! 1 月鱼日 四川大学硕士学位论文 l 绪论 1 1 为什么需要中间件 计算机技术迅速发展,从硬件技术看,c p u 速度越来越高,处理能力越来 越强;计算机系统也从最初单机系统阶段发展为多个用户通过联机终端来访问。 从软件技术看,应用程序的规模不断扩大,特别是i n t e r n e t 及w 唧的出现,使 计算机的应用范围更为广阔,许多应用程序需在网络环境的异构平台上运行。 网络技术的应用,产生了客户服务器的计算服务模式,多个客户端可以 共享数据库服务器和打印服务器等。随着计算机和网络技术的飞速发展,许多 软件需要在不同厂家的硬件平台、网络协议异构环境下运行,应用规模从局域 网发展到广域网,应用范围转变为面向三层和多层体系结构的分布式环境,在 分布式环境中,无论是硬件平台还是软件平台都不可能做到统一,而大规模的 应用软件通常要求在软硬件各不相同的分布式网络上运行。中间件产生以前, 应用软件直接使用操作系统、网络协议和数据库等开发,开发者不得不直接面 对许多复杂棘手的问题,如操作系统的多样性、繁杂的网络程序设计和管理、 复杂多变的网络环境、数据分散处理带来的不一致性问题等等,这些与用户的 业务没有直接关系,但又必须解决,耗费了大量的时间和精力,因此开发者迫 切需要一种基于标准的、独立于计算机硬件以及操作系统的开发和运行环境。 在这种环境之下中间件技术应运而生。 1 2 中间件技术的概念和发展 为解决分布异构问题,人们提出了中间件( m i d d l e w a r e ) 的概念。中间件是 位于平台( 硬件和操作系统) 和应用之间的通用服务,如图1 1 所示,这些服务 具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符 合接口和协议规范的多种实现。 四川大学硕士学位论文 中件。 e 分布系统服务j 图1 1 中间件 由于中间件技术正处于发展过程之中,因此目前尚不能对它进行精确的定 义。比较流行的定义是:中间件是一种独立的系统软件或服务程序,分布式应 用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机服务器 的操作系统之上,管理计算机资源和网络通讯。 从中间件的定义可以看出,中间件是一类软件,而非一种软件;中间件不 仅仅实现互连,还要实现应用之间的互操作:中间件是基于分布式处理的软件, 定义中特别强调了其网络通讯功能。同时,中间件还是处于应用软件和系统软 件之间的一类软件,是独立于硬件或数据库厂商( 处于其产品的中间,实现其 互连) 的一类软件,是客户方与服务方之间的连接件,是需要进行二次开发的 中间产品。 中间件技术是伴随网络而发展起来的一种面向对象的技术。以前的计算机 系统多是单机系统,多个用户是通过联机终端来访问的,没有网络的概念。网 络出现后,产生了c 1 i e n t s e r v e r 的计算服务模式,多个客户端可以共享数据 库服务器和打印服务器等等。随着网络的更进一步发展,许多软件需要在不同 厂家的网络产品、硬件平台、网络协议异构环境下运行,应用的规模也从局域 网发展到广域网。在这种情况下,c l i e n t s e r v e r 模式的局限性也就暴露出来 2 四川大学硕士学位论文 了,随之而来提出了中间件的概念。中间件是位于操作系统和应用软件之间的 通用服务,它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统与网络 协议的异构性,使应用软件能够平滑地运行于不同平台上。同时中间件在负载 平衡、连接管理和调度方面起了很大的作用,使企业级应用的性能得到大幅提 升,满足了关键业务的需求。嘲 1 3 中间件的特点和优势 1 3 1 中间件的特点 中间件应具有以下的一些特点: 1 满足大量应用的需要。 2 运行于多种硬件和0 s 平台。 3 支持分布式计算,提供跨网络、硬件和o s 平台的透明性的应用或服务 的交互功能。 4 支持标准的协议。 5 支持标准的接口。 程序员通过调用中间件提供的大量a p t ,实现异构环境的通讯,从而屏蔽 异构系统中复杂的操作系统和网络协议。中间件提供客户机与服务器之间的连 接服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平 台,它们可以有符合接口和协议规范的多种实现。由于标准接口对于可移植性 和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。 对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的 程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统 软件怎样更新换代,只要将中间件升级更新,并保持中问件对外的接1 3 定义不 变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的 重大投资。 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件 四川大学硕士学位论文 在不同的技术之间共享资源。中间件软件管理着客户端程序和数据库或者早期 应用软件之间的通讯。中间件在分布式的客户和服务之间扮演着承上启下的角 色,如事务管理、负载均衡以及基于w e b 的计算等。利用这些技术有助于减轻 应用软件开发者的负担,使他们利用现有的硬件设备、操作系统、网络、数据 库管理系统以及对象模型创建分布式应用软件时更加得心应手。由于中间件能 够保护企业的投资,保证应用软件的相对稳定,实现应用软件的功能扩展;同 时中问件产品在很大程度上简化了一个由不同硬件构成的分布式处理环境的复 杂性,所以它的出现正日益引起用户的关注。1 2 1 1 3 2 中间件的十大优势 世界著名的咨询机构t h es t a n d i s hg r o u p 在一份研究报告中归纳了中间 件的十大优越性: 1 。应用开发:t h es t a n d i s hg r o u p 分析了1 0 0 个关键应用系统中的业务 逻辑程序、应用逻辑程序及基础程序所占的比例;业务逻辑程序和应用逻辑程 序仅占总程序量的3 0 ,而基础程序占了7 0 ,使用传统意义上的中间件一项就 可以节省2 5 6 0 的应用开发费用。如是以新一代的中间件系列产品来组合应 用,同时配合以可复用的商务对象构件,则应用开发费用可节省至8 0 。 2 系统运行:没有使用中间件的应用系统,其初期的资金及运行费用的 投入要比同规模的使用中间件的应用系统多一倍。 3 开发周期:基础软件的开发是一件耗时的工作,若使用标准商业中间 件则可缩短开发周期5 0 7 5 。 4 减少项目开发风险:研究表明,没有使用标准商业中间件的关键应用 系统开发项目的失败率高于9 0 。企业自己开发内置的基础。软件是得不偿失 的,项目总的开支至少要翻一倍,甚至会十几倍。 5 合理运用资金:借助标准的商业中间件,企业可以很容易地在现有或 遗留系统之上或之外增加新的功能模块,并将它们与原有统无缝集合。依靠标 4 四川大学硕士学位论文 准的中间件,可以将陈旧的系统改头换面成流行的i n t e r n e t i n t r a n e t 应用系 统。 6 应用集合:依靠标准的中间件可以将现有的应用、新的应用和购买的 商务构件融合在一起进行应用集合。 7 系统维护:需要一提的是,基础( 中间件) 软件的自我开发是要付出 很高代价的,此外,每年维护自我开发的基础( 中间件) 软件的开支则需要当 初开发费用的1 5 2 5 ,每年应用程序的维护开支也还需要当初项目总费用的 1 0 7 6 2 0 左右。而在一般情况下,购买标准商业中间件每年只需付出产品价格的 1 5 2 0 的维护费,当然,中间件产品的具体价格要依据产品购买数量及哪一家 厂商而定。 8 质量:基于企业自我建造的基础( 中间件) 软件平台上的应用系统, 每增加一个新的模块,就要相应地在基础( 中间件) 软件之上进行改动。而标 准的中间件在接口方面都是清晰和规范的。标准中间件的规范化模块可以有效 地保证应用系统质量及减少新旧系统维护开支。 9 技术革新:企业对自我建造的基础( 中间件) 软件平台的频繁革新是 极不容易实现的( 不实际的) 。而购买标准的商业中间件,则对技术的发展与变 化可以放心,中间件厂商会责无旁贷地把握技术方向和进行技术革新。 1 0 增加产品吸引力:不同的商业中间件提供不同的功能模型,合理使用, 可以让你的应用更容易增添新的表现形式与新的服务项目。从另一个角度看, 可靠的商业中间件也使得企业的应用系统更完善,更出众。 具体地说,中间件屏蔽了低层操作系统的复杂性,使程序开发人员面对一 个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业 务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技 术上的负担。中间件带给应用系统的不只是开发的简单、开发周期的缩短,也 减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。 t h es t a n d i s h g r o u p 的调查报告显示,由于采用了中间件技术,应用系统的总 s 四川大学硕士学位论文 建设费用可以减少5 0 左右。在网络经济大发展、电子商务大发展的今天,从 中间件获得利益的不只是i t 厂商,i t 用户同样是赢家,并且是更有把握的赢 家。中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系 统上开发应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作 系统、数据库管理系统本身无法完成的工作。中间件的这一作用,在技术不断 发展之后,使以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、 财力投入。 1 4 中间件的应用与分类 1 4 1 主要中间件的分类 。随着计算机软件技术的发展,中间件技术也已经日渐成熟,并且出现了不 同层次、不同类型的中间件产品。按照i d c 的分类方法,中间件可分为六类。 分别是数据访问中问件、远程过程调用中间件、消息中阀件、交易中闻件、对 象中间件等。 它们可向上提供不同形式的通讯服务,包括同步、排队、订阅发布、广播 等等,在这些基本的通讯平台之上,可构筑各种框架,为应用程序提供不同领 域内的服务,如事务处理监控器、分布数据访问、对象事务管理器o t m 等。 平台为上层应用屏蔽了异构平台的差异,而其上的框架又定义了相应领域内的 应用的系统结构、标准的服务组件等,用户只需告诉框架所关心的事件。然后 提供处理这些事件的代码。当事件发生时,框架则会调用用户的代码。用户代 码不用调用框架,用户程序也不必关心框架结构、执行流程、对系统级a p i 的 调用等。所有这些由框架负责完成。因此,基于中间件开发的应用具有良好的 可扩充性、易管理性、高可用性和可移植性。 下面,针对几类主要的中问件分别加以简要的介绍: 数据访问中间件:适用于应用程序与数据源之间的互操作模型,客户端使 用面向数据库的 p i ,以提请直接访问和更新基于服务器的数据源,数据源可 6 四川大学硕士学位论文 以是关系型、非关系型和对象型。这类中间件大都基于s q l 语句,采用同步通 讯方式。此类中间件使应用开发简单化,但如果透过广域网使用,则会带来严 重的效率问题,因为在低速网络上来回交互s q l 语句会使通讯流量过大,同时 对数据压缩、加密带来不便。 远程过程调用中间件( r e m o t ep r o c e d u r ec a l l ) :一个应用程序使用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 通讯是同步的。采用 线程可以进行异步调用。 在r p c 模型中,c l 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 1 i e n t 发出请求的同时,要求s e r v e r 必须是活动的。 面向消息的中问件( m e s s a g e - o 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 等。 消息传递和排队技术有以下三个主要特点:通讯程序可在不同的时间运行 程序,不在网络上直接相互通话,而是间接地将消息放入消息队列,因为程序 7 四川大学硕士学位论文 间没有直接的联系。所以它们不必同时运行。消息放入适当的队列时,目标程 序甚至根本不需要正在运行;即使目标程序在运行,也不意味着要立即处理该 消息。程序与网络复杂性相隔离,程序将消息放入消息队列或从消息队列中取 出消息来进行通讯,与此关联的全部活动,比如维护消息队列、维护程序和队 列之间的关系、处理网络的重新启动和在网络中移动消息等是m o 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 s ) 最早 出现在大型机上,为其提供支持大规模事务处理的可靠运行环境。随着分布计 算技术的发展,分布应用系统对大规模的事务处理提出了需求,比如商业活动 中大量的关键事务处理。事务处理监控界于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 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 将不堪重负( 如图1 2 所示) 。但实际上,在同一时刻并不 是所有的c l i e n t 都需要请求服务,而一旦某个c l i e n t 请求了服务,它希望得 到快速的响应。事务处理监控在操作系统之上提供一组服务,对c l i e n t 请求进 行管理并为其分配相应的服务进程,使s e r v e r 在有限的系统资源下能够高效地 为大规模的客户提供服务。 8 四川大学硕士学位论文 图1 2 事务处理监控 对象中间件:随着对象技术与分布式计算技术的发展,两者相互结合形 成了分布对象计算,并发展为当今软件技术的主流方向。1 9 9 0 年底,对象管理 集团o m g 首次推出对象管理结构o 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 9 9 1 年推出的c o r b a1 1 定义了接口描述语言 o m gi d l 和支持c 1 i e n t s e r v e r 对象在具体的o r b 上进行互操作的a p i 。c o r b a 2 0 规范描述的是不同厂商提供的o r b 之间的互操作。 对象请求代理( o r b ) 是对象总线,它在c o r b a 规范中处于核心地位,定义异 构环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间 c l i e n t s e r v e r 关系的中间件。o r b 使得对象可以透明地向其他对象发出请求或 接受其他对象的响应,这些对象可以位于本地也可以位于远程机器。o r b 拦截 请求调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返 回结果等。c l i e n t 对象并不知道同s e r v e r 对象通讯、激活或存储s e r v e r 对象 9 四川大学硕士学位论文 的机制,也不必知道s e r v e r 对象位于何处、它是用何种语言实现的、使用什么 操作系统或其他不属于对象接口的系统成分。 值得指出的是c l i e n t 和s e r v e r 角色只是用来协调对象之间的相互作用, 根据相应的场合,o r b 上的对象可以是c l i e n t ,也可以是s e r v e r 。甚至兼有两 者。当对象发出一个请求时,它是处于c 1 l 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 之间并 不直接连接,因此,与r p c 所支持的单纯的c l i e n t s e r v e r 结构相比,o r b 可 以支持更加复杂的结构。l 硎1 1 1 4 2 中间件的应用领域 目前国内外有不少厂商都开发出自己的中间件产品,其中有全球最大的独 立中间件厂商b e a 公司,还有像i b m 、o r a c l e 和m i c r o s o f t 、h p 、s u n 等大厂商 也早己涉足电子商务中间件。 面向对象的中间件是对象技术和分布式计算发展的产物,业界普遍认为面 向对象是今后中间件发展的主流方向,它提供一种通讯机制,透明地在异构的 分布计算环境中传递对象请求,而这些对象可以位于本地或者远程机器。面向 对象标准原本只有一个,即c 0 r b a ( 公共对象请求代理体系结构) ,该标准由包 括b e a 、i b m 、o r a c l e 、s u n 和s y b a s e 等公司在内的众多厂商一起制定,从而形 成了一个庞大的c o r b a 联盟势力。后来,s u n 推出了企业级j a v a b e a n s ( e j b ) , 用自己易使用的程序模型来对c o r b a 做出了改进。微软c o m ( c o m p o n e n to b j e c t m o d e l ,组件对象模型) 的出现,使面向对象中间件市场里又多了一个标准,这 样,面向对象中间件产品实际上形成了两大标准,一是微软的c o m ,一是 j a v a b e a n s 。 从宏观上看,中间件可以分为3 大类: 数据类:用于数据的存取、利用和增值,此类中间件用于构建以数据为中 l o 四川大学硕士学位论文 心的应用。 处理类:把分布在网络结点上的各个应用或处理连接在一起,形成一个统 一的分布式应用。 分布式构件类:支持构件式应用,未来应用的发展方向,目前竞争激烈。 为了更加清晰起见,我们把中间件细分为1 2 种,如表i 1 所示: 表1 i 中间件分类 序号i 种类 3 优劣 i 产品 数据库系统的产品管理数据库数据库厂商的产品功能较强、性 连接,抽象网络协议一般由数能较好。而独立于数据库厂商的 o r a c l en e t s s y b a s en e f l i b , lp r o n t o ls 目叫嘲i n k l s o l v 据库厂商或支持多数据库的中产品在用于多教据库环境时效率 间件提供有所降低 s e q u e l i n kc l i e n t 数据库存取a p i s 支持对数据 数据库厂商的a p i s 可支持对数 库存取的编程,可以使用存储过 据库所有功能的存取,因而适合 i b md b 2c l o r a c l e n e t 8 2 程0 0 数据库常为0 0 编程语 c a l li n t e r f a c e m i c r o s o n 言。如j a v a c + + 提供适应 编写o l t p 的应用而o d b c 或 j d b c 更适合多数据库的环境 o d b c ,0 l ed b o d i sp s b o d m g 的接口 数据迁移、转换用于数据部署、 使完全不同的数据包和遗留的应 3转换、信息增值常作为数据仓 用能协同工作,但需要建立诸如 m m d a t a p r o p a g a u n s y b e 时间、数据优选和整合,以及资 r e p l i c a t i o ns e r v c r p l 口t i m n n 库解决方案的一部分 i n f o p u m p d 2 kt a p e s i z y 源等要素 底层的同步服务( r p c ) 使调 用远端的过程和在本地一样在 只有在所有的s c r v 日都是在线d c e - r p c ( 微软把它用在 4 的情形才能工作不适合移动或d o m 中) b o r l a n d 被调用的处理未完以前,调用进 程处于阻塞状态 i n t e m e t 应用e n t e r a n o b l e n e tr p c 简单的异步消息简单是消息发对需要高性能的异步通讯的应用 5 送和接收,有时扩展到可靠投非常有用但需要所有的s c l v i = f p e e r l o g i cp i p e s m o m e n t u m x i p c 东方通科技t o b r l i n k 递,智能路由和名字服务都在线 应用级的消息队列是简单的消使分布式处理可以在脱机、事件 t i b c o r e n d e n o u s i b m m q 息中间件的扩展增加了队列、驱动等的方式。适合与电子商务、 s e r i e s m sm e s s a g e 6 q u e u e l e v e l 8f a l c o n m q 东方 脱机处理能力、可靠投递和发布移动用户,工作流或其他的环境 订阅等功能 由 通科技t o n g l i n k q 清华北 美i 1 4 m r l 应用协调器通常是应用级消息j 有效地节约集成的时间特别是针v i t r i a v e l o c i f i a c t i v e j 队列的扩展增加了许多工具用:l 对应用包或工作流产品 s o f t w a r e ,a c t i v e w e b o b e r o n 四川大学硕士学位论文 i 言建立适合事件服务的集成应 p r o s p e l p n e o nn e o n c 【t s i m e r c a t o r c o m + d n a 微软的分布式构从c o m 发展而来。是构件市场 m s c o m ,d c o m , g 件平台,使企业应用更加可扩充上的主流产品尚需要增加针对 c o m + m sm t s m e s s a g e q u e u e 和可管理企业应用的可靠性 s e r v e r a c t i v e d i r e c t o r y ( f u t u r e ) l o n a o r b i x b o r l a n d v i s i g e n i c , c o 耻 a 平台o m g 标准,通 工业组织的标准,可用不同的方v i s i b m k e r m m 9 过o r b 把分布的对象连接成 式实现,以提高互操作能力c o m p o n e n t b r o k e r b e a 个逻辑上统一的整体 i c c b e 喀东方通科技 t o n 班r o k e r 交易监控器用于开发实时的 已证明是建造o l t p 应用的有效 b e at u x e d o i b m i x 系 1 00 l 1 p 应用的服务器和a p i 用手段通常是非面向对象的,带 列东方通科技t o n g e a s y 清华北美j a v a s t 于管理交易,共享资源有特有和复杂的a p i n e t d y n a m i c s l b mc o m p o n t 应用服务器针对t u t e m e t 、 与交易监控器类似,足不过是面b r o k e r n e t s c a p ek i v a o r a c l e l l i n t r a n e t 和其他分布式构件应 向对象的、支持构件、具有标准a p p s c r 东方通科技 用,提供服务方构件的完整环境a p it o n g w e b 清华北美 w e b f i r s t l s sf l o w m a n i b m 工作河应用集成大杂烩,把工使处理能方便自动地和构件、 f l o w m a r k a c f i o n , 1 2 作流和应用开发技术如消息及 s c r i p t 应用、工作流行为结合在 t e c h n o l o g i e s , 分布式构件结合在一起一起,同时集成文档和电子邮件a c t i o n w o r k s v i u i a b u s i n e s s a # l m 1 5 中间件技术的发展趋势 1 5 1 网格技术 中间件技术当前所面临的重大挑战是要在互联网这个复杂的分布式系统中 构建应用程序。许多计算机专家认为,将整个互联网的各种资源全部整合在一 起,为用户提供统一的服务,是相当困难甚至难以实现的。当然,对于具体的 应用领域,具体的网络区域,用中间件技术将其中的各种资源整合在一起还是 相当有前景的。目前方兴未艾的网格( g r i d ) 技术实质上即是一个基于互联网的 1 2 四川大学硕士学位论文 中间件系统,可同时运用网络中所有的c p u 、存储器、操作系统、应用软件等 资源,用户通过p c 、手机或p d a ,可从互联网上获取来自全球的资源,互联网 将变成一个虚拟的、强大的计算平台。网格的重要特征是对资源的共享和管理, 包括:( 1 ) 计算资源。启动程序,监测、控制进程运行;对分配给进程的资源的 管理机制;查询功能,确定硬、软件状态、相关负载信息和队列状态等。( 2 ) 存储资源。上载、下载文件;对分配给数据传输的资源( 空间、磁盘带宽、网络 带宽、c p u ) 的管理机制,确定可用空间、带宽使用率等相关负载信息。( 3 ) 网络 资源。提供控制分配给网络传输的资源的管理机制;查询网络状态和负载的功 能。( 4 ) 代码库。管理源码和目标码的机制。另外,网格系统还应包括:网格 特有事务所需要的通信和认证协议,通信协议允许资源之间交换数据,功能包 括传输、寻径和名字服务。建立在通信协议之上的认证协议为确认用户和资源 的身份提供加密安全机制。管理一组相关联的资源集合,并负责资源集合之 间的交互,包括:目录服务、合作分配资源任务调度服务、监控诊断服务、数 据复制服务、支持网格的编程、软件发现服务、团体授权服务等。 1 5 2 面向移动计算 移动计算问题可以具体展开为三个方面:用户移动。无论用户处在什么 位置,都能为其提供一致的工作环境,包括用户的配置信息和他所“订阅”的 服务。终端移动。使终端设备无论在任何接入点接入网络,都能正常工作, 也就是说底层网络对终端设备是透明的。服务移动。当前,越来越多的服务 依赖于移动的资源,甚至服务本身就处在不断移动中,必须保证用户及其终端 设备可以随时找到这些服务。据此,移动计算需要一个基础设施将合适的协议、 机制、工具集成起来,提供上述三方面的功能。移动中问件正是这样一种基础 软件。它随时对移动用户和终端进行跟踪和重定位,保证移动实体的相互通信, 克服系统的异构性,并且为开放的网络环境提供安全性。随着网络带宽不断增 大,人们对移动设备的服务质量问题的顾虑渐渐打消,丽使用移动设备的方便 1 3 四川大学硕士学位论文 性日益突出。人们要求各种服务都可以在移动的情况下( 包括上述三种情况) 获 得。因而移动中间件具有十分广泛的发展前景。泛化计算( u b i q u i t o u s c o m p u t i n g ) 是移动计算的极至,指从大型机、p c 、到p d a 以至安装有处理器的 各种各样的日常生活设备之间能够相互通信、协调工作。显然,在这个领域, 中间件面临

温馨提示

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

评论

0/150

提交评论