




已阅读5页,还剩53页未读, 继续免费阅读
(计算机应用技术专业论文)基于移动agent的分布式多层结构及其应用技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京航空航天人学硕士学传论文 摘要 本文首先分析了分布式多层结构技术的发展现状、趋势及其特点。在深入分析分 布式对象技术、w e b 多层结构技术和移动a g e m 技术的基础上,建立了基于移动a g e n t 的分布式多层结构计算模型m a b d c m ,将智能化的移动a g e n t 技术思想融合到 分布式多层结构应用体系中。 本文提出的基于移动a g e n t 的分布式多层结构计算模型( m a b t ) c m ) ,采用四层 浏览器服务器结构,充分利用分布式对象技术与w e b 多层结构技术,以解决传统的 客户机,浏览器( c s ) 体系结构在可扩展性、可维护性等方面的缺陷:并将移动a g e n t 技术g l 入分布式多层结构中,增强分布式多层结构的自治性、动态性和智能性。 本文最后结合南京禄口国际机场信息系统( l k m i s ) 建设项目,对m a b d c m 模 型的应用进行论述,并根据该模型在l k m i s 中的实现效果,对系统性能进行了分析 和评估,并提出了改进设想。 关键词:分布式计算,分布式对象,多层结构,中间件,a g e n t ,移动a g e n t _ 。一- _ h - _ _ - _ _ 一 些1 :移动a g e m 的分布式多层结构及其戍川技术研究 a b s t r a c t t h i s p a p e rf i r s tp r e s e n t st h ec u r r e n ts i t u a t i o na n dd e v e l o p m e n to fd i s t r i b u t e d m u l t i t i r e da r c h i t e c t u r e ,a n di t sc h a r a c t e r i s t i c s o nt h eb a s i so ft h et h o r o u g hd i s c u s s i o no f d i s t r i b u t e do b j e c tt e c h n o l o g y ,w e bm u k e da r c h i t e c t u r et e c h n o l o g ya n dm o b i l ea g e n t t e c h n o l o g y , t h em o b i l ea g e n t - b a s e dd i s t r i b u t e d c o m p u t i n g m o d e li nm u l t i t i r e d a r c h i t e c t u r e - - - - - - - - m a b d c mi sg i v e n ,w h i c hi n t e g r a t e st h ei n t e l l i g e n tm o b i l ea g e n tw i t h d i s t r i b u t e dm u l t i t i r e da r c h i t e c t u r ea p p l i c a t i o ns y s t e m t h em a b d c mi sb a s e do nt h ef o u r - t i r e db r o w s e r s e r v e ra r c h i t e c t u r e ,w h i c hf u l l y u t i l i z e st h ed i s t r i b u t e do b j e c tt e c h n o l o g ya n dw e bm u l t i - t i r e da r c h i t e c t u r et e c h n o l o g yt o s o l v et h ed i s a d v a n t a g e so ft r a d i t i o n a lc l i e n t s e r v e ra r c h i t e c t u r ei nt h e a s p e c t so f e x t e n s i b i l i t ya n dm a i n t a i n a b i l i t y , e n h a n c i n gt h ea u t o n o m y ,d y n a m i ca n di n t e l l i g e n c eo f t h e m o b i l ea g e n t - b a s e dm u l t i t i r e da r c h i t e c t u r e f i n a l l y , p a p e rd e s c r i b e st h ea p p l i c a t i o no fm a b d c mi nn a n j i n gl u k o ui n t e r n a t i o n a l a i r p o r t sm a n a g e m e n ti n f o r m a t i o ns y s t e m ( l k n t s ) ,a n dt h es y s t e ma p p l i c a t i o n p e r f o r m a n c ei se v a l u a t e d , a n dt h ei m p r o v e m e n ti sp r o p o s e da sw e l l k e y w o r d s :d i s t r i b u t e dc o m p u t i n g ,d i s t r i b u t e do b j e c t ,m u l t i - t i r e da r c h i t e c t u r e , m i d d l ew a r e ,a g e n t ,m o b i l ea g e n t 南京航空航犬人学颐十学位论文 第一章绪论 随着互联网技术的飞速发展,如何在分布式环境下建立高效、安全和健壮的应用 系统,成为当前的研究热点之一。八十年代产生并发展的客户机服务器计算模式 ( c l i e n t s e r v e r ,简称c i s 结构) 已经被用户和市场所接受并成功应用到现代企业信息管 理中。但这种模式适合相对稳定的网络环境和应用系统,可移植性、可扩展性和可维 护性较差,在具有广域、异构、低带宽、信息资源分散、连接不稳定、信息量爆炸性 增长等特点的i n t e m e t 环境中,c s 模式缺乏智能性和动态的信息处理能力。九十年 代初蓬勃发展起来的智能a g e n t 技术,浏览器服务器计算模式( b r o w s e r s e r v e r ,简称 b t s 结构) 和跨平台动态语言( 如j a v a ) 为分布式技术开辟了新的研究领域。其中移动 a g e n t ( m o b i l ea g e n t ,简称m a ) 是综合了a g e n t 技术的一种新型分布计算技术,它的 智能性、动态性和移动性成为分布式技术研究注入了新的活力。 1 1 分布式计算结构的发展现状与趋势 计算枫廒爆磊统鬣避i 一个扶篱单到复杂、从集中到分散、从低级到高级的发展 过程。回顾计算机应用体系结构的发展过程,主要经历了以下几个阶段: 1 1 1 终端主机结构 在早期,由于计算机价格昂贵,所以主要用于数值计算。用户通过终端( t e r m i n a l ) 连接驽主机( m a i l 盘啦e ) ,共享c p u 资源和数据存取功能。这种计算结构称为终端, 主机( r e 衄i n a l m a i n 胁n e ) 结构f l l ,参见图1 - 1 。在这种结构下,用户端的终端机主要 用于数据的输入输出,没有计算处理能力,所有的处理逻辑都集中在主机端,所以这 终端终端终端 图1 - 1 主机终端结构 种终端称为哑终端( d u r n b t e n n i n a l ) 。哑终端为用户和主机提供直接连接,由主机集中 控制系统运作,资源管理和调度一致性好但由于高度的集中控制,用户只能分时共 1 基r 移动a g e n t 的分稚式多层结构及其府州技术研究 享信息资源,所以系统整体运行效率低。 1 1 2 以文件服务器为中心的网络结构 随着p c 机的出现,p c 机代替了哑终端,将若干p c 机与主机连接起来组成网络, 主机上的资源就可以在这些网络成员中共享使用,主机退化为文件服务器,系统资源 集中在文件服务器上。服务器仅负责网络管理和文件存取及共享等管理工作,p c 机 可以通过网络对服务器进行资源访问,同时可在本地进行数据处理,回写服务器。这 种结构具有一定的系统伸缩性和灵活性,易于扩展,却增加了硬件费用,而且当某一 个p c 机请求文件服务器服务时,会独占服务器资源。如果网络中多个p c 机请求和 发送文件,网络很快达到信息传送的饱和状态,造成瓶颈。 1 1 3 客户机l 服务器结构 2 0 世纪8 0 年代后期,随着网络技术的不断发展,出现了客户机,服务器 图1 2 客户机服务器结构 ( c l i e n t s e r v e r ) 结构,简称为c ,s 结构,如图1 2 所示。在客户机,服务器系统中,将应 用程序和系统信息资源分为两部分:一部分由多个用户所共享的信息与功能组成,这 部分称为服务器层:另一部分为每个用户所专有,称为客户层,见图l 一3 。客户层负 责执行前台功能,如管理用户接口、数据处理和报告请求等。而服务器层执行后台服 务,如管理共享外设、控制对募享数据库的操作、接受并应答客户机的请求等。这种 体系结构将一个应用系统分成两大部分,由多台计算机分别执行,使它们有机的结合 在起,协同完成整令系统的应用,从而达到系统中软、硬件资源最大限度的利用。 但是,在这种两层结构的系统中,客户端软件不仅要完成用户界面和数据显示工作, 而且还要完成业务逻辑的处理工作,客户端应用程序往往过于庞大,负载太重,导致 “胖客户端”产生,不能支持大量用户的访问和高容量事务处理的应用。此外,当应用 系统需要改变时,所有客户端的应用程序都必须更新,系统维护成本很高。由于在这 种结构下开发的应用系统,移植性和可扩展性较差,开发和维护复杂,所以不能适应 2 南京航空航犬人学顾十学能论文 企业发展过程中不断增长的多方面需求。 客户帆服务器 i 阿坶 请求 、 l 处理k 呻l 糟月麻l 1 响应 7 l 逻辑lc 了 图1 3c s 结构模式逻辑图 1 1 4 基于i n t e r n e t i n t r a n e t 的分布式多层计算结构 为了解决上述两层c s 结构的问题,同时由于商业应用系统集成到 i n t c m e t i n t r a n e t 的需要,多层分布式应用体系应运而生,其中三层c i s 结构是典型代 表。在一些大中型企业的m i s 系统中,三层c ,s 结构逐渐取代了两层c s 结构。三 层c s 结构将客户机上与用户界面无关的事务处理逻辑功能独立出来,形成中间层, 即应用层。客户端只保留显示逻辑,提供简洁的人机交互界蕊,负责数据输入输出, 称之为“瘦客户端”。这样,客户端、应用层和原有的数据服务层形成了一个三层体 系结构,灵活性和计算能力都得到了显著提高随着互联网和w e b 技术的发展,客 户端采甩_ 渡| 览器绕_ 二用产赛蓥,将事务处理逻辑放在应用服务器( a p p l i c a t i o ns e r v = ) 上,中间应用层加入w e b 服务器,形成b r o w s e r s e r v e r 多层结构体系,简称b s 结构, 如图1 4 所示。m ,7 】 潮览器 中间层服务器 数据库服务器 国 斟i 罴刖引障圜橱 i 处理l 叫数据库l l 逻辑fl 图1 - 4b i s 结构模式逻辑图 在b i s 结构中,客户端不需要安装应用程序,通过浏览器提出请求,利用j a v a a p p l c t 、a c t i v e x 等技术处理客户端的简单应用逻辑,w e b 服务器接受客户端请求, 执行服务器脚本语言,通过应用程序服务器访问后台数据库,将处理结果转化为 h t m l 或者其他脚本返回客户端。 与传统的c s 结构相比,b s 结构有着许多优点: ( 1 ) 由于采用了“瘦客户端”,不需要在客户端安装和配置软件,大大降低了软 件维护成本,并提高了软件的可扩充性尤其是当客户端位于不同区域时,这一优点 更加突出; ( 2 ) 由于采用了浏览器的统一用户界面,易学易用,操作性强; ( 3 ) 系统相对集中于几个服务器上,对系统的维护和扩展都变得比较容易: ( 4 ) 由于i n t e r n e t 支持底层的t c p i p 协议,使i n t e r n e t 网与目前使用的几乎 3 基丁移动a g e n t 的分布式多层结构及其应川技术研究 所有局域网都可以做到无缝连接,从而彻底解决了异构系统集成问题。 与i n t e m e t 技术相结合是分夼式多层结构发展的必然趋势。特别是9 0 年代中期 w w w 技术的广泛应用,给分稚式多层结构的应用_ 丌辟了更广阔的空间。无论是在简 单的信息发布与管理中,还是在复杂的电子商务系统领域,基于i n t e m c t i n t r a n e t 的分 布式多层结构应用技术都倍受青睐,成为企业应用系统的主流结构模式。 1 2 课题背景及研究内容 1 2 1 课题背景 南京禄口国际机场是我国的骨干航线机场之一,拥有先进的机场服务和保障设 施,在江苏和华东地区的经济发展进程中占有十分重要的地位。为促进机场业务与国 际接轨,创造规模经济效益,南京禄口国际机场有限公司在企业信息化建设的发展过 程中积极应用现代化管理技术和管理手段,相继开发了生产运营积业务管理两大应用 系统,努力提高企业运营和管理的现代化水平。禄口机场的整个信息系统的建设分为 机场一期工程、二期工程以及三期工程三个阶段进行。 在机场的一期信息化建设中,系统主要采用了传统的两层c l i e n t s e r v e r 模式,如 图1 - 5 所示。该模式具有强大的数据操作和事务处理能力,以及数据的安全性和完整 性约束,基本上实现了机场生产运营信息的有效管理。但是,这种传统的解决方案在 实际应用中暴露出很多问题。从使用情况来看,机场应用系统中普遍存在以下几个问 题: ( 1 ) 各个应用子系统各自为政,结构松散: ( 2 ) 各个子系统存在不同的认证过程,用户需多次输入用户名和口令; ( 3 ) 应用系统模块中每一部分的变动均要牵连到其他模块的变动,使系统升级的 开销增大; ( 4 ) 传统的c l i e n t s e r v e r 程序结构导致客户端程序安装维护麻烦,不统一的用户界 面使得用户使用不方便,培训时间长,培训费用高; ( 5 ) c l i e n t s e r v e r 结构中描述的关系主要是主从关系或服务者客户关系,不强调 实体间相互协同完成任务的协同关系,无法充分体现现实生活中人们工作中的协同关 系; ( 6 ) c l i e n t s e r v e r 移植性较差,不同开发工具开发的应用程序,一般来说互不兼容, 增加了系统集成的难度。 4 m 京航薹三航犬人。学顾十学他论文 系 图1 5 机场一期c s 结构软件体系结构逻辑框图 此外,由于南京禄口国际机场公司规模较大,地理分布较广,航站楼、货运处、 办公楼、急救中心等分别座落在相距至少两公里的地方,而且部门繁多,每次维护和 升级工作要耗费大量的人力、物力资源。 为解决机场一期中存在的问题,在机场二期建设中,整个应用系统主要采用了 b s 多层计算结构解决方案。客户端通过浏览器将录入、查询、统计、打印报表等请 求提交给w 曲应用服务器,通过应用程序服务器在后台对数据库进行处理操作,将 结果返回给客户端,这在一定程度上实现了机场生产管理信息的网络化远程管理。但 是,在实际应用过程中,却暴露了新的问题: ( 1 ) 机场二期中的b s 系统的开发是基于机场一期工程中的c s 结构实现的,在 提供信息服务时需要客户端和服务器保持稳定连接和同步计算,对网络的稳定性和带 宽依赖性较强,适合稳定的局域网环境。 ( 2 ) 在b s 计算模式中,必须把全部或者部分网络资源下载到本地客户端后进行 处理,影响了网络速度也浪费系统通信资源。尤其是对应用程序服务器的访问,随着 用户的不断增加,常常出现拥塞现象。 ( 3 ) 在机场生产运营管理系统中,航班调动,航班信息发布等模块实时性要求高, 在进行航班信息查询时必须根据实时信息做出及时判断,而b s 系统中的信息共享通 过消息传递和远程过程调用( r p c ) 实现,不具备智能性,不能对环境变化做出相应的 实时的反应。 此外,随着企业入世的发展需要,机场公司逐步将企业内部网与i n t e r n e t 公网连 接起来,对机场二期信息化建设工程提出了更高要求,希望机场信息管理系统具有智 能、动态的信息处理能力,以适应不断变化的i n t e m e t 环境。 为解决上述问题,必须为分布式多层结构引入新技术,使其克服传统的c s 、b t s 结构的缺陷。 a g e n t 技术起源于人工智能领域,从用户的角度看,它是个软件实体,可以模 拟人类的行为和关系,具有智能性和行为自主性,能够提供相应的信息服务。移动 丛 移动a g e n t 的分布式多层结构及其戍j h 技术研究 a g e n t 是综合了a g e n t 技术的一种新型分布式计算技术,它除了具有一般a g e n t 技术 的基本特征:自主性、智能性、主动性和协作性外,同时具有移动性这一显著特征。 移动a g e n t 技术的动态性、智能性和移动性为分布式多层结构的开发注入了新思 想,利用移动a g e n t 技术,克服了传统的c s 、b s 结构中存在的缺陷,增强了分斫i 式多层结构的灵活性、动态性和智能性,大大提高了i n t r a n e t i n t e m e t 中应用系统的服 务能力。 课题结合机场信息化建设工程开发要求,在机场三期工程中将移动a g e n t 技术引 入分布式多层结构,提出基于移动a g e n t 的分布式多层结构计算模型m a b d c m ( m o b i l ea g e n tb a s e dd i s t r i b u t e dc o m p u t i n gm o d e li nm u l t i f i r e da r c h i t e c t u r e ) ,将智能化 的分布式技术融合到多层结构中,充分发挥分布式计算和多层结构的优势,提高应用 系统的计算效率。 与一般技术实现的分布式多层应用结构相比较,m a b d c m 的优点是: ( 1 ) 功能模块具有移动性,具有业务处理功能的软件模块可移动到客户端执行, 降低了请求响应对网络带宽的要求,增强了系统的并行处理能力; ( 2 ) 软件具有动态性和智能性,能够适应灵活多变的异构环境; ( 3 ) 系统兼容性较好,将分布式多层结构系统中原有的软件模块升级到m a b d c m 运行平台,只需将原有代码散部分修改,就可按照一定的接口集成到m a b d c m 系统 中。 1 2 2 课题研究内容 本课题的主要研究内容是:在企业i n t r a n e t 环境下如何利用移动a g e n t 技术构 建分布式多层结构应用系统,以便有效地解决或改善传统的b i s 计算结构中存在的问 题,最终达到构建更为高效、稳定、安全、易于管理的企业信息系统的目的。 本文首先分析了现有的构建分布式多层结构的关键技术,在讨论了三种成熟的分 布式组件技术,w e b 多层结构技术和移动a g e n t 技术的基础上,建立基于移动a g e n t 技术的分布式多层结构计算模型m a b d c m ,并应用于南京禄口国际机场的信息 化建设三期工程,以m a b d c m 模型为基础对南京禄口国际机场部分软件系统进行设 计和升级。 6 粥京航空航天火学硕一卜学侥论文 第二章分布式多层结构技术分析 随着电子商务和企业网络应用需求的不断增长,以及计算机网络技术、分布式计 算技术的迅速发展,分布式多层结构已经成为当前最流行的应用系统结构之一。在分 布式多层结构中,采用先进的分布式对象技术、中间件技术和w e b 技术作为技术基 础,保障系统的稳定性、可扩展性和处理效率,实现系统跨平台集成以及远程访问等 功能。 2 1 分布式计算结构与多层应用系统 分布式结构是把应用都转化成对象,即分布式系统中任何一个对象都可以通过一 定的组件接口调用另一个对象提供的服务,甚至是另一个系统中的某些对象提供的服 务。接口是用来指定哪些组件的服务是可以调用的,以及调用的方法。通过定义特定 的组件接口,分布式结构可以提供系统结构的绝对灵活性和互操作性【引。 目前在国际上有三大分布式组件对象标准:m i c r o s o f t 公司推出的 d c o m ( d i s t r i b u 戚c o m p o n e n to b j e c tm o d e l ,分布式组件对象模型) ;o m o ( o b j e c t m a n a g e m e mg r o u p ,对象管理组织) 提出的以c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ,公共对象请求代理结构) 为核心的分布式结构;s u n 公司推出的用j a v a 语言开发的分布对象模型r m i ( r e m o t em e t h o di n v o c a t i o n ,远程方法激活1 。 2 1 1 分布式结构的一般概念 一般的分布式结构按照分布式组件标准可以划分为三种: 1 、基于d c o m 的分布式多层结构,如图2 - 1 所示 图2 1 基于d c o m 的分布式多层系统结构图 7 基丁移动a g e n t 的分布式多层结构及其麻j h 技术研究 c o m ,d c o m 技术是由m i c r o s o r 推出的组件对象模型。在c o m 标准中,一个组 件程序可以称为一个模块,它有两种形式:一种是进程内组件( i n - p r o c e s sc o m p o n e n t ) , 以d l l ( 动态连接库) 形式存在:另外一种是进程外组件( o u t - p r o c e s sc o m p o n e n t ) ,以可 执行程序的形式存在。无论c o m 组件以何种形式存在,其基本思想是一致的,即在 一个可执行程序( 或d l l ) 中创建对象,而从驻留在另外一台机器上的程序中通过接口 调用此对象,这样不同的应用程序就可以通过网络实现豆操作。 d c o m 定义了分布式环境中c o m 对象之间通信和交互操作的一套标准与接口, 是c o m 的进一步扩展例。d c o m 具有语言独立性,诸如j a v a ,v c 十+ 、v b 、d e l p h i 、 p o w e r b u i l d e t 和m i c r of o c u sc o b o l 等语言都能够创建和使用d c o m 组件。d c o m 还支持多种网络协议,包括t c p i p 、u d p 、i p x s p x 和n e t b i o s 等。在d c o m 的支 持下,开发人员可以选择他们最熟悉的语言和工具进行开发,同时利用d c o m 提供 的特性,轻而易举地实现应用系统的协议无关性和物理位置无关性【4 5 1 。 c o m d c o m 是微软拥有的体系结构,在跨平台支持方面,局限于微软操作系统。 由于d c o m 基于自然的二进制格式,所以执行较快,但是不适用于其他平台。 c o m d c o m 组件能够访问w i n d o w sa p i ,因此可能潜在地损坏或危及用户的计算 环境。d c o m 为分布式对象提供基本支持,但不支持实时处理。基于上述缺陷,虽 然c o m 技术阚世已久,但对于它的扩展d c o m 在分布式系统中的应用,还不是很 明朗,受到了一定的限制。j 研 2 、基于c o r b a 标准的分布式结构,如图2 2 所示【l ”。 图2 - 2 基于c o r b a 的四层c s 模型 c o r b a 事实上是一种软件中间件技术,通过它来执行和分散对数据集的请求, 这个中间件就是o r s ( 对象请求代理) 。o r b 在不同的对象之间进行交互并把请求传 递给c o r b a 服务器。通过o r b ,一个客户可以很方便地使用服务器对象而不必考 虑服务器的物理位置。o m g 定义了一种接口定义语言i d l ( i n t e r f a c ed e f i n i t i o n l a n g u a g e ) ,用来定义c o r b a 接口,从而通过实现o r b 来激活客户,服务器的交互, 跨越不同的o r b 提供者进行通信 c o r b a 提供跨平台、跨语言支持,不同层次上的对象可以分布在不同平台上, 8 南京航空航天大学硕十学能论文 用不同的语言来实现。c o r b a 还规定了与其它c o m d c o m 组件对象以及分稚式计 算环境( d c e ) 之间的互操作规范,因而c o r b a 客户通过测览器可以访问非c o r b a 计算环境中的对象。这些特点既方便了软件开发人员开发异构环境下的分布式w e b 应用,又便于通过组件将原有的单机的,非面向对象的已有系统集成到w e b 环境中。 3 、由s u n 公司攉出的j a v a b e a n s 。如图2 3 所示。 测览器w e b 服务商业逻辑层 图2 3 基于浏览器客户的j 2 e e 三层结构 e j b ( e n t e r p r i s ej a v a b e a n s ) 是s u n 公司提出的用于复杂的多层结构应用系统开 发的一种前沿技术。s u n 公司发布的e j b 规范说明中对e j b 的定义是:e j b 是用于开 发和部署多层结构的、分布式的、面向对象的j a v a 应用系统的跨平台的构件体系结 构 4 8 l 。从软件构件的角度,e y b 是j a v a 技术中服务器端软件构件的技术规范和平台 支持;从分布式计算的角度,啪像c o r b a 一样,提供了分布式技术的基础,提供 了对象之间的通讯手段;从i n t e r a c t 技术应用的角度,e j b 和s c r v l e t ,j s p 一起成为 精一代斑愿鼍务器鹅鼓本标壤f _ j b 中鸽b c m 可以分为会话b e a n 和实体b e a n ,前 者维护会话,后者处理事务。现在,利用s v r v l c t 负责与客户端通信,访问e j b ,并 把结果通过j s p 产生页面传回客户端,成为开发的新潮流f 。 j a v a 是一个应用程序开发平台。提供可移植性、可解释性、高性能和面向对象的 编程语言及运行环境,同时j a v a 也是一种分布式计算平台。r m i 可看作是j a v a 的 k p c ( r e m o t ep r o c e d u r ec a i d 机制,它定义了一组远程接口,可用于生成远程对象,客 户机可以像调用本地方法一样调用远程对象但是,r m i 没有解决如何管理和访问 异地其它非j a v a 对象的问题,并且i u m 没有提供分布对象事务管理等服务【1 1 1 。 j a v a 和c o r b a 在很大程度上可以看作是互补的为了适应w e b 应用的发展要 求,许多软件厂商都急于促成j a v a 和c o r b a 技术的结合。一方面,c o r b a 可以扩 展j a v a 在网络、语言、组件边界、操作系统中的各种应用:另一方面,j a v a 不仅是 与c o r b a 捆绑韵语言,还是一个跨平台的对象系统,允许c o 砒执对象在主机、网 络计算机和蜂窝电话等应用上运行此外,j a v a 简化了大型c o r b a 系统中的代码分 配,其中内置的多线程和垃圾收集使编写可靠的网络对象更为方便。 1 1 , 1 2 l c o r b a 偏重于通用的分布式应用的开发,而j a v a 注重于w 曲环境中的分布式 应用开发。j a v a 能创建可移动对象并将它们分发出去,而采用c o r b a 可以将它们链 接在一起,c o r b a 提供了j a v a 便携应用环境与对象问的链接由此看来c o r b a j a v a 技术紧密镭合的趋势是势不可挡的,而且两者的结合将成为o b j c c t w c b 技术主要形 态。 9 基丁移动a g e n t 的分布式多层结构及其麻州技术研究 2 1 2 多层应用系统 在理论上多层应用系统可以有任意多层,但是目前应用最多的是三层结构,如图 2 4 所示。般情况下,三层结构将应用系统划分成三个逻辑层次:用户界面层、业 务逻辑层( 或商业逻辑层) 、数据访问层。 客户端业务逻辑层数据访问层 用 应用程序 户 服务器 数据库 界 服务器 面 图2 4 三层c ,s 结构图 在多层体系结构中,由于中阔层服务器集中实现了应用逻辑,客户端程序可以把 重点放在数据显示和用户交互的操作上,客户端甚至不需要指定数据的存储位置。具 体来说,多层体系结构具有以下优势: 1 、在一个共享的中间层封装了所有的业务处理规则,不同的客户端可以共享同一 个中闻层,有群予系统的扩展和维护。 2 、客户端只需关注用户交互界面,可以交得很“瘦”,更易于发布、安装、配置 和维护。 3 、对于系统升级和更新,开发人员只需专注于中闻层业务逻辑的开发,客户端则 不定要改变,减轻开发人员的负担。 4 、三层体系结构中,应用服务器起到承上启下的作用。由应用服务器进程存取数 据库,为客户的请求服务,减少了数据库为处理访问连接所耗费的资源同时减少了 网络中客户请求和服务器处理结果的信息量。 5 、实现了分布式数据处理。把一个应用程序分布在不同机器上运行,可以提高应 用程序的性能,通过部分的冗余配置还可以保证不会圜为局部故障导致整个应用系统 崩溃,有利于安全。 分布式系统从某种意义上说,可以看成是一种多层的客户端服务器系统,不同之 处在于分布式系统可以提供更多的服务,比如它允许各个模块之间互相定位,各个组 件之间互相监视,互相通信,协同完成工作i 3 l 。分布式处理技术可以完美地融入到三层 或多层结构应用系统中。将封装有完整事务处理逻辑的组件分布在多层结构中各个功 能层中,每个组件既可单独重用,完成一定的处理,又可与刹的组件动态组和完成更 加复杂的事务处理逻辑。 随着计算机体系结构在商业和企业应用领域的发展,分布式多层结构应用系统的 优势越来越受到人们的关注,几乎现在所有的开发工具,数据库厂商,i n t e m c t i n t r a n e t o 南京航空航犬人学硕十学位论文 工具,以及操作系统厂商都加入了对分布式多层应用系统结构的丌发和支持,促进了 分布式多层应用系统的更广泛应用。 2 2 多层分布式数据库系统的开发技术 分布式多层结构是计算机系统发展的必然趋势,同时,随着处理信息量的增大, 采用多层分布式数据库系统也成为数据库技术发展的必然结果。 2 2 1 远程数据库访闻接口研究 在多层分布式数据库系统开发中,数据库访问是其中最重要的组成部分之一。采 用标准的数据库访问接口,不仅可以减少浪费在数据存取工作上的系统资源,提高数 据库访问速度,还可以提供对异构数据库访问的支持。目前应用广泛的标准数据库访 问接口有o d b c ( o p e nd a t a b a z ec o n n e c t i v i t y ) 、j d b c 、a d o ( a c t i v ed a mo b j e c t s ) 和 b o d a n d 公司的数据库引擎b d e ( b o f l a n dd a t a b a ee n g i n e ) 。 1 、o d b c 1 9 9 2 年m i c o r s o f t 和s y b a s e 、d i 西t a i 共同制定了o d b c 标准接口,以单一的o d b c a p i 来存取各种不同的数据库。o d b c 总体结构有四个组件,如图2 5 所示。数据库 应用程序执行并调用o d b c 函数,用以提交s q l 语句并检索结果:驱动程序管理器 则负责加载或卸载驱动程序,处理o d b c 函数调用或把它们传送到驱动程序;驱动 程序提交s q l 请求到一个指定的数据源,并把结果返回到应用程序。 应用程序 驱动程序管理器 南 图2 5o d b c 结构图 2 、j d b c d b c 是一种用于执行s q l 语句的j a v a a p i ,它由一组用j a v a 语言编写的类和接 口组成。j d b c 与o d b c 的用途基本相同,主要完成数据库链接,发送s q l 语句和 处理结果三件工作。之所以提出j d b c ,是由于o d b c 使用c 语言接口,不适合直 接在j a v a 中使用。另外,j d b c 一个最大的特点是虚拟关系数据库机制 j 7 】,开发者在 j d b c 中所使用的s q l 语句,以及与d a t a b a s e 进行连接的语句均不是针对某一个具 体的关系型数据库管理系统的,而是针对一个虚拟的一般关系型数据库管理系统的, 1 1 基丁i 移动a g e n t 的分布式多层结构及其庶州技术研究 所以用j d b c 编写的应用程序与具体的数据库管理系统无关,它可以访问任何个关 系型数据库管理系统。 3 、a d o ,o l ed b a d o 是微软公司在i i s 3 0 以上版本中提供的访问各种数掘类型的链接机制。 a d o 建立在o l ed b 之上,提供了更高层次的应用程序接口,主要功能是让基于c s 的应用程序或w e b 应用程序存取各类不同的数据源。a d o 封装了o l ed b 复杂的接 口,以简单的c o m 接口存取数据,不仅可以访问传统数据库,还可以访问访问有序 文件、电子邮件、桌面数据库、目录服务、m 。数据、多媒体数据、空间数据等。 a d o 不仅提供本地数据访问的解决方案,还提供了远程数据访问的解决方案。 a d o 可让应用程序直接访问并修改数据源( 有时称为双层系统) ,也可以通过i i s 间接 地访问数据源。由n s 链接数据源,以某种方式处理数据,然后返回给客户端,而客 户端通常是基于w e b 的应用程序,从未直接链接数据源,这种方法也称为三层系统。 为支挣三层系统,a d o 采用“远程数据服务”f a d s ) 接口,与i i s 相结合,在间接数 据源上检索信息就能够像在双层系统中一样简单容易。【8 ,4 别 从某种意义上讲,a d o 与r d s 的结合,就是一种分布式数据访问中间件,但是 这个中间件依赖于s 。尽管如此,a d 0 已经成为w i n d o w s 环境下数据访问的新标 准,我们可以科薅a d o 所撬供的特性,更为方便地实现符合我们要求的分布式数据 访问中间件。 4 、b d e i da p i b d e 是b o r l a n d 公司提供的用于d e l p h i 程序开发的数据库引擎,由d l l 模块构 成,是d e l p h i 数据库管理的核心部分,其主要功能是通过b d e 建立数据库别名,使 d v i p h i 程序访问数据资源。但是,对于后台数据库系统而言,b d e 不能独立获取数 据,必须通过o d b c 或s q ll i n k s 才能读取数据库内容。 在开发多层数据库应用程序时,无论是使用o d b c 、a d o 还是b d e ,要根据开 发环境和使用的开发工具而定。本课题在分析综合上述数据库访间接口技术的基础 上,根据课题开发环境的需要,利用d e l p h i 为开发工具,开发出了一种集合o d b c 、 a d o 和b d e 的数据库存取控件t r e m o t e q u e r y ,并将其应用于客户端程序。 t r e m o t e q u e r y 继承自t c l i e n t d a t a s e t 控件,封装了远程数据访问的方法和属性。和 t q u e r y 控件一样,t r e m o t e q u e r y 支持面向对象的程序开发,使用m i d a s 技术,通 过t m i d a s c o n n e e t i o n 与远程服务器上的数据库中间件连接,进而访问数据库。 2 2 。2 中间件技术 中间件的应用范围很广泛,针对不同的应用领域,中间件所代表的含义也就不同 本文主要对在分布式多层结构应用系统开发中所涉及的部分中间件技术进行讨论。 南京航空航犬人学硕十学何论文 中问件是随着三层体系结构的发展而提出的,三层结构就是把用户端的业务逻辑 独立出来,并与数据库服务器中存储过程合并在一起,构成中间层。通俗地说,就是 在多层结构中,任何不在客户端和( 数据库) 服务器端执行并担负有特定功能的应用程 序。中间件提供的程序接口定义了一个相对稳定的应用环境,不管计算机硬件和系统 软件如何更新换代,只要将中间件升级更新,并保持中间件对外接口不变,应用软件 几乎不必作任何修改。利用中间件,使得在异构环境下开发和应用变得更加简单、方 便。 中间件一般位于客户机和服务器之间的中间层,负责应用逻辑的处理,同时,中 间件还可以放在服务器之间的多层应用服务器中。如图2 - 6 是中间件的一个基本原理 示意图。 一、 一 , - i - , _ 目m ul 一, l 。j - n 口| i r 一一 偶蕊。军斡1 。 口 塑堡,l r t 。j 燃 庳务处武器 、 7 l ! 塑堡蓬 i 弋 lq 盘d 广、 图2 6 中间件的基本原理图 从图中可以看出在中间层可以有不止一个中间件,它们分别负责不同的功能,它 们可放置在同一个服务器上,也可分布在多个服务器上,这可根据系统的规模和需求 来进行具体分配。 不同种类的中间件所执行的功能不同。其中数据库中间件负责建立数据库访闯链 揍;事务处理中间件主要功能包括全局事务协调、事务的分布式两段提交、资源管理 器支持、故障恢复、商可靠性、网络负载平衡等等:安全中间件,负责网络安全保密 问题。除此之外,还有w e b 服务器中间件、远程过程调用中间件( r e m o t ep r o c e d u r e c a l l 一r p c ) 、消息中间件( m e s s a g eo d e m e dm i d d l e w a r e - - m o m ) 、基于对象请求代理 ( o b j e c tr e q u e s tb r o k e r - - o r b ) 的中间件等。 2 2 3m i d a s 技术 在多层结构中,由中间件技术实现绝大部分的商业逻辑和业务处理,因此出现了 一个或多个担负企业运算的服务器,统称为应用服务器 m i d a s ( m u l t i t i e rd i s t r i b u t e da p p l i c a t i o ns e r v i c e ss u i t e ) 是b o r l a n d 公司推出的实 1 3 基丁移动a g e n t 的分布式多层结构及其应用技术研究 现分和式多层结构的通用中间件产品,它负责提供客户端程序和应用服务器之间互通 数据库信息的机制。通过m i d a s ,程序员可以使用相同的组件存耿不同的后端应用 程序服务器。这些应用程序服务器可以是c o m d c o m 应用程序服务器,m t s 中介 软件,或者是c o r b a 应用程序服务器。此外,m i d a s 还提供了容错能力,负载平 衡以及高执行效率等功能。 m i d a s 是由各种不同功能的模型组成,其中有三个主要的中介者( b r o k e r ) 1 4 ,j : 远程数据中介者( r e m o t ed a t ab r o k e r ) ,实现客户端非直接地存取数据库,管理客 户端与远程数据库之间的数据流。 数据约束中介者( c o n s t r a i n tb r o k e r ) ,允许客户端应用程序下载远程数据库对数据 设定的约束,让数据在未提交到数据库之前进行必要的数据校验和数据有效性检查, 提高系统效率。 企业对象中介者( b u s i n e s so b j e c tb r o k e r ) ,允许应用系统开发执行企业逻辑的企业 对象,为客户端提供可重用服务。 这三个中介者提供的功能构成m i d a s 的核心技术,即在m i d a s 的多层应用系 统中,应用程序服务器提供一个p r o v i d e r 接口给客户端应用程序,在这个接口中提供 了多种方法供客户端应用程序调用,以便和远程的应用服务器通信,并处理数据。当 客户端链接到远程应用服务器,并且从远程应用服务器获取数据时,应用程序服务器 把数据封装成“数据封包”的形式传递给客户端。数据封包对数据的类型、属性以及 限制条件作了详细描述,当数据封包到达客户端后,客户端的m i d a s d l l 就会负责解 析数据封包中的信息,把数据封包解释成一般数据提供给客户端应用程序。 m i d a s 除了三个中介者提供的功能之外,还具备了两个非常重要的功能:容错 能力和负载平衡能力f j 9 ,4 ”。这两个功能是开发关键性多层应用系统不可或缺的能力。 当分布式系统比较繁忙时,一个应用服务器往往不堪重负,此时就需要有多个应用服 务器协同承担服务任务。m i d a s 能够根据各个应用服务器的负荷情况把客户端应用 程序的需求分配到不同的应用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防雷隐蔽工程检测方案(3篇)
- 农业气象灾害防御体系构建与实施效果评估报告
- 猫咪线描画课件教学
- 高中语文小说类课文优化教学例谈
- 工程保险营销企划方案(3篇)
- 高墙天台改造工程方案(3篇)
- 牧场铲车安全培训心得课件
- 安全教育培训饮酒课件
- 农业产业链升级2025年农产品无损检测技术发展路径研究报告
- 廉洁建设面试题库及答案
- 中国2型糖尿病运动治疗指南(2024版)及要点解读
- DB11-T 1374-2025 公路货运车辆不停车超限检测系统技术要求
- 兽医体系及兽医基础知识的学习
- 小学四年级美术社团活动计划
- 同济大学浙江学院《通信原理实验》2023-2024学年第一学期期末试卷
- 配电作业专业技能实操-登杆更换台架边相跌落式熔断器
- (完整版)国际疾病分类ICD-10-培训
- 全运会转播制作标准
- 中职高教版(2023)语文职业模块-第一单元1.1七律二首-送瘟神【课件】
- 环境保护负面舆情应急处理方案
- 肺结核课件教学课件
评论
0/150
提交评论