




已阅读5页,还剩59页未读, 继续免费阅读
(计算机系统结构专业论文)分布式web应用服务器设计研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
:! :塑窒塑叁! ! i ! ! ! ! :堂丝堕兰一 分布式w e b 应用服务器设计研究 摘要 l 随菥信息技术的迅猛发展,基于i n t e r n e t 的成川系统i = i 趋复杂,传统w e b 虑川系统所采川客户,服务器( c l i e n t s e r v e r ) 的体系结构,越来越表现在呵 伸缩性,可移植性,可管理性等方而的一:址,成为了w e b 应用系统发展的瓶颈。 多层体系结构的引入很好地解决了这个问题。这种体系结构的最重要特点 就是对应用逻辑进行了更为细致的划分和分配,引入了中间层。作为整个应用 系统的协调者应用服务器( a p p l i c a t i o ns e r v e r ) 位于中间层,在多级分布 体系结构中起着至关重要的作用,是多级结构应用系统实施的成功关键。 分布对象技术的使用可以解决应用接入能力和处理能力受到限制的问题。 基于分布式对象技术的应用服务器可以将包含着企业应用逻辑的对象分布地部 署在多个服务器上,提高系统的性能和容锚能力。 所以,本文的主要工作就足没计与实现个将w e b 信息发布和检索技术、 j a v a 跨网络平台技术和网络分布式对象技术三者有机结合的w e b 应用服务 器。本文提出的分布式w e b 应用服务器模型l a s 。它可提供分布式部署, 负载均衡。高性能数据库连接等功能。日l a s 山纯j a v a 实现,具有跨平台性 和丌放性等特点。目前所实现的l a s 主要包括i 个模块:w e b 服务模块、s e r v l e t 体系结构,分析j 埘象技术和j a v a 技术为理论基础 以w e b 应用系统支持平台为应用背景,从应用框架模型的设计和l a s 的初步 实现两方i f i i 剥分前j 式应用服务器进行了广泛i | 深入地研究。 关键词:三层,多层体系结构,w e b 虑川j j 技务器,分确j 刈象,j a v a r m i ,h t t p , 连接池,负载平衡 第1 页 ! :塑皇塑叁鲎型! ! :i :垡堡:! ! ! : 一 ar e s e a r c ho nt h ed e s i g no fd is t r i b u t e d w e ba p p ii c a t i o l 3s e r v e r abstract a ! o n gw i t h t h eb o o mo fi n f o r m a t i o nt e c h n o l o g y , t h ea p p l i c a t i o n sb a s e do n i n t e m e tb e c o m em o r ea n dm o r ec o m p l e x t h et r a d i t i o n a lw e ba p p l i c a t i o n s i nt h ef o m lo f2 t i e r sa r c h i t e c f u r e k n o w na sc l i e n t s e r v e rs t r u c t u r e ,c a nn o t k e e pu dw i t ht h ef a s tg r o w t ho ft h ef u n c t i o nr e q u i r e db yt o d a y sw e b w o r l d , a n db e c o m e st h eb o t t l e n e c k t h e3 4 i e r sa n dm u l t i - t i e r sa m h i t e c l u r eg r e a t l yr e l i e v e st h i s p r e b l e m ,w h i c h d i v i d e st h ef u n c t i o n sm o r ec l e a r l ya n de a c ht i e rc a nf o c u so ni t so w n r e s p o n s i b i l i t ys e p a r a t e l y w e ba p p l i c a t i o ns e r v e ri st h ek e ye l e m e n ti n t h i s 3 - t i e r s m u l t i - t i e r ss y s t e m t h ei n t r o d u c t i o no fd i s t r i b u t e d o b j e c tt e c h n o l o g yc a ng r e a t l yi m p r o v et h e a c c e s sa n dp r o c e s sa b i l i t yo fw e b a p p l i c a t i o ns e r v e r t h eb u s i n e s so b j e c t s t h a te n c a p s u l a t ee n t e r p r i s ea p p l i c a t i o nl o g i cc a nb ed i s t r i b u t e do nd i f f e r e n t s e r v e r s ,w h i c hc o u l dg r e a t l yi m p r o v et h ep e r f o r m a n c ea n df a u l t - t o l e r a n c e t h i sp a p e rp r e s e n t sam o d e lo fd i s t r i b u t e dw e ba p p l i c a t i o ns e r v e r - - i _ a s , w h i c hi n t e g r a t e st h e s e t e c h n o l o g i e s ,a n df u l l yu t i l i z e st h e i ra d v a n t a g e s l a s s u p p o r t sm a n yf u n c t i o n s s u c ha sd i s t r i b u t e d d e p l o y m e n t 1 0 a db a l a n c e , h i g h s p e e dd a t a b a s ec o n n e c t i o n a n di ti sb a s e do np u r ej a v at e c h n o l o g y , w h i c hm e a n si ti n h e r i t e dj a v a si n t e r - p l a t f o r ma b i l i t ya n d o p e n n e s s i n s u m m e r y , t h i sp a p e ri sb a s e do nt h et h e o r yo fm u l i t - t i e r a p p l i c a t i o n a r c h i t e c t u r e 。d i s t r i b u t e do b j e c ta n dj a v at e c h n o l o g ya n dg i v e sa s i m p l i f i e d i m p l e m e n t a t i o no fd i s t r i b u t e dw e b a p p l i c a t i o ns e r v e r k a yw o r d s :3 - t i e r m u l t i t i e ra r c h i t e c t u r e o b j e c t ,j a v a r m i ,h t t p c o n n e c t i o np o o l w e b a p p l i c a t i o ns e r v e r , d i s t r i b u t e d i o a db a l a n c e 筇i i 砸 ! :塑窒塑叁兰堡! ! 兰丝堡兰 第一章绪论 i n t e m e t 的e 速发展儿乎改变了每个人的方式,也对儿乎所订的行业j “生了臣人 的冲。| i 与影响。目前,全球有人约一亿的i n t e r n e tj i j y ,而人约一、| 的企、业止或多或少地 利j i j 剑了i n t e m e t 上的资源,并且这一数字还枉不断增k 之中。可以说,整个二二十世纪9 0 f l :代址i n t e r n e t 的时代。而二十i l l = 纪更可吼酏将址| j 6 4 络化的信息1 i | = 纪。 1 1 i n t e m e t 的新需求 当今的i n t e r n e t 已不再仅仅是提供一些信息的媒体,它l e 逐渐成为各种应用程序的运 行环境,提供了越来越哒和广泛的功能。作为i n t e r n e t 最主要服务的w e b 应用人致经 历了以f 两个发展阶段:c 1 1 第一阶段,h y p e r t e x t w e b ,为企业发布简单的静态的信息,例如广告; 第二阶段i n t e r a c t i v ew e b 可以提供动态的信息服务,例如提供商品信息航班信 息等的查询服务。 而经过了这几年的成长,i n t e r n e t 产业已经逐步走向成熟,人们的注意力从i s p ( i n t e r n e t 接入服务) 到s e a r c h e n g i n e ( 搜索引擎) ,蒋经过p o r t a l ( 门户站点) 一直走 到现在的e - b u s i n e s s ( 电子商务) 概念。可以说,今天几乎每个人都不得认识到了电子商 务的重要性而许多人已经开始了电子商务的构想或者实施。现在许多新兴的i n t e r n e t 公 dj l - 枉从1 j l = 电子商务方面的 j 作,将电子商务引入箨行并业。同时,许多传统行业的公司 也已经认识到了i n t e m e t 带来的机遇( 或挑战) 。纷纷将他们的传统业务带到网络上,构建 成电子商务体系。毫无疑问,i n t e m e t 已不再仅仅是提供一些信息的媒体,它正逐渐成为 符利t 麻j u 捍序的运行环境,提供了越来越强人和广泛的功能。随着电子商锌虑川需求越来 越复杂,传统w e b 戍用所采用的技术愈发暴鼯山不可克服的缺陷与不足。 所以,关丁i n t e r n e t 的新技术,新标准羽嘲i 坍议层j j l 不穷。总的发展趋势她将分布对 象技术与i n t e r n e t 相结合。可以预见,i n t e m e t 正向着第三阶段的o b j e c tw e b 发展。 1 _ 2 网络应用软件结构的发展 传统w e b 应用系统火都采_ h j 客户,服务器( c l i e n t s e r v e r ) 的体系结构。客户方软件 一般由虑用稃序及相应的数据库连接程序l ;r 成,服务器方软什一般是某种数据库系统。客 户方软什的主要功能起处理与用户的交互、按照某种麻j j 逻辑进行处理和与数据库系统进 行交互;服务器方软件的主要功能是数据库系统根据客户方软引:的请求进行数据库操作, 铘l _ ! j :f ! 塑皇塑查堂塑! :堂丝堕兰 然后将结果传送给客户方软q l :。随着客户机功能的r i 趋复杂,这种系统结构的府川系统的 饺年| i 移午i l f 的1 作时越来越人支持多种搽1 1 - 系统1 f 1 黼成为,“啊f 内负。i 嘶m 钵,、 ,【! 三| 1 渐陇人,成为名剐其实的“胖客户”,所以它的发都年眦谢科目烦琐,企、l k 柜竹圳和 f l b l j “【:的jr = f l j i j 人。总之这种体系结构相1 前w e b 发腱的形式f 越来越表现i 1 1 4 1 i 可仲 缩陀可移干i i f 性可管理性方而的不足,成为了w e b 虑i j 系统发展的瓶硕。 n 】 为r 解决这个问题,多层w e b 应用体系结构府运而! e 。结构如f 幽所示 向 h r r p 峰划 i c | r a t i o m l l r r j l _ j 1 ) m a b a f :if 删 ff - 幽i 暨盥l j d b cu s y s t e m i i o p b r o w s e r d 0 。l v f l 啦两t h t m 删io u 3 d bi c lm e s s a g i n g j a v a p p l e t u $ n r m i ld i r e c t o r ys e r v i c el | 。| o t l y , r j i n m s a c t h ls e r v i c e i u h m c l i e n tt i e rm bt hd a t a b a s et 打 图1 多层体系结构 f i g1 1m u l t i ,l a y e ra r c h i t e c t u r e 三层结构包括:表示层、应用层( 功能层) 和数据层。这种体系结构的最重要特点就 足对心川j | | ! ! 辑进行了更为细致的划分乖i | 分配,引入r l ,问层。它将川户交互( 表示逻辑) , 廊用业务处理( 业务处理逻辑) 和数据管理( 数据管理逻辑) 相互之间彻底分离和彼此独 立,符门完成其搜欧和应该完成的任务。这种逻辑成分的相对独立,功能模块的相对分离 便丁席川系统的开发人员采用符自独立的最优解决方案。也便丁| 将各种不同平台上的以前 开发的应用迅速地集成。 1 3 三层,多层应用体系结构中的应用服务器 简尊来说,庵用服务器是一种软件它提供的服务支持把最终用户。0 介、i p 数据库联系 起来的基于w e b 网站的应用程序。它起了w e b 浏览器和数据库服务器以及其他应用系统 之间中间人的作用,因此j l j f 户不需要在客户端安装高性能的应川程序,仅使浏览器就可 以在i n t e r n e t 上使用复杂的应用系统。 从图1 1 中可见,作为整个麻_ i ;i 系统的协调者廊川服务器( a p p l i c a t i o ns e r v e r ) 作为一种中间件在多级分布体系结构中起着至犬重要的作j ;f j ,是多级结构廊用系统成功的 戈键。正冈如此,随着电子商务虑用的迅速发展,麻川服务器也成为近年i t 业界研究的热 点。 筘2 负 ! :塑奎塑查堂塑! :兰笪兰兰一 1 4 应用服务器的设计与实现 综l :所述,研究和开发商州馆的w e b 庸川服务器,仳它不仅, 有w e b 麻川服务器 所必须f j 强人功能,同时具有通川性易丁:集成,易1 :f l :发羽f 灵活多变的特点是一个很有 意义f l 勺课题。 从纯技术,f j 皮米芥,如果使j 1 jj a v a 技术米波汁,实现个使川红i n t e m e t i n t r a n e t s 4 :j 电t i i 。由,实脱三层,多层软1 ,i :结构的麻川服务器) f :不足一什# 复杂的事情。这完全得镐 jj a v a 的 放标准和现有丰富的a p i 。 f hr r 时问的限制,狂本论文中所设计的w e b 麻h 服务器仅是一个最基本,最小化的 实现。脚h j 服务器中包含了实际的商川麻h j 服务器所必须包含的功能模块。在本次论文中 所休现的没计思想,采j 的系统框架雨f 实现技术都足碓常先进的。这个l 节) l l 服务器的基本 机粜已经措女r j 由t - 采川了绸什披术和分布式埘缘 术,这使褂它功能的扩展与性能的抛 商都怍常容易。 1 5 本文章节安排 本文是刖绕w e b 麻圳服务器的产生、所采川的主要披术,及其具体设计与实现所展 月| 内。论文的第_ 二章从i n t e r n e t 技术的发展,e b u s i n e s s 需求的现入手,分析了传统的 两层客户,服务器协作计算模型,以及这种应用结构枉适麻新i n t e r n e t i n t r a n e t 麻用和电子 商务戍f i j 中所表现出的不足。这导致了网络应用软件体系结构的革新三层n 层麻用结 构麻运而生。在这种可以构建复杂网络戍用的体系结构中,何丁中间层的虑用服务器扮演 辨一个关键的角色。 枉:二鬻中讨论了设计分布式廊川服务器所涉及剑的关键技术:分布对象技术。 第四章着重阐述了应用服务器的概念与功能,列举了现有的一些应用服务器的例子, 对它们进行了一些技术比较。 第百章是总体的设计包括实现技术方案选择。体系框架设计,功能模块划分等内秤。 第八、七两章详细捕述了徉个功能模块的具体设计和实现。 最后趄总结与展望。 辅3 页 ! 塑竺型! :! 堡! :型! 堡苎 第二章应用软件体系结构 2 1 传统的应用软件体系结构 随精i t - 算机网络的川现,使汁锋:模,w 出发小r ,恤命性的7 她“t ,从集m i ,计r t :t l j 代进入 r 刚络m f l 汁钟:时代。s ) , j t e ,弃j 。j j 务器( c l i e n t s e r v e r ,以r 简称c s ) 钾模弘符i : r 垅殳舞台,并一i 有rl f 常重要的地 c _ 。 2 1 1 从集中式计算到网络协作计算 枉集中式计算技术时代j “泛使川的人j 机,j 、j 口机计算模州越通过台物理l :与卅j i 机丰1 连接的1 f 智能终端米是实现宿主机。f :的心川剐芋。和:多川户环境t t t ,宿主机戍川槲序 l ! i j 负责与_ l j 户的交且,又负责对数据的管理随精川户的增多,这种模,i 对宿主机能力的 要求很商,而且开发者必须为每个新的j 蔼j - t l 雁新设计同样的数蜊管理部仆。 8 0 年代以后,集q ,式结构逐渐被以p c 为1 :的微舒l l 叫络所取代。个人计爹 :机羽l l1 1 ;站 的采j “。永远改变了协作计算模型,从而导致r 分散的个人计算模刑的产生。1 :楚,网络 协作汁掉经历了从基于宿主机的汁算模型到弈- 机月务器计锋:棋弘的演变 2 1 2 两层c i s 模型 杯j 一机,服务器系统比文仆服务攒系统能挺l i f :蜓1 1 i 的能为锌1 端州服务器端犄j 、v 川的处圳婴求分开,同时义0 同实现】c 处州蛆求,刈钵,、端r , ! j i - ;i i 4 j i i 求实现“分椰j 麻川处 理”。服务器为多个客户端赢川枞序符理数据,i f l j 客户端川f 发送、诮求和分l = l 亍从服务器接 收f 内数据,这足一利- “胖祥,! 机”( f a t c l i e n t ) ,“蝴服务: : ”( t h i ns e r v e o 的叫络汁钟:模j 。 圈21 两艋结构模型 f i g2 t o # 一la y e ra r c h ;t o c t u r e 样p 机打软仆般i h l ;v j l l l , t l , 7 ;腴”髓的数札畸蚱连接f i lj j :纠j 垃,撇务; ; a 软仆般址禁 2 f i4 碰 坐 掣 羹翌 一户一一户一一艺、一一客一一客一一样一墨圆 ! :塑皇塑叁兰塑! 堂丝笙兰 种数 l l ;阼系统。客户机方软件的主磷功能足处理。j 川户的交u 、按j 姒柴 1 膨川逻辑进行处 理雨i 与数据库系统进行交互:;服务器方软纠:的i i 要功能魁数猁h j 系统根据客户方软制:的 i ! 求进行数据库操作,然后将结果传送给客户万软仆。群户方软什! j 服务器方软什之间的通 倍1 i 蠼足通过s o l 语言。两层结构庸川软什册模j 口如| 冬| 21 所水。 这种结构可川以f 的公式表示: 两层c i s 计算模型= 多c l i e n t + 单,多d a t a b a s es e r v e r + 动奈计算 2 1 3 两层c ,s 模型的分析 两层结构麻川软什的开发1 作士婴集l 1 和:辩,。方,客户订软什不但要完成j lj ) 。变干 数据姓示的f :f l - :,而且还要完成对戍川逻辑的处理l :作,1 1 p i j 户界面与麻_ j 逻辑何刊i 一 个平台上。这样就带来了两个突出的问题:系统的可伸缩性较差和安装维护凼难。 t h1 :曲:一个系统中并不是所有川户f l 勺需求# l l + l l l + ,此他们要求料序的功能也不琳千| j i 硐。使川两层结构惠川软件时,开发人员提供给所有川户的程序都怂相同的,除1 | 开发人 员不厌其烦地根据不同_ j 户的需求将人的软仆裁剪成不同的小软引:分发给用户。 在系统开发完成屙,接个系统的安装也非常繁杂。在每一台客户机上不但要安装应用 样序,而h 必须安装相廊的数据库连接程序,还要完成人培的系统配置l :作。如果系统有 人姑用户并且j = | 户是分布的和流动的,例如r 域网环境r 的席j j 系统那么糕个系统的 安装将1 常困难。在系统进行修改后,所有客户机上的府_ l j 软件都会受到影响。 另外,两层戍川判j 弘的伸缩性也不够好,刀= 发人员弓j j i 的判序往客户端运行,j j j 了 人蜮的系统资源和网络资源。i ;f i 着成 i l 程序业务逻辑及复杂性的不断增人,其,l :发i 作的 难延也越米越商。 以l :| i i 个娠闪使褂两层 1 构心川软什n i n t e r n e t i n t r a n e t 环境r 的他川受剑较人m 制。 2 2 多层结构应用软件 什。 为了解决两层结构席棚软什中存柏:的问题,托8 0 年代t 一川,川现r 多层结构成川软 2 2 1 三层多层计算模型的优点 托,i j 二; 构麻川软什q ,蚺个系统? 个f i f 分纠成:铎机、心川小务 : 年数拂w w i i _ 务器。客户机上只需要安裟席州科序。它负责处理! 与川j 】l 的变j i 羽f b 麻川服务器的交j ,。 心川服务器负谢处理麻州逻辑jl 体地说就地接受钵户机办心川l ! ! i l j 弘的诎水然肝橄w 心 挪5 艇 ! :塑皇丝叁兰! 坚! :堂竺丝兰 川逻辑将这个请求转化为数据库请求后0 数据库服务器交虬并:将与数据库服务器交- 的 结j l ! 传送给客户机方的廊川程序。数据j 年服务器软什根据心川服务器发送的曲求j :! i ! 行数据 阼操作,肝将操作的结果传送给庸川服务器。 二层结构麻川软什的模弛如图2 2 所示。 数抛库访耐协议 圆固 图22 三层应用体系结构 f i g22t h r e e i a y e ra r c h i t e c t u r e 从幽中可以看山,互层结构庸川软件的特点是用户界面与戍川逻辑何丁不同的平台 上,并且廊用逻辑被所有用户共享。由于j _ j 户界面与麻州逻辑位- t _ 不同的平台卜,那么系 统必须提供川户界面与应用逻辑之间的连接,它竹j 之间的通信协议是由系统臼行定义的a 这个协议必须定义正确的语法、语义以及同步规则保证传递数据的正确并阻能够从错误 中恢复过来。 麻川逻辑被所有_ 【| j 户共享是两层结构戍h j 软件与三层麻川软1 ,i :之间最人的区别。中间 层即应用服务器是整个系统的核心。它必须为处理系统的具体虑用而提供事务处理、安全 控制以及为满足不同数量客户机的请求而进行性能调整的能力。戍用服务器软件可以根据 处理逻辑的不同被划分为不同的模块,从而使客户机方麻_ i ;| 利序在需要某种麻用服务时只 与廊j f 】服务器上处理这个应用逻辑的模块通信计h 一个模块能够同时响廊多个客户机方 麻_ h j 程序的请求。 使州三层结构鹰川软件开发系统的优点足1 f :常明显的,土要有以下儿点: 1 )糕个系统被分为不同的逻辑块,层次。i f 常消i 断。 2 ) 能够使“肥客户机”变成较“瘦”的客户机。 3 )客户端人机界面部分的程序开发l :作得以简化。它不必关心业务逻辑是如何访问数据 库的,只需把精力集中在人机界面上即可。 _ 4 )开发平箭瑚的i :作向服务器方转移使得分砷i 的数据处圳成为可能。 5 )中间业务逻辑层包含了大鬣的供窖户端张序谰h j 的业务逻辑规则以帮助其完成业务 操作。它的优点就在于它所具有的可伸缩性,可使其随贝体业务的变化而改变,位在 客户层羽i 数据服务层所做的改动较小适合1 :快速开发。 铺6 页 ! 塑壅塑叁堂! ! ! ! ! ! :竺丝堡:! ! ! ; 一 6 ) 箭i l ! 和维护变得相对简单。数据服务层】i 盟提供对数据席_ i = ! 行箨利操作的方法。它土 :喽l t l 巾| l j j 、啦务层来调川,f :完成业务逻辑,当数据席的结构确定后对n r 它的改动也就 比较小了。 7 )系统的安全性得以提高。它可以对每个、l k 务功能组f i :进行授权,限制了1 | 法访问 8 1 便丁进行事务管理。 2 2 2 i n t e r n e t i n t r a n e t 环境下的多层结构应用软件 w e b 技术是i n t e r n e t ,i n t r a n e t 上使j j 最广泛的虑州,它为j i j f ,提供了一个标准的界面 即w e b 浏览器。目前,i n t e m e t i n t r a n e t 环境r 的应用软件发展方向是以w e b 浏览器作为 标准界面,使用j a v a 等技术进行复杂的实时事务处理。 在i n t e r n e t i n t r a n e t 环境下,戍用中的代码是流动的,这是它与传统c ,s 模式下麻用 软件的一个重要区别,也是一个重要的进步。客户机上只需安装一个标准的w e b 浏览器, 其他的应用程序都存储在w e b 服务器上。需要时才下载。这样,系统中的客户机成为了 一个真j e 的“瘦客户机” 如果在i n t e m e t j i n t r a n e t 环境下将戍用软件构建成两层结构,那么由于 i n t e r n e u i n t r a n e t 环境下特有的通信速度和安全性等原因,系统会出现一些问题。 由t 往i n t e m e t i n t r a n e t 环境下,系统通信信_ l 酋的质姑参麓不齐,速度快慢不一,总 体来说是比单独的局域网信道差得多,因此要求系统阈的通信量应尽可能小。按照两层结 构来构建戍用软件。所有的廊用都集中在客户端,那么必然导致客户端程序庞火,通过网 络f 载的j a v a a p p l e t 程序字节数较多,系统速度下降,可靠性降低。如果系统需要访问数 据库。那么客户端还必须f 载一个较人的j d b c 驱动稗序。 圈2 3i n t e r n e t i n t r e n e t 环境下多屡应用软件结构 f i i23 j i t i - l a y e ra r c h i t e o t u r ei ni n t e r n e t i n t r a n e t 由于j a v a 技术中采用“沙箱”( s a n d b o x ) 安全模型,所以j a v aa p p l e t 程序只能与 源宿主机( 所谓源宿主机就是向w e b 浏览器传送该j a v a a p p l e t 程序的机器) 上的捌序通 信,通过j d b c 访问位于源宿主机上的数据库系统,使得系统的灵活性大大下降很难满 第7 页 :! :塑竺堡叁堂塑l _ ! 兰! 堡苎 足实际的人删廊川的要求。 以r 这两个原冈使得在i n t e r n e t i n t r a n e t 环境r 使 j 多层心川软什结构成为必然,其中 撤简单的三三层结构的模删如i 鳘| 2 3 所示。 这种新州的三层网量 f 汁卯模州t 九f f 以卜的公农示: 三层刚络计算模型口多浏览器+ 单w e bs e r v e r + 多d a t a b a s es e r v e r + 动态计算 ( i i 意,这里所指的w e b 服务器已经包括,托以后章m 1 将婴挺到的心川服务器) 系统的第层由从w e b 服务器r 载返行1 i w e b 浏览器j :的j a v aa p p l e t 私事f 组成, 处理川户界晰:第一:层i 自一个廊川服务器组成,处删廊川逻$ :第二层由数据席软f 1 :组成。 采h l 例显示的模型的系统主要有以f 儿个优点: 1 ) j a v a a p p l e t 程序相对较为简单,稃序姑小,便- 在网络上快速传递: 2 ) j a v aa p p l e t 程序与网关程序之间只传送请求雨i 响应信息,通过网络传送的信息繁小: 3 )所有的数据库操作都由与数据库服务器位、同一主机域蚓一j 荀域网环境主机上的席j h 服务程序完成,速度快可靠性商: 4 ) 麻川服务程序访问数据库不存在安全性限制,它可以访问咧络上任意主机上的数据库 只要它拥有相应的权限。 当然,上圈显示的模型只是一个最简单的例f 为了提高系统的性能,可以在此模型 的基础上进一步完善,加入企业级麻用所必须的一些要素,如稳定性、高可扩展性,安全 性、高效性等,基于j a v a 平台的多层席朋软f f :体系结构解决方案魁目前晟住的选择。 2 3 i n t e m e t ,i n l r a n e t 多层结构中的数据库访问 数据库的访问在基丁i n t e r n e t i n t r a n e t 的麻川p 起着重婴的作j | j 。在三层,多层体系结 构中客户端使用的是h r t p 协议,由于h 厂r p 坍议的功能有限,和安全上的考虑客户无 法商接访问数据库,必须通过中间层,使用一个接口实现交! = l :。 2 3 1 c g i 方式 目前在i n t e r n e t 上i b 优势的三层c s 器模删是通过通朋网关接e lc g i ( c o m m o n g a t e w a yi n t e r f a c e ) 实现的。c g i 与w e b 儿乎嗍忖山现曾经烛提供w e b 交互性的i 耻 方法。儿乎所有标准的w e b 服务器软件都支持c g i 。它可用在w e b 浏览器运行的任何语 言米l 5 写,如p e r l 、c + + 、v b 、d e l p h i 笛。这利一w e b 与廊i t j 系统的集成方法非常简单、 直接因为它不需要对w e b 服务器与浏览器作任何修改。在这种体系结构中,w e b 服务 器通过c g i 接口创建网关进程并将用户请求传递给网关戍用网关处理c g i 请求。并 第b 页 ! ! 塑皇堡叁兰塑! 堂些堡苎一 通过麻川接口访问贝休府刖,然后将结果转换为h t m l 格式_ j f :l i i l 送给服务器。然1 f i j ,c g i 的! jh t t p 烛一个低速、脆弱平无状态f 由m 义,j 折以在利川c g i 进 ,j 剜l j 集成i | i f 存n : “i n d 题。 竹北,w e b 服务器对每一个j ,1 i i 求胖必坝刨处一个m 独加删天进剃,外和:接剑迎过 进程管道发问的结聚扁终止该进程。可! ! 通过c g i 执行雅序迎接麻系统的缺点灶性能 开销较人,其中包括进程创建与终i p 开销、进程问的数据拷贝开销以及进栏问的切换开销 等。如果一个h t m l 文仆中包含了人蛙的数据序沈问请求,那么这种c g iw e b 网芙i 一t i : 能将十分低f ,且服务器很快会达到饱平状态,濉以支持更多的j j 户请求。另外,c g i 编 烈复杂凋试喇难,功能也有限。最后,c g i 也无法适麻丁广泛流行且迅速发展着的j a v a 等新兴技术。无法利埘这些技术所带米的巨人优越性。 2 3 2 专用a p i 技术 为了克服c g i 技术的缺点,些w e b 服务器厂商推r 各 1 的w e b 服务器软1 ,| = 的 府川编稃接口技术( a p i ) ,最典型的就是n e t s c a p e 的n s a p i 和m i c r o s o f t 的i s a p i , 以及o r a c l e 的w e bs e r v e r a p i 等。 这些a p i 能使w e b 开发者实现任何c g i 可以实现的功能,这是驻留在w e b 服务器 中的程序代码,且一般与w e b 服务器软件处在内存的同一地址空间中,因此每次调用是 在内存中运行相应的程序段,而不是像c g i 那样需要启动新的进程另外a p i 在服务器上 有大量的可供直接利用的数据和函数。但是开发a p i 应用程序要比开发c g i 应用程序复杂 得多需要许多特别的编程技巧,如多线程、同步运行机制、容错处理祷技术。且程序可 移植性差。这种封闭的倾向是一条死胡同,它导致了一个到处充满非标准服务器的w e b 。 所以,这些技术也不是我们所期望的。 2 3 3 应用服务器的引入 通过以上的分析。我们可以看到当企业信息系统从c s 模式向多层分布式麻用模式 转变时需要应用服务器( a p p l i c a t i o ns e r v e r ) 的支持以便将不同的应j ; j i 技术集成在一 起,使多层分布式应用的开发、分发、管理变得更加容易。现在已经有很多企业采用了应 t l j l t ! 务器技术,极人地增强了企 l k j 衄j t j 的性能。 笫9 页 ! :堂奎型叁:i ! 塑! :i ! 丝丝兰 第三章分布式对象技术 i :常介蜊了i n t e r n e t i n t r a n e t 虑川需求的发展及l u f 商务府川f | 勺l 现导致了网络计 算模式的毕命,三层,多层体系结构| j i 现。这也推动了作为这利耋占构中的核心部分的麻川服 务器的研究和开发。本章将介 “麻川服务器的技术基础分前i 式对象技术。 3 1 分布对象技术概述 3 1 1 分布计算 分布计算( d i s t r i b u t e d c o m p u t i n g ) 姓指稚:l 删络计算平台上部署分布计算环境( 也称 为t i 一间仆) ,提供开发工具和公j e 服务,支持分布式麻川,实现资源儿享乖协劂i :作。 8 0 年代中后期以支持信息拭享的麻川需求为核心,形成了面向过程的第代分布 计算技术。在第一代分布计算技术的推动f ,9 0 年代初现了从集中计算模式向分布式 c s 计算模式转移的热潮。在分布式c s 计算机系统的建立及其戍j j 系统的开发过利中, 人们逐渐体会到分布式系统比想象的要复杂得多,例如异构环境f 的虑_ h ;| 互操作问题、系 统管理闯题、系统安全问题等等,这些问题在集中计算模式卜是不曾出现的或不突山的。 传统的面向过程的技术在开发大型软件系统时已经暴露出很人的局限性在应付复杂的分 却式脚心系统时更加力不从心。人们自然想剑了征8 0 年代软件领域人放异彩的面向时缘 f o b j e c t0 r i e n t e d ,简称o o 技术。 9 0 年代初。以面向对象技术为主要特征的笫二代分布计算技术开始孕育,经过5 年 多的蓬勃发展进入了成熟时期。人们也将这一代技术称为分布对氰技术 3 1 2 分布对象技术核心概念 传统的对象与访问该对象的程序只能存在丁同一进释中并且只有相芙程序设计语胄 的编译器才能创建这些对象并感知这些对象的存相:,而外部进袱无法了崩1 1 平i l 访问这i 对象。 这意味着在常规的分布式c ,s 廊j 【 j 中,窖户进科不可能直接访问异地服务进程中的常规对 象。为了解决这个问题,人们捉出了分布对象的概念。 分布对象存在于网络的任何地方,可被远科客户虑,l j 以方法凋坩的形式访问。至卜分 布对象是使刚何种程序设计语言和编译器所创建,对客户对象来说是透明的。客户应埘无 须知道它所访问的分布对象在网络中的具体能越以及运行在何种搛作系统上,该分布对象 祥户庸川可能在同一台计鳃机i - 。也可能分布相! i i i “域州( 如i n t e r n e d 相连的不州计 算机上。分布对象具有动态性,它们可以在网络:f :到处移动。 镣1 0 烈 蕈 l i 海变通人学坝i 付论文 _ _ - _ _ - _ _ _ _ _ - _ 一+ _ _ _ _ _ _ _ 一 独j 特定的f d 序i 5 f 计讲j 和心川系统、j 哐j i i # = f l 臼也禽f l f 软件称为软构制:。分布对 象址坤| i 兆j 弘的软4 = , j f l 。牡j :分们刈象技术的5 ) - , ( 1 i a i , kj 1 :技就地5 1 - _ t i 对象的,i :发爿= i f 纠数。 分布对象技术采刚而向对象的多层c 8 计算模刑,该模) 性将分布在网络上的全部资源 都按j i 对象的概念米 _ | 1 织,每个对象部有定义i 蜩晰的访问接r 。创建平维护分布对象实体 的心川称为服务器,按照接门访问该对象的i , 、l i i i 称为客户。服务器中的分布对织不仅能够 被访问,而 j 巾身也可能作为其他对象的客一。此在分布对象技术中,辫户0 服务器的 f f j 包划分灶棚对的或多层次的。支持样户访0 u ”地分印对象的核心机制称为对致t l i i 求代州 ( o b j e c tr e q u e s tb r o k e r ,简称o r b ) 。o r b 处j :分稚对象技术的核心何越,它蜘1 劂一条 总线( b u s ) 把分布式系统中的箨类对象和庸川连接成相土作川的整体。 j 笫1 代的分布汁算技术棚比,分析j 利象j 点术舯实质傩进步在1 :使而向对象技术能够 托异构的网络计算环境中得以个而、彻底平力他f 内实施,从m j 能够订效地控制系统的0 f 发、 符f l l ! 1 l l 维护的复杂性。这j l j 越第一:代技术优j 。笫一代技术的灭1 | i j ! 。 3 1 3 现今的三种主流技术 目前分布对象技术已经成为建立麻j j 框架( a p p l i c a t i o nf r a m e w o r k ) 平i i 软构什 ( s o f t w a r ec o m p o n e n t ) 的核心技术,在开发人j 议分布式麻川系统中表现山强人的,上命力, 并形成了三项具有代表性的主流技术,即o m g 的c o r b a ( c o m m o no b j e c tr e q u e s t b r o k e ra r c h i t e c t u r e ) 、s u n 公司的j a v a r m i 以及m i c r o s o f f 朐c o m d c o m ( d l s t d b u t e d c o m p o u n do b j e c tm o d e l ) 。 在接下来的三节中将分别介绍这三种技术,此外还对它们做了一定的分析和比较,再 根据本文所设计应用服务器的实际情况选抒一种作为实现基础。 3 2 c o r b a 规范 公刚对象请求代理c o r b a ,是对象管理组织o m g 对应当今快速增氏的软硬件的协 i n i :作能力的要求而提山的方窠。简而言之。c o r b a 允许廊川稗序和其他的虑川程序通 讯,而不论他们在什么地方或者由谁来设计。 3 2 1 对象请求中介( o r b ) 在c o r b a 中对象请求中介( 绒称代理) 足关系模刑的核心。它像一部电话交换机, 提供创立和接收调用的基本机制,通过它,并个对象可以透明地向本地或远端的其他对象 发请求战接受晌廊。o r b 对象服务丰f 缩介,确保符什c o r b aj j 蝠f 范的廊川细什f ( , f f j y r 效的通信。 c o r b a 的底层绱构是藏丁而向对擎模州的i ho m g 接r i 拙述 ;i 袁( o m gi n t e r 陌c e o 鞯i i 页 ! :塑窒塑叁:! i ! :型! ! 堂! ! ! 竺兰一 d e f t n i t i o nl a n g u a g e ,o m g i d l ) 、刈琢i | i f 求1 tj n o r b 和i i o p 抓准l :j j 议( i n t e r n e t i n t e r - o r b p r o t o c o l ,也称网络o r b 交换协议):个荚键模块升t 成 o r b 提供许多机制,这些机制川1 :接收l l l f 求、定何讹求的对象实现,或川丁准街对 琢史i 蛇搜。州成i l # 球的数h :通信臀。脊j 。所靠刊的外i f i 完个。刈缘的忙铃无芙,也j 它所 实现的编料i : ,! i 无戈。它的体系结构蜘i i 冬 3 1 所示: 图31c o r b a 20 的对象请求中介结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电缆电气知识培训内容课件
- 电磁铁课件教学课件
- 高级会计师培训课件
- 高空护栏安全知识培训课件
- 《刘胡兰》课件 统编版二年级语文上册
- 电焊机保养与维护
- TDHL-d10-Tergurid-d-sub-10-sub-生命科学试剂-MCE
- R-DS86760016-生命科学试剂-MCE
- 高温施工中暑培训课件
- 电焊工初级知识培训课件
- 医院伦理培训课件
- 2025年小学道德与法治学科教师专业素质真题考试试题及答案
- 2025年律师培训试题(含答案)
- 化工机械法兰连接课件
- 2025年事业单位工勤技能-河南-河南农业技术员一级(高级技师)历年参考题库含答案解析(5卷套题【单选100题】)
- 2025年不动产登记业务知识试题及答案(司法考试资料)
- (新教材)2025年秋期人教版二年级上册数学核心素养教案(第2单元)(教学反思有内容+二次备课版)
- 心理学基础(第2版) 课件 第7章 学习
- 2023年普通高等学校招生全国统一考试(全国乙卷)文综历史试题附答案
- (高清版)DB34∕T 5154-2025 基于云制造的工业互联网架构要求
- 党校中青班入学考试试题及答案
评论
0/150
提交评论