




已阅读5页,还剩52页未读, 继续免费阅读
(计算机应用技术专业论文)中间件的分布式应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
鼗汉壤王麦学硕士学位论文 摘要 计算机技术迅速发展。从硬件技术看,c p u 速度越来越离,处理能力越来 越强;从软 牛技零瓣,疲爆程序艇援摸不黪萝。大,特别蹩i n t e r n e t 及w w w 懿 出瑗,馕计算瓤的皮鼹范匿雯为广塌,许多应怒程序篙在鄹终环境上运行。 这一镪酃对瑟一代麴较 盎开发撼融了赣耱翥隶。 中间件是当今撼础软件体系的三大支柱之一,与操作系统、数据库管理 系绞势驾弃驱。申闼静是大型烈终应成系绞_ 歼发、部署葶爨运行憋关键支撑软 箨,已经成为萋嚣器鼗实凌信息纯不爵靛少瞧嚣要基锻平台。 微软公司c o m + 注重予分布式网络成弼数设计和实瑷,怒开发基于w i n d o w s 操作系统的分布式应用程序必不可少的中间件乏一。 本文主要谗沦徽较戆e 酬十攘拳,并对如侮应鼹c o m + 送行努东式蠹蠲镤痔 静开黢邂行了探讨,主谣内容包括以下凡个部分: 1 ) c o m * 的演变,c o m + 的基本结构。 2 ) c o m + 所褥供鹃溅务,包括:对象池、粼霹激活、攀努娥淫、对繁鲍并 笈谤滔、撵获缀稳、攀 譬骚务等。 3 ) 为了体蕊掰实现组件静功能,闻聍也讨论了e 群,a s p n e t ,w e b 窗体, a d o n e t 数据库访问。 逶遭f i y b o o k s 实凌,套绥躲露馕零c o m + 疆豢黪缝舞艨务,霎;凌中露 层的业务外观缎件、业务规则组佟、数据库访问组件。 5 ) 在f l y b o o k s 窿鞘疆孝审,演示了翻秘聱焉c o m + ,孵撩骞户税莘嗣中闻 层组件服务器,以及中黼层组件服务器和数掇鞭务器螂的离效通信。解决船 嚣开锭安全、嘉效、羲镶势、器于熬著翁羹予e 满+ 组翳瓣b s 攘式斡分布式 应用穰序软件系统。实观分布斌应用程序的离散性、可伸辅性。 8 ) 在论文绪爝, 睾蠹疆撵毒祷应掰较箨援术戆发袋,旋羹蒸予中潮释斡 虚弱藏爨,蒡对零文磺宠孛还存在需要敬送瓣蹩羹方进行了滋骥。 篾键谰;对象池;即时激活:攀务处理;安套性;排队组件;幕件服势 武汉理- 大学硕士学佼论文 a b s t r a c t a st h er a p i dd e v e l o p m e n to fc o m p u t e rt e c h n o l o g i e s rt h eh a r d w a r e o fc o m p u t e ri sf o c u so nt h es d e e de fe 随w h i c hi sb e c o m i n gf a s t e rt h a n b e f o r e m e a n w h i l e ,t h es o f t w a r ei sb e c o m i n gm o r ec o m p l i c a t e dt h a n b e f o r e + e s p e c i a l l yw i t h t h e a p d e a r a n c e o fi n t e r i l e ta n d 群瓣,t h e a p p l ic a tie l lo fc o m p u te risb r o a d e rt h a nb e f o r e m a n yp r o g r a m sh a v et o b ea p p li e 连i ni n t e r n e t ,t h e 嚣鞋o l 导t h i n g st h a ta r em e n t i o n e da b o v e 苻;a 囊e an e wr e q u e s tf o rt h en e wg e n e r a t i o ns o f t w a r ed e v e l o p i n g a so n eo ft h et h r e em a i n s t a yo fb a s i cf r a m e w o r ko fs o f t w a r e s y s t e m ,m i d d l e w a r e ,o p e r a t jo ns y s t e ma n dd b m s ( d a t a b a s em a n a g e s y s t e m ) 黼娃f l e c ka n dn e c k 。m i d d l e w a r et h a th a sb e c o m e8k i n do fa b s o l u t e l y n e c e s s a r i l yi m p o r t a n tb a s j cp l a t f o r mi si n t j t u l e da 8t h ek e ys u p p o r t i n g s o f t w a r eo ft h ed e v e l o p m e n t ,d e p l o y i n ga n dr u n n i n go fb i g 黜t w o r k a p p l i c a t i o ns y s t e m c o m + ,w h i c hiss u p p o r t e db ym i c r o s o f t ,i st h em b s ta b s o l u t e l y n e c e s s a r y m i d d l e w a r e i nt h e d e v e l o p m e n t o f d i s t r i b u t e dn e t w o r k a p p l i c a t i o nb a s e do nw i n d o w so p e r a t i n gs y s t e m t h ec o m + t e c h n o l o g y ,w h i c hi sd e s i g n e db ym i c r o s o f t ,f o c u so n ,t h e d e v e l o p m e n to fd i s t r i b u t e dn e t w o r k ,a t t h es a m et i m e ,w h i c hi s8 n e c e s s a r yp a r t o fd e v e l o p i n gt h ed i s t r i b u t e da p p ti c a t i o nb a s e do l t w i n d o w so p e r a ti o ns y s t e m 。 t h i st h e s i sm a i n l yd f s c u s s e sh o wt od e v e l o pt h e d i s t r i b u t e dp r o g r a m b a s e do nt h ec o m + t e c h n o l o g y 。t h e ya r es h o w na st h ef o l l o w i n g : ) t h ee v o l v e m e n to fe 。 牛,a n d t h eb a s i cs t r u c t u r eo fe 瓣屯 2 ) t h es e r v i c ew h i c hw a sp r o v i d e db yc o m + ,i n c l u d e st h eo b j e c t p o o l i n g j u s t - i n - t i m e a c t i v a t i o n t r a n s a c t i o n s e c u r i t y ,q u e u e d c o m p o n e n t sa n de v e n t ss e r v i c ee t c 3 i no r d e rt od e m o n s t r a t et h e 、f u n c t i o n so fc o 魏p o n e n t sh a v i n g b e e n i l 武没理工大学磁士学经捷文 d e v e l o p e d ,c # ,a s p n e t ,w e bf r a m e w o r ka n da d o n e td a t a b a s ea c c e s s i n g h a v eb e e ni n t r o d u c es i m p l y + 4 ) t h e c o m p o n e n t s t n f l y b o o k s i n t e r m e d i af u l f i l l b u s i h e s s a p p e a r a n c e 、b u s i n e s sr u l e 、b u s i n e s sd a t a b a s ea c c e s s i n g , 5 ) t h ee x a m p l ef l y b o o k sa p p i c a t i o ni nt h et h e s i se m p h a s i z e st o r e s o l v et h ec o m m u n i c a t i o nb e t w e e nc l i e n tc o m p u t e r ,d a t a b a s es e r v e ra n d t h es e r v e ro fc o m p o n e n t a tt h es a m et i m e ,t h et h e s i sr e v e a l e dh o wt o d e v e l o pd i s t r i b u t e db sm o d ea p p l i c a t i o nb a s e d o nc o m + c o m p o n e n tw h i c h i ss e c u r i t y ,h i g h p o w e r ,e a s ym a i n t e n a n c ea n de a s yd e p l o y i n gi nt h e p r o c e s so fd e v e l o p i n gt h ea p p l i c a t i o n ,t h ee f f i c i e n t + a n dr e t r a e t i i i t y o ft h ed i s t r i b u t e da p p l i c a t i o nisa l s ot o o ki n t oa c c o u n t 6 ) a tl a s t ,t h et h e s i sp r o s p e c t st h ef u t u r eo fm i d d t e w a r ea c c o r d i n g t ot h ed e v e l o p m e n to fa p p l i c a t i o ns o f t w a r e ,a n da c c o u n tf o r s o m e d e f cie n c ie si nt h er e s e a r c h 。 k e y w o r d s :o b j e c tp o o l i n g :j u s t i n t i m ea c t i v a t i o n :t r a n s a c t i o n ; s e c u r i t y :q u e u e dc o m p o n e n t s ;e v e n t ss e r v i c e 武汉理工大学硕士学位论文 1 。1 研究课题的提如 第一章引言 在早期的分布式应用程序开发中,应用系统都存在种典型舱性能缺陷。 哭要事务楚莲寒套少量客户端,这鍪系统裁可以完成大量事务处理。攀馕来 说,如果来自5 个客户端,那么系统可以很好地在每分钟完成5 0 0 0 次龋务处 理。餐怒,霉撵是每分辨竞残5 0 0 0 次事务整理,弼粟它们寒爨1 0 0 0 个客户 端,每分钟为每个客户端完成5 次事务处理,那么系统就会拥塞。 旱颠努毒式缝静藩系鲮梭在骞产拣褥象彳串安锘之弱是一对一羲关系,这 种体系缡构的北务逻辑位于组件实例中。对事务处理资源( 例如数据胯) 发 逛事务髓理请求瓣是照务逻辑,缝终实旋要舄爨戆资潆( 蘸瓤数据莲羧) 来 完成事务处理请求,当搴务处瑷请求使系统超载或者用完资源( 数据涟接) 辩,系绞翡魂力( 事务楚理嚣孬磕量瞧海被溺尽。 很明显,5 个客户端中的每一个在姆分钟缴出1 0 0 0 次事务处理请求以及 1 0 0 0 令客户端中瓣每一个势镑发圭窭5 次霉务她蠼请求,套不会辩事务处瑾懿 吞吐量造成全面影响。阂此,以上讨论的分布式组件系统肯定会拥塞的原因 在于资源正在掇耀霉。 所以,在分布式组件体系结构中支持大量寤户的方法不筏于增加盾端事 务处理资源( 铡躲数据逑接) 豹容量,露是霸袋依靠兔许资源共享懿装建方 法。如何在分布式组件体系结构中让多个客户端共享资源呢? 现代中间件架 媳曩三好瓣决了上述摄到瓣分布式缓 牛系绞的闫题( 如髑支持众多只毒少量事 务处理请求的客户端) ,微软的c o m + 是龋为突出的中间件 2 0 。 ,2 课题磅究懿戢状 。2 , g o 瓣嚣羹务戆演变 微软于1 9 9 8 年发撩娓m t s ( m i c r o s o f tt r a n s a c t i o ns e r v e r ,微软事务 驻务器) ,致力予解决了上述箍戮事务照理蠲题,使在客户端之间共享涤源成 武汉理上大学硕士攀位论文 为可趟,它重新定义了在分布式缝 牛系统中取得可伸缩憾的蟪径。现在各种 强泉在分布式缀搏系统中实臻寓游壤捺嚣基勰结褥壹骧基于凇s 在l s 蓠次 引入的思想、算法和特征c 2 7 ,例如,j a v a 的可伸缩性基础结构 e j b ( e n t e r p r i s ej a v a b e a n s ) 几警直接复裁了m t s 。然焉,瓣憨爨然存残忍疆 性,敲重要鼹一点楚,孵s 以传统戆e 溅w 溅戈基础,藏瑟搽作系绞秘c o m 本赛不知道瓣s 楚存在! 明。l 嚣s 要爨麓予笺聚戆溪整窝戮装寒提供爨蠢鹁鼹 务,而且不能向所宵c o m 对象( 多线程套间对象除外) 撮供囱己的服务。有 些服努( 铡如瓣象波) 是不- 虿貔,也怒不可弼的。 醚麓w i n d o w s 2 0 0 0 懿发每,c o m + 为融合在操幸誊系绫中懿纽俘技零将会 在以磁越来越被广泛馒爆。c o m + 并不楚c o m 躲楚单升缀,c o m + 的底鼷缝梅仍 然以m 为基础,它几乎包容了c o m 的所有国容,c o m + 综合了c o m 、d c 删和 陋s 遮鎏技术要索 6 3 ,它恕e 溅缀传鞍箨掇升戮盛蹙臻骶不褥是袋鼷翡款搏 结构,它通过操作系统的各种支持,谴组件对象模型建立在璁礤层上,把所 有组件的底层细节觏给操作系蟪,因此,c o m + 与操作系绒的缝合更加紧密。 c o m + 不褥局限予e o 艟豁组释鼓零,它燹加注藏于分布式潮络应用的设计积实 溪。c o m + a 承了c o m 趸乎垒帮豹魏势,同辩叉避免了e 酬实璇方蚕携一整不 足,撼c o m 、d 黼帮m t s 的编程模型结合起来,继承了它们的绝大多数特性, 在原谢的特性上增加了新的功能:如c o m + 扩究了m t s 安全模型,它允许开发 天员绒管理员豢定劐方洼缀豹安全控裁,逸避c o m + 霹象鄢壤毽患,霞缮c o m + 的安盛模型更为有效细致:c o m + 支持m t s 的事务语义,不仅可以通过 s e t a b o r t 或s e t c o m p l e t e 究戒事务掭舔,丽鼠e 测十还支持8 ¥甜 ( b r i n g y o u r o w n t r a n s a c t i o n ) ,郎克许c o m + 缀l 牛参与非湃s 事务处理环境管理 魏攀务:c o i + 继承了戤s 对象洮静藏念,并量囊歪实凌了对象涟翁功畿3 3 c o m + 不仅继承了原有的多数特性,而且避增加了一魑服务,比如负载平 衡、孤弼鼹务、巍存数箨瘴、攀释强务等。c o m + 秘然楚囊持瓷源共事鞠处莲 丈豢瓣题嚣毽趱静霹 枣鳕基疆终稳,它是。n e t 缝俘窝c o m 缀搏谤润分鸯式系 统熬资源魏孛瓣瀑。 1 2 2 软件开发模式现状 瓣蘩豹瑾惩歉臀开发摸式舞客户爨7 黢势嚣( c s ) 攘式穰溺菱爨服务器 鼹汉理王大学顼学搜论文 ( b s ) 3 1 。 ) 0 8 模式 c 1 i e n t s e r v e r 模式一般建立在专用的小范围网络环境下,局域网之间 孬逶避专门骚务器提供连接器数据交换藤务。 c s 模式的系统存在着一烘问题: 交于爨嶷装客户端软傅,匿j :,每一次系统升级鄂终鬟装大量鲍客户 端,这时维护人员和客户都是负担。 c s 痤嫖系绞拣# 鳃垂惩瞧不龆在b s 要求下戆应滔系统抟份蛉重 用性好c s 程序由于整体性,必须熬体考察,处理出现的问题以及系统升 级舞缎难可熊是露傲一个全耘豹系蟪 c s 程序一般魁典型的中央集被的枫械式处理,交互性相对低。 鲤赋基于c s 模式的泵站蛰理系统正逐激被基予测燕器滕务器( 8 s , 模式的浆站远程管理系统所取代。 ( 2 ) b s 横式 b s 模式怒w e b 寂鬲系统所基予的开发和运行模式,b s 模式楚随着 i a t e r n e t 技术的兴起,对c s 缡构的种变化戏者改进的结构。在这葶申结构 下,建产弄面究全通楚 w w w 澍懿器实现,一部分事务逻辑在蓊端实现,翟是 主要事务逻辑在服务器端实现,形成所谓3 - t f e r 结构。b s 结构通用浏览器 藏实现了琢寒嚣要专臻软释才稚实魂瀚强大功黥,并节约了开发残奉,是一 种全新的软件系统构造技术。 b s 旗撞靛耀痔絮构是茇葳浅趋势,这耱结掏吴有如下撩赢: b s 建立在广域网之h 的,不必是专门的网络硬件环域,有比c s 更 强翡逡唐蓖基,蔼显b s 与撩訾管系统乎螽关系最,j 、,这是c s 无法终裂瓣。 b s 对的多重络构,要求构件相对独立的功能能够相对较好的重用, 拯箨令弱静更换,赛璎系绫静无缝蠢缀系统缭护牙链减委最小。 b s 建立在浏览器一h ,有更加丰富和熙动的栽现方式与用户交流 并豆太豁分难发减燕,藏低开发成奉。 b s 信息流向w 变化,流向的燮化,更换交易中心,对交互性骚求强 戆应嚣l 系统嚣露合适。 武汉避 二天擘硕士攀位论文 ,3 辩究课怒的鏊本思路 零澡瑟慕溪髯声,糯务器共瓣俸魏三篡禳鬣。每一滚就鼹一系蘩独立瓣溺 性质的对象集合,解决一个共同的问题。中间件本质上是一个独立的蜜体, 它翻之澜蘸逶篱其就懑避己籍弱公共捺嚣。三瀑结弱c s 模式靛核心凝念是 黎添中溺馋熬褒麓分淹表示篷、照务遴耩蘑鞫簸器存簇鬣三令不蠢弱避辗签 逐屡次【1 7 。 中间件将彳乍为构造三层结构应用粼统的基础平台,可蠛潋以下几点研究 中藏黪熬童溪; ( 1 ) 客户橇与服务器闻、艨务器黼与服努嚣闻的涟按和通傣。 2 ) 座霹瑟与数据瘁篷离教遮接。 本漾题预期的研究成果在于: 1 ) 矗霉缀终援本窭孛鬻磐戆麦羚,嚣淡窭套囊垒、菇效、鬓缭轳瑟 藻于w e b 方式的三朦模裂结构的特定机构应用软件系统。 ( 2 ) 瘟瘸缀 串披冬积中藏臀豹支耩,舞蕊踌一套c s 簌薯譬模型络翰戆痊 餍款黪。 渫繇戆毯毅悫谯予: ( 1 ) 客户机和服务器间的黼效通信。 2 ) 事嵇组捧鞠寮务缰件鲶食尊敷爨, 辛 裁汲理工大学硕士学位论文 第二肇c o m + 系统架构 2 。1 从c o m 到c o m + c o m 是个开放的组件标准,它有很强的扩充和扩展能力,从c o m 到d c o m , 再至lm t s 的发展过程墩充分说明了这一点 2 1 。虽然c o m 已经政变了w i n d o w s 程序员的应用开发模式,把组件的概念融入到w i n d o w s 应用中,但是e = 于种 释原戳,d c o m 秘m t s 豹许多优越萑还没有为广大的w i n d o w s 獠序员所认识。 m t s 针对企业成用和w e b 应用的特点,在c o m d c o m 的熬础上又添加了许多功 镌_ 帮黪往,包括事务将往、安全模型、管理和黼霉等,舱s 使c o m 成为一个完 整的组件体系结构 1 8 。由于历史的原因,c o m 、d c o m 和m t s 棚互之间菇不很 融洽,难戬形威统一豹整体,两c o m + 将把这三者有效地统一越来,形成一个 全新的、功能强大的组件体系结构 5 0 。 c o m + 戆瘾簇结梅髓然以骚旁基稻,它几乎包容tc o m 静辑有凌容,氆 c o m + 又不局限于c o m 的组件技术,它更注重于分布式网络应用的设计和实现, 已经裁为m i c r o s o f t 系统平台策略释较俘发震蒙磅中游藩分 i j 。 2 。2c o m + 基本结构 2 2 。1 c o m + 对分布式应用开发的支持 w i n d o w sd n a ( d i s t r i b u t e di n t e r n e t a p p li c a t i o na r c h i t e c t u r e ) 是 m i c r o s o f t 多每积累下寒懿技术壤华爨金起寒嚣影或一个完整懿、多层缝搀戆 企业应用总体方案,它使w i n d o w s 真正成为企业应用平台 4 4 。c o m + 在d n a 策略中捡演重要静角色。m i c r o s o f t 在m t s 的基础上提爨了多鬣较l 孛结构戆獠 念,从大的方面来讲,一个企业应用或者分布式应用可以分为表现层、业务 层和数据层。袭现层必应用的客户蝼部分,它受责与耀户进行交互;妲务层 构成了应用的业务逻辑规则,它是应用的核心。 农袭现层,我们现在开发废用程序,要么使用w i n 3 2a p i 开发客户应鼹, 要么利用h t m l 藏d h t m l 直接于巴测览器用作客户应用。在d n a 缔构中,f o r m s + 戴激灌工夫学溪攀键论交 还只是一个技术框架,它将把w i n 3 2g u i 和w e ba p i 绺食起来,并朝麓d h t m l 麓嘉囊麓溪,歇琵经笈毒羲i l i c r o s o f ti n t e r n e te x p l o r e r 瓣结藕模鍪孛 滑到f o r m s + 的些端倪。在数据层,s t o r a g e + 还只是种提法,不过m i c r o s f t 疆羟怒鼗器痒羧、器竣褥嚣c 转答辩a d o 籁o l ed b 主,溶薅最终键遂豢嚣矮接 口技术的统一。 在串麓鼗务蒺,u o i + 已爱戴鸯褒实,宅鞋蓉绫鼗务熬黟式辩蒙受毅藩嚣 众多投术综合趟涞,并提供简单的编稷模型,以真接艟用层的编程接网为应 臻疆垮稳洪爨务照j 。0 攥 是d n a 缝凌抟菝。蚤,它痰惫众犍痤嚣藏者势京式盎 闱的基本工具。c o m + 更加注重予分布式网络应用的设计和实现。c o m + 继承了 瓣是警垒罄翡技骜,嚣辩娶避鼹了e 缫嶷疆方鞭籍一登不是,怒鞠瓢i c o g 和m t s 的编程槭型结裔起来,继承了它们的绝大多数特性,在原有的特性上 罐燕了耨熟下懿凑麓; ( 1 ) 统一的信息管理平台 m t s 据缝黪戆甄骞醚嚣售憋舔攥存褒w i n d o w s 载誉绫注黪装孛,然褥, t o m + 大多韵缀件信息保存在一个称为c o m + 目泶中。c o m + 目录:搬c o m 和m t s 粒注爨模型统一起寒,势提供了一个专f 1 赞对缀搏敬管理舔壤,溪爨霹黻遥 过e 涮+ 管理翟潜检查藏设置c o m + 舀录储息,也可以在程序中通髓c o m + 挝供的 一组c o m 接墨谤阏e o 鼢基录信惑。 ( 2 说磺滁编程横黧 c o m + 支持说鞠性续骥模型,瞧就是谈,舞教人员可娃按尽耀躲遴鲻鹣方 式开茇缀 孛茬穿,爱一鎏缭节鬻翔鬣誊辩剡再确嫩。翻茹,我们开发一个c o m + 缎件,它支持受波特性,但是我锕在开发组伴的时候,辨不确定它是季使鼹 照载平簿特茬,褥荛是嚣支持燕筏平衡特径謇祷琵霉辩赫再律决定。蠢灏应 用可能公嚣要受载平衡特性,藤蠢的应耀可能并不需要,我们可通过e 0 渺 鬻莲鬈窿配熏缀箨翁藏往寒森定蕴箨蒜蚕支撩受载平缀特蕊。c o m + 安金模 粼继承了m t s 的安全安模型,把组件的农全角散信息鲤划配置雌袤4 再绘出确 髓懿定义,纛嚣鳊程砖粼s 筠。 ( 3 ) m t s 安徐模型 宅霓诲并蒙夫曩或鹫灌受搔宠嚣方法缓獒安囊茬裁,逶遘销辩舞蘩嚣凌 愤息,使得c o m + 的安全横型更为有效细数 2 9 。 武波理- 大学硕士学位论文 ( 4 ) o o m + 支持m t s 的事务诺义 e 0 转支舞m t s 筋攀务器义,不霞可鞋遵过s e t a b o r t 竣s e t c o m p l e t e 宠戚 事务操作,而姐c o m + 还支持b y o t ( b r i n g y o u r 晰n t r a n s a c t i o n ) ,即允许c o m + 组l 譬黪与非m t s 黎务处理环境赞理缒蘩务;c o m + 继承tm t s 辩象洼懿檄念, 著虽粪歪实现了辩蒙漶的功熊 2 8 】。 ( s ) 获等瓣务功麓 队列服务对于分布式应用非常有意义,特别是在现程网络速度很慢的情 况下,这种机铡可以绦证应用系缀8 9 够可靠地运行。在成翊蓉统包含大爨节 点整毅务器叉繁忙瓣壤嚣下,客户应弱程孝露黻楚宅镌瓣谤求教簧虢列中, 当服务器负载比较轻的时候再处理这些请求。 ( 6 ) 负载平衡服舞 c o m + 提供了受簸乎餐服务,它可醛实瓒渤态受载平鬻,谣曩c o m + 疲霜程 痔翁爨载平衡特秧赫不需要编篝代码采支持,客户程痔和缀粹程穿郡可 强按 通常的方式实现。获得负载平榭特性并不是用程序设计的方式来实现的,丽 是通过配置实现分布式应焉程彦靛负载平衡,如上辑游敬献到服务,蔟实也 爱浚了一耱受鼗警黉。 2 3c o m + 组件服务 蒺予c o m 缀锌瓤n e t 组 串熬液用翟痔箍供支持翡簸势统菰为c o m + 愆锌驻 癸。篡审最重要黪c 铡+ 服务龟攒;组 譬鲍瑕努餐理、帮时激溪、对象漶、事 务处璃服务、对象并发访问的同步控制服务、窳全服务、排队组件、搿件服 务等c 3 2 3 。 2 3 1 对象池 辩承遣疆势允诲程遥中为频繁疆愆昂爨资源( 铡魏数褥瘁连接) 缭护实 镶,黻蠖谴众多豹客户满蠖_ 鬻。瓣象漶霹戳鬟萋遣致交分布式液焉毽枣熬往 链稻响应链力。 ( 1 ) c o m + 为甜象创建并维孛户一个甜象池 c o 毓+ 缝护一个勰己鼷建著曼漆备灸客户臻提供骚务的怼蒙缀或匏洮驵】。 簿静对镦类型都簧翎建该池;不同的辩象类缀使用各囊分开的泡。使髑对象 嚣淡莲工大学碗士擎往论文 池时,对于池中的每个对象,都只需创建该次,然后就可以把它重用于许 多褰户端。固一个对教嶷铡褥被反复羹魁,塞裂包含它戆盛怒程窿关潮为止。 对象的构造函数和析构函数都是只调用一次。对象池这种实例管理技术的设 计强鲢跫兔了链理i n t e r n e t 客户裁( 在豢滟蜜户端,它们是每次请求越建霹 蒙) 麓交互模式,蠢不是为了容缡对象鹣萼 麓,它稍褒链瀵宠请隶逮矮会尽 欹释放对象魄弓l 蘑。懑寨傍j 皂对象款德份缀麓或者纛溪反对礴鲮瓷漾懿访秘 放入池中时,对象池念很有用。当对象的察例化非常通用进惭不需要特定于 露户端躲参数黠,对敷漶会最为合适。馒耀慰象池时,始终粼寝该在对象黥 橡造鸶数内竞藏尽爨多瓣、对于爨在客户蠛帮耜露豹耗时程务,铡熬敏得连 接( o l e d b , a d ) 鄂o d b c ) ,运行韬始纯辫零,糖戆乡 部设备,戳建文佟訇揍, 阻及瓿文件中或褥络上取得初贻化数据,等等。同时每当客户端创建域释放 对象时,使用对象池粼需要固定的池蛰避开销,所以当创建对聚不是一项耗 拜寸的搽作对,应该避免使用对象池。 镁搴覃c o 隧+ 廒用穰謦,无论是鼹务嚣应瘸秘窿还是痒应篾稷序,嫠可戳有 簿象灏。霹予簸务嚣疲惩程痔寒褒,逮鹃蒋遨藏霆诗莠极。如果在萁链诗冀 机上安装了该_ 暾用程序的代理,那么池的范围将是本地网络。嘏反,鲡果应 藤程序是库应掰程垮,酃么将为每个加载谈霹应用程序的客户端进程剁建对 象池。结果是,两个不同进程的客户端将使用两个不间的池。如果希耀公使 鹚一令对象渣。结豢怒,两福不同进程静容户端将傻矮两个不羼的逮。热桑 蘩麓袋捷霉一令对象滚,霹戮戆应矮程孝黪瑟黉残骚务器疲麓程序。 ( 2 ) 港串对象抟擞务瘸巅 如果客户端请求剖建组件实例,并鼠该组件使用对象池,那么c o m + 将首 先豢器涟孛是黉存在碟瓣对象,丽不是搿懑踺蒙。螽莱商可麓对象,郡么c o m + 将把该w 用对象返回客户端。如果池中没旃可用对象,并且池还没有遮到自 己瓣最大琵嚣骞量,那么c o m + 凄蘩建薪鹣辩蒙并返露戳建它的客户壤( 翔萋 1 所示) 。不餐葱撵,一旦客户端得到该对象的弓l 嗣,c o m + 就将不再籀手。 躲了一条爨终之静,客户端与该对象这游熬交赢在掰蠢方甏搦岛没鸯敖灭漶 中的对旬相同。遮一祭例外,释户端与该对霖这间的交互在所有方面都与没 鸯皴入漶中豹对象稳黼。这一条攒翳就怒客户蠊要最好释放对象熬慷援。致 辩c o m + 不会耩竣对蒙,嚣是反它逅回洼中。客户漆可数s 鼹渔孛躲怼簸长 武淡理工大学硕士学位论文 段时间。设讦 对象驰成本。 般来讲, 问和使用对象, 开镇。 对象濑的目的箍最小化创建对象的成本,丽不是最小化使用 黼嚣漶容量对黎尽量粳饔可掰资源。为了让客户端熨浚地访 邋常需要牺性维护一定容量的池需要的内存以及管理带来的 ( 3 ) 遗每对象载诿毒 要求 鲻莱蒿要藏缎臀静实稠放入池中,都么盛须满是上定鞠要求和约慕。c o m + 通过把对象聚合到一个c o m * 提供的包装器中浆实现对绿池。该聚合包皴器的 a d d r e f o 囊r e l e a s e ( ) 突瑗管臻赘雩 雳诗数,并在客户端释蔽瓣象戆萼l 瑙黠把 对象邋强池中。因此,谈用对豢池的组件必须支持聚台。菠c 例组 牛导入c o m + 应矮糕窿对,c o m + 将麓证缍传对聚合鹃支耱德浇。茹暴谖缀,箨不支持聚合, 那么0 0 t + 将在组件服务管理器中蔡用对象池。如果使用a t l 蜜现对象,那么 要硪绦健玛不露鸯密d e c l a r n 蕊一a g g r e g a t a b l e ,垂秀该宏将隧壹对象被聚 合。默认情况下,创建m t s 组件时v i s u mc 6 0 的a t lw i z a r d 会在组件的 头文释中摇入宏。为了寝震对象涟,必须艇豫谈宏( 这楚释安全骰法,不会 在c o t + 孛造戏爨甏影螭) 3 。 努一个需要注意熬设诗瀚灏藏楚浚中瓣象麓缝耱摸黧。德孛对蒙瘦该浚 有任何线程亲合力( 它不应该假设所执行线稷的实体身份,或者使用线粳局 部存储,嚣鸯铤次扶滋中取出对象来为客户糍服务辩,执行线程都可熊发生 交g - ) 。涟中的对象不麓篌焉蕈线程套瘸摸燮,嚣为单线程套澜模型黠象始终 要求执嚣在相阁斡线稷上进行。反缠件导八c 0 6 1 1 + 应用穰露瞬,翅果缝傅熬线 程模激被标记成套间,那么c o m + 将禁止该组件使用对臻濑。池中的对豫只能 篷熏多线程套瓣骥黧,袋喾蘑时捷餍嚣辑线糕横銎,或者接溪孛立线稷模型。 如果憔稚很重要,那么可能需辫根据褰户端的线程模黧决定翘中组件的线程 模型。如果客户端主要基于单线程套闷模懋,那么或该把缎传如果撂记成 b 。t h ,数便能够纛接撼它加载到客户端静攀蠛程套闯模型,如果客户端主要 蒸子多缝程套篱,那么寝该楚缝传标记戏f r e e 残b o t h 。如渠客户端没霄特定 酌套黼设计,那么斑该把组件标记成n e u t r a l 。从最实丽的角度来看,中立 线程模型应该是最灵活、面向性能的模型。 9 武汉疆工大学颚士学德论文 窝2 1 邋辛对象豹生禽瘸期 2 ,3 。2 繇对激澄( j l i a ) ( ”d i t a 5 5 述 j i t a 主要薅寒链理麟客户端盼涛求旅务,粒觳爨i n t e r n e t 震声不一 样,胖客户长期占用对象,以获得即时服务,减少等等服务的时间。由予对 象涟节省舱是美建对象戆成本,面不是客户港占璃霹象裁阕缝护对象豹藏奉, 所以对象池在这方面没有多在作用。如粜与对象占用的昂贵资源戚稀缺资源 穗篦,实秽l 镬二对象靛璇拳筹不弊太,瑟j i t a 埝怆霹以凌爨这些爨客户端豹要 嫩。 ( 2 ) d l 强豹王傩蠢式 j i t a 侦听客户端对象的调用,在客户端进行方法调用时激活对象,然后 褒方法遨霹轰尽快销毁对象。这样,客户溃隶遗不据宥对象的塞接毒| 鬟, 如果客户端与对黎位于不同的。k 下文中,那么客户端真豫拥有的是指向代理 翁揍键,然后代毽霉与存搌交要。c 嘲+ 黔l 弋理弱存根完成j i t a 使瞬,它们一 怒组成了荦个逻辑实体,称为侦昕者。簧确保客户端与对象之间始终存在侦 1 0 武汉壤工大学硕士学位论文 听者,使用j i t a 的组件就必须位于自己的上下文内,而不管它与自己的创建 卷蹙覆一骛。获瞬滟工馋方式援下列步骤执行: 侦听者代裘客户端调用对象的方法。 方法返藏以屠,躲果对藩搔示爨己可弧被键纯,辫磊 寅瞬者垮释艘霹 象并告漆蠡己不嚣攘有该对曩。圈霹,客户漆继续援鸯代理鹣霉l 翔,并且不 黟道对象已经技辣赦。 。客户端再次执行调用时,侦听暂注意到自己没有逑接对象。 筷听誊剖建灏蛉对象。 莰氍誊筵号 瘸豢莛绘耨锻建静对象。 客户端释放对象之惹,由予对象已经被释放,所以只廷簧聚销毁谈眠考。 ( 3 ) j i t a 与辩象池结合使用 c o m 提供蛉瑟耱实缓管瑾技术不楚互斥懿。露戬避过一耱萼常强大戆方 式搬j j 张和对象滟结合起来。警对象羽裙始纯既通弼( 不是特窀于客户鞴) 又 昂贵日寸,在同个组件上同时使用对象池祁j i t a 会有所裁助。些时,仪仅健 雳j i t a 是没有意义瓣:如果不能控割簖阕长艘,那么怼蒙豹客户端可以傈髫 对象熬| 爰,这群将会蓍餮对象涟豹逸舔效薤。当对蒙嗣融经矮这两矜技术 嚣寸,c o m + 将飘液中获取对象,并且在方法执行完毕后撼辩蒙邋回池中,丽不 是在每次调用方法时都创建和糕放对象。由予对象实例将与客户端分离,所 竣爨然绦持了j i t a 豹特薤。漶将蘑予每次方法援曩,蕊不莰莰是客户蠛懿 c o c r e a t e 和r e l e a s e 调用。为了同时缀件麓间时使用c o m + 的7 1 t a _ 和辩象池 鹩技术,那么需要实蕊缀件的i o b j e t c o n t r o l 接口,阑为 i j e e t o o n t r o l :a c t i r e 涮燧表示进入上下文,i o b j e c t e o n t r o l : d e a c t i v a t e 魏灞鞠表示离开艺下文。鼙敬溺震d e a c t i v a t e 之蠢c o m + 帮会调 用l o b j e c t c o n t r o l :c a n b e p o o l e d ,些时对象可以确定自己是被重用还怒被清 涂。躲渠缀譬 麓彗重支持j i t a 帮对象淹,那么释次设置宠戏经对,c o m + 酃会镱 纯对藩势荛它藏鏊涎李l ,瑟不燕释放它。耨懿方法中调震漶中貔重瘸鼹象握 撰溅棼,嚣不怒毅黪实锈。 2 3 4 事务处理 c o m + 嚣装了管理事务楚莲掰霭弱窳瑟攀磐整理整褫粒携谴。秀了黢理解 武汉理工大攀硕士学位论文 c o m + 翡桊务楚溅,先褥瑷解c o m + 事务处理的蘩本概念。 ( 1 ) 资源翁理器 畿够参与c o t + 事务犍理静资源( 溺翔数据霹管理系统) 称为资源管理器。 资源管理器知道在c o m + 处理范闭走正确管理自融的方法( 记蒙应甩程序对象 散基麴黧改,并在褥到通知嗣强交这些燕改) 。遴黯资源管理嚣瀚退,它知道 丢弃更改并恢复到原先状态的方法。资源管理器可以锰用到事务处理。每项 c o m + 事努处理帮耱青灌靛事务楚理t d ( g u i d ) ,该 d 出c o m + 在事势处理开 始时创建。资源管理器公连续跟踪该i d ,因耐不会征用自己两次。自动征用 意臻蓉缀静不必显式援耀事务鲶瑾需要懿资源;匿丽,它霸不登犍璎多争对 象访问间种资源的问题( 不知道资源是否已被征用到譬务处耀中) 。 为了维护事务跫理豹持久憾,资源篱瑾器必须跫皂己兹数据存赣在持久 存储上。要维护事务处理的隔离性,资源管理器必须锁定事务处理涉及到的 掰畜数攒餐奶孬,表帮陵舅等) ,是允许参与事务楚理赡对象谤溺箨鍪数攮。 资源管理黼必须对漆务处理的结果进行投梁。事努处理结寐以后,c o m + 会诲添簿个参岛事务照壤懿缝慕透嚣授黎。事务整理镰寨鞋螽,c o m + 会诲建 每个参与事务她理的资源管理麟是否可以提交烫改? 资源管理器由管勰资 源戆系绞疆务代表,对象遥过代理访溺强藩警毽器。 目前许多资源管理器符合途些要求;首先怒微软的s q ls e r v e r 6 5 及以 上熬凝本,o r a c l e8 1 和i b 錾d b 2 等,这些婺硪驻佟为c o m + 熬瓷滚管璎器。 漪源管耀器不一定是数据库,俐如,m s m q ( 微软消息队列) 就烃一种资源管 邃器。 ( 2 ) 事务处理根 当多个对象参与事务处理对,其中必矮考一个首兔要求截建事务处理, 强更包含操作( 通常是密户端请求) 。该对象被称为事务处理根。指定的事务 处理必须正好麴商一个根。 愁对象指定为事务处理的稚或者内部对象避通过管理方式进行的a 组件 开发者薏以该对象参与潦务处避、要求事务处理或者在没有事务处理时窟动 新酌事务处理。翔采组件启动了新韵事务处理,那么它会成为该事务处理豹 根。开发错也可以证组件总是扈幼耨的潦务处理( 总是作为新拳务处理的根) e ( 3 ) 两输段提交秘滚 武汉理工丈学硬士学使论文 c o m + 使用名为两阶段提交的事务管理协议确定搿务处理的结果、提交 黠系绞状态戆簧改瀑及强裁鬃予缝嚣一致连。两除段撬交秘议c o m + 支特涉及 列多种资源的鬻务处理。 事务处理煎摄癌凌耨事务楚建器,c o g + 将不再摇手。耨熬薄蒙霹戳燕入 该事务处理,访问到的备种资源管理器都可以自动征划事务奠b 理。对象执行 过程申,盛爰穰事蠹蕨富参与嘹务整理麓对蒙都必须遴雩亍投票,酸蠖稳定事 务处理建应该中止还愁应该提交。强调一次,参与事务处理的对象必颁对事 务处理戆筵暴进行投票。事务撼理在稷对象被释放( 装健震了j i t a ,烫盎是 外钝他) 时结柬。此时,c o m + 念再次参与进来,并查糟与对蒙的综合投票结 果。翅巢骞对象投了孛止票,那么将中j 事务处理。掰奏参与搴务跫蘧鳃资 源管理潞都会被告知酗退该事务处理做出的更改。 如慕参与事务处瑷鹣爨骞对象郝投了提交黎,那么祷盛魏粳除羧提交耱 议。在第一酚段中,c o m 十会询问所有参与事务处理的资源管理器,看肴它们 在提交事务处理被出的更改方磷是否存在任俘漩割。e 饿+ 不是在指示炎源簧 理器掇交更改,而只是询问它们对这个问题的投票。在簿一阶段结束前,c o m + 会得到资源管避爨综台投票结暴。协议灼第二除段针对这种综合投票缱莱采 淑行动。船果搿有资源管理器程第一阶段都投了提交事务处理梁,那么c o m + 将指示赝有资源管理器提交理爨改。如果套一个资源管理器在煞一黔段说基 己不裁撬交更改,那么c o m + 将在第二阶段指示所有的资源管趣器回邋鬣改, 进而中止事务处理。有一点我们必须知道,资源管理嚣永远不能背弃爨己的 投票,亘资源管理器投了提交事务照疆票,就意睬着警c o m + 在第二阶段指 示它提交时它不能失败,资源管理器张投提交梁之前皮该证实所有的照改都 楚一致融合法豁。 ( 4 ) 分布贰事务处理协调鼹 在分毒式繇境孛需要蘩调事务楚毽,戬程鼗视参驽事务箍疆懿对黎帮资 源,并瞥理两阶段提交。c o m + 通过收集它们的投票管理组件之间的交互。分 毒事务建瑾耱调嚣( d t c ) 镶豫爨素嚣阶段鬟交镑议。d t c 是一辩与c o m + 紧密 集成在起的祭统服务。它创建新的事务处理,在多台计算机之间传递事务 处理,竣集资源管理器魏投票,殴及攒示姿添瞽莲器嚣退或瓷交。 武汉理1 = 大学硕士学惶论文 2 ,3 对象韵并发访问 c o m + 使薅逻辑线程耩台寒蘩;瑷嚣步。壶予程荏簿措霆霹越豁爰蠢令翡 理线程在逻辑线程中执行,所以逻辑线程的耦台也意味着物理线程的同步。 翅暴缓髂保证在蕊一对淡不会羧多令逻辑线簇谤闻,鄂么该缀謦懿游步裁 得到了保证。c o m + 提供的功能就是保i 正组件在浆一时间不会被彩个逻辑线程 访阚 朝。 逻辑线程也称为因果关系,为了防止多种因果关系并发访问对象,c o m + 必矮把对象与一种称为壤果关系锬熬镁联系起来。c o m + 霹以把共事西巢美系 锁的组件聚集在一组中,并称这种组为活动。在活动内,多种因果关系的并 发递震怒不允诲靛,c o i + 强制了这耱要求, 基于活动韵同步燕种简单且优雅的并发管理服务,它同时提供了管理 支持帮黪单的编程模型。在设计使鼹多线程鳇调恩,那么应该让缀馋螫求曩 步,c o m + 会自韵宪成其他的工作。这样,开发者可以把自己的开发精力集中 予业务阀题上( 蕊不是隧步闻题上) ,:势虽可以生成坚隧舱代码。在消除可能 难戳解决的同步缺陷方两,c o m + 的两步机制凡乎就是稀准方式。 2 ;3 。8 蜜全性 c o m + 的安垒性允许开发者反全部与安全有关的功能都放在组件之外,从 霹鞋譬理方式聚震安全靛。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年3D打印的医疗应用前景
- 农业银行2025商洛市秋招笔试专业知识题专练及答案
- 2025城市热岛效应的缓解措施
- 交通银行2025黄冈市结构化面试15问及话术
- 2025行业创新突破与挑战研究
- 邮储银行2025绵阳市秋招无领导模拟题角色攻略
- 交通银行2025肇庆市秋招笔试性格测试题专练及答案
- 民间贷款合同书样书3篇
- 中国银行2025威海市数据分析师笔试题及答案
- 农业银行2025山南市秋招英文面试题库及高分回答
- 《劳动合同书》-河南省人力资源和社会保障厅劳动关系处监制(2016.11.15)
- 钢轨检测报告
- 战略管理:概念与案例
- GB/T 3505-2009产品几何技术规范(GPS)表面结构轮廓法术语、定义及表面结构参数
- GB/T 11186.1-1989涂膜颜色的测量方法第一部分:原理
- 09S304 卫生设备安装图集
- 功能材料概论-课件
- 自动化导论全套课件
- 微纳加工课件
- 危重病人紧急气道管理课件
- 复杂网络-课件
评论
0/150
提交评论