




已阅读5页,还剩62页未读, 继续免费阅读
(计算机科学与技术专业论文)dcam下分布式方面构件模型及协同框架的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
拳 t h er e s e a r c ho nd i s t r i b u t e d a s p e c t c o m p o n e n t sm o d e l a n dc o l l a b o r a t i o nf r a m e w o r kf o rd c a m s p e c i a l 锣:c o m p u t e rs c i e n c ea n dt e c h n o l o g y m a s t e r d e g r e ec a n d i d a t e :旦i 堕g i 垒堕 s u p e r v i s o r :a s s o c i a t ep r o f w a n gb i n c o l l e g eo fi n f o r m a t i o ns c i e n c e & e n g i n e e r i n g c e n t r a ls o u t hu n i v e r s i t y : c h a n g s h ah u n a n p r c 2iiiii川1 8mmil7ii1洲y 、 + “气 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。 作者签名:篷 日期:塑! 望 年上月擎日 学位论文版权使用授权书 本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文并根据国家或湖南省有关部门规定送交学位论文, 允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内 容,可以采用复印、缩印或其它手段保存学位论文。同时授权中国科 学技术信息研究所将本学位论文收录到中国学位论文全文数据库, 并通过网络向社会公众提供信息服务。 作者签名:二嗖导师签名三虫日期:坐年工月堑日 摘要 在分布式自适应问题的背景下,本文首先着重从分布式方面化中 间件平台的内核结构、分布式a o p 实现方式以及平台框架等几个方 面介绍了国内外目前主流分布式方面化中间件的研究现状,总结了这 些中间件平台的优势和存在的不足。接着从平台整体模型、a o p 内 核以及服务内核3 个方面介绍了本课题组前阶段研究成果一双核方 面化中间件模型( d c 舢) 。 然后,从整体上架构了分布式d c a m ( d d c a m ) 的平台体系结 构,并针对d c a m 的方面内核实现机制没有提供分布式环境下对分 布式方面构件通信支持的缺陷,扩展了d c a m 方面内核的方面调用 机制,提出了分布式方面构件模型以及分布式环境下方面构件的协同 框架,同时介绍分布式协同框架的主要实现机制。扩展后的d c a m 平台不仅保持了原平台对p o j o 的支持,同时通过对分布式协同框架 的引入,使平台在分布式环境下具有更好的可扩展性和容错性,满足 了按需计算的需求。 接着,本文阐述了分布式方面构件协同框架( d a c c f ) 的核心实 现机制:包括a o p 内核的扩展、方面容器的扩展、方面中介者的引 入以及异步消息传输机制,并阐述了d a c c f 下分布式方面构件和分 布式方面管理器管理机制的核心算法,从而实现了d d c a m 的设计 思想。 最后,本文展示了原型系统的运行示例截图,并对该系统的优缺 点进行了分析说明,此外,对扩展后的方面内核以及分布式协同框架 d a c c f 进行了性能对比分析实验,衡量其性能的优劣。 关键词双核方面化中间件模型,分布式方面中间件,分布式方面构 件模型,协同框架 a bs t r a c t u n d e rt h eb a c k g r o u n do fd i s t r i b u t e da d a p t i v ep r o b l e m ,t h i sp a p e r f i r s t l ye m p h a t i c a l l y i n t r o d u c e st h ek e r n e l s t r u c t u r e ,d i s t r i b u t e d a s p e c t o r i e n t e dp r o g r a m m i n gi m p l e m e n t a t i o na n dp l a t f o r mf r a m e w o r ko f t h ec u r r e n tm a i n s t r e a md i s t r i b u t e da s p e c t u a lm i d d l e w a r ep l a t f o r m s ,a n d a n a l y z e st h ep r o sa n dc o n so ft h e m m e a n w h i l e ,t h ep a p e ri n t r o d u c e st h e w h o l em o d e l ,a o pk e m e la n ds e r v i c ek e r n e lo fd u a lc o r ea s p e c t u a l m i d d l e w a r em o d e l ,w h i c hi st h er e s e a r c hg r o u p p r e - r e s e a r c h s e c o n d l 弘t h i sp a p e r s t r u c t u r e st h e p l a t f o r m a r c h i t e c t u r ef o r d d c a mf r o mt h eo v e r a l l t h ec o r er e a l i z a t i o nm e c h a n i s mo fd i s t r i b u t e d a s p e c tm i d d l e w a r e d c a md o e s n ts u p p o r tc o m p o n e n tc o m m u n i c a t i o ni n d i s t r i b u t e de n v i r o n m e n t t h ep a p e re x t e n d st h ec a l l i n gm e c h a n i s mo f a s p e c tc o r e ,a n dt h e np r o p o s e sd i s t r i b u t e da s p e c t c o m p o n e n t sm o d e la n d c o l l a b o r a t i o nf r a m e w o r kf o rd c a m ,m e a n w h i l e ,i n t r o d u c e st h em a i n i m p l e m e n t a t i o nm e c h a n i s mo fd i s t r i b u t e dc o l l a b o r a t i v ef r a m e w o r k n o t o n l yd o e st h ee x t e n d e dd d c a mk e e p su ps u p p o r t i n gf o rp o j o ,b u ta l s o i tm a k e st h ep l a t f o r mh a v eb e t t e rs c a l a b i l i t y , f a u l tt o l e r a n c ea n ds a t i s f i e s t h er e q u i r e m e n t so fo n d e m a n d c o m p u t i n g b e t t e ri nd i s t r i b u t e d e n v i r o n m e n tt h r o u g ht h ei n t r o d u c t i o no ft h ed i s t r i b u t e dc o l l a b o r a t i v e f r a m e w o r k s u b s e q u e n t l y , t h ec o r ei m p l e m e n t a t i o nm e c h a n i s mo fd a c c fi s s t a t e d ,s u c h a s e x t e n d i n g t h ec o r eo fa o pa n da s p e c t c o n t a i n e r , i n t r o d u c i n ga s p e c t m e d i a t o ra n d a s y n c h r o n o u sm e s s a g e t r a n s f e r m e c h a n i s m m e a n w h i l e ,t h i sp a p e rg i v e sc o n c r e t ee x p o s i t i o no fc o r e a l g o r i t h mf o rm a n a g e m e n tm e c h a n i s mo fd i s t r i b u t e da s p e c t c o m p o n e n t s m o d e la n dd i s t r i b u t e da s p e c t sm a n a g e r , a n df u l f i l l st h ed d c a m d e s i g n i d e a s f i n a l l y , t h i sp a p e rd i s p l a y st h er u n n i n gs a m p l e ss c r e e n s h o t so ft h e p r o t o t y p es y s t e m ,a n di l l u s t r a t e s i t sp r o sa n dc o n s f u r t h e r m o r e ,i t a n a l y s e st h ep r i c ep a i df o re x t e n d e dt h ec o r eo fa o pa n dd a c c f t h r o u g he x p e r i m e n t s ,a n dm e a s u r e sp e r f o r m k e yw o r d sd u a lc o r e a s p e c t u a lm i d d l e w a r em o d e l ,d i s t r i b u t e d l l a s p e c tm i d d l e w a r e ,d i s t r i b u t e da s p e c t - c o m p o n e n t sm o d e l ,c o l l a b o r a t i o n f r a m e w o r k 1 1 1 目录 第一章绪论1 1 1研究背景l 1 2国内外研究现状2 1 3论文研究内容和组织4 第二章d c a m 中间件平台6 2 1d c a m 模型6 2 2 d c a m 的a o p 内核一d a w e a v e r 7 2 2 1d a w e a v e r 编织模型7 2 2 2d a w e a v e r 的切入点模型。9 2 2 3d a w e a v e r 的通知模型9 2 3d c a m 的服务内核1 0 2 4本章小结1 1 第三章分布式方面构件模型及其协同框架1 2 3 1 d d c a m 平台体系结构一1 2 3 2分布式方面编织内核d d a w e a v e r 1 3 3 3 分布式方面构件模型15 3 4分布式方面构件协同框架d a c c f 1 6 3 5d a c c f 实现机制分析。17 3 6本章小结18 第四章d a c c f 核心实现机制1 9 4 1分布式方面构件调用机制1 9 4 1 1 方面容器扩展一19 4 1 2 方面中介者2 3 4 1 3 异步消息机制2 4 4 2分布式方面构件管理实现机制2 5 4 2 1 加载分布式方面构件2 5 4 2 2 动态部署分布式方面构件2 7 4 2 3 动态卸载分布式方面构件2 8 4 2 4 动态移动分布式方面构件2 9 4 2 5 动态克隆分布式方面构件3 0 4 2 6 动态挂起和启动分布式方面构件3 l i v 4 3分布式方面管理器管理机制3 3 4 3 1 加载分布式方面管理器3 3 4 3 2 动态部署分布式方面管理器3 4 4 3 3 动态卸载分布式方面管理器3 5 4 4本章小结3 6 第五章原型系统分析3 7 5 1原型系统3 7 5 2系统特点分析一4 1 5 3 性能比较4 2 5 3 1 方面内核性能对比4 2 5 3 2d a c c f 性能分析4 4 5 4本章小结4 7 第六章结束语一4 8 参考文献5 0 致谢5 5 攻读学位期间主要的研究成果5 6 v 硕士学位论文 第一章绪论 1 1 研究背景 第一章绪论 随着互联网的广泛应用,以及计算机网络和通信技术的快速发展促进了互联 网上新服务和新技术的出现,同时各类自治的、异构的系统或构件不断融入到这 个计算环境中,使它逐渐演化成为一个大规模分布式计算环到1 1 。在互联网环境 中开发大规模的自适应系统面临如下难题:互联网中缺乏一种有效地、自动根据 用户需求搜索、加载并运行软件和服务的智能化机制,因而无法满足应用层次和 网络层次自适应计算的需求【2 】。而要解决这个问题,需要改变现有服务和应用的 实现以及提供方式,使用户能根据自身需要选择合适的服务,并引入用户关注点 的动态搜索、传输、编织和加载机制,以支持新服务、新应用的按需创建,提高 互联网服务智能组合能力。该问题本质源于互联网的自治性、开放性、动态性和 多样性,而中间件技术可以屏蔽底层网络和系统平台的复杂性和异构性,从而为 上层应用提供高层抽象接口,因而是实现自适应计算的有效途径。 中间件平台的自适应能力是实现分布式开放系统的基础,而中间件平台的功 能或服务动态扩展实现机制是其关键技术的一个研究点。目前,传统的基于面向 对象技术的商业中间件,在解决该问题时遇到了困难。首先,中间件平台本身不 具备按需扩展服务的能力,或者快速、便捷地部署第三方提供的服务的功能【3 】。 其次,基于面向对象技术的中间件平台只能部署业务逻辑构件,而不支持全局性 约束功能构件的部署,从而一定程度上限制了提供服务的能力。同时,由于基于 面向对象软件开发的中间件服务器平台只能较好地实现对业务逻辑的封装,而诸 如安全验证、同志和异常处理等全局性约束逻辑的实现却要横切入业务逻辑的多 个模块,因而造成了代码的分散和纠缠,从而极大地降低了构件的可重用性【4 】。 因此,传统的面向对象中间件技术不能有效地、透明地使用互联网络上提供的异 构、多样的计算资源,以及适应计算资源的变化,因而也不能有效地满足按需计 算或普适计算对系统自适应性的要求。 面向方面软件开发( a s p e c t o r i e n t e ds o f t w a r ed e v e l o p m e n t ,a o s d ) 提供了一 种可行的方法【3 4 1 。a o s d 通过分离业务构件中的横切关注点,以解决关注点的 硕士学位论文 第一章绪论 纠缠和简化构件的开发与编织。同时基于构件的开发可以通过分离以不同方式连 接和组装的可重用构件,以支持软件的开发5 一。将面向方面和基于构件开发两 者的优点结合起来,创建方面化构件,利用方面编织技术简化方面化构件的编织, 降低系统的复杂性、提高系统的自适应能力。 1 2 国内外研究现状 基于a o p ( a s p e c to r i e n t e dp r o g r a m m i n g ,a o p ) 的中间件技术为关注点的编 织、基于上下文感知的服务搜索、组装、加载和运行提供了技术支持。目前在基 于a o p 的中间件的理论和技术研究中,已有如下代表性的研究成果:文献 7 , 8 】提出了通过r m i ( r e m o t em e t h o di n v o c a t i o n ,r m i ) 和c o r b a ( c o m m o no b j e c t r e q u e s tb r o k e ra r c h i t e c t u r e ,c o r b a ) 底层通信机制完成分布式关注点编织的 j a c ( j a v aa s p e c tc o m p o n e n t s ,j a c ) 平台。j a c 虽然在本质上没有改变传统的c s 计算模式,也不能适应不稳定网络环境中分布式计算的需要,但是该项研究工作 为分布式关注点的动态编织提供了研究思路,而分布式关注点编织以及透明运行 为系统能够适应环境提供了技术手段;文献 9 ,1 1 中的p r o s e 平台根据策略文 件实现了将中间件平台中的软件功能编织到移动设备中的相关技术,但是 p r o s e 和j a c 一样不具备动态扩展自身提供的服务的能力;j b o s sa o p l l 2 , 6 2 】, a s p e c t w e r k z 3 1 ,s p r i n g a o pf r a m e w o r k f 1 将a o p 技术集成入中间件中,但是没 有方面化的构件模型,仅仅是通过设计模式( d e s i g np a t t e r n ,d p ) 实现了相关的类 模型。虽然j b o s s 在a o p 功能支持粒度上具有较大优势,但是其不足之处在于 服务模型与平台紧密耦合,方面不能对系统服务提供支持,缺乏构件依赖关系管 理。s p r i n ga o pf r a m e w o r k 具有良好的依赖关系管理能力,但a o p 功能支持粒 度较粗,对全局约束服务支持有限。 d y m a c l l 5 。1 明致力于为面向方面的构件组合和方面化依赖提供了一个纯粹的 “黑盒 方法,研究成果验证了方面化依赖能够将中间件服务表示为显式的构件 描述,这个方法解耦了构件与中间件的代码纠缠关系,从而证明中间件提供的服 务能够通过显式接口为“通知构件”提供良好的模块化能力,并提供方面化行为。 该项研究有力地证明了基于a o p 技术可以为中间件提供更好的演化和适应能力 的支持;d 锄o n f l 9 2 】提出了方面化构件模型以及方面远程服务的概念并研制了中 间件系统以及基于此中间件的分布式系统d h t ( d i s t r i b u t e dh a s ht a b l e ,d h t ) 。 2 硕士学位论文第一章绪论 d a m o n 基于p 2 p ( p e e r - t o p e e r ,p 2 p ) 协议作为分布式方面通信的承载协议以支持 互联网上大规模分布式应用系统,研究成果为本文中的方面构件模型及分布式 a o p 的编织性能优化提供了可借鉴的实现机制;文献【2 2 】和 2 3 】分别从建立具有 丰富环境语义的切点描述以及对中间件上下文进行语义描述的角度对中间件上 下文感知进行研究;文献【2 4 】基于一种新的分布式a o p 语言a w e d t 2 5 2 6 ,提出 了一种针对分布式应用的入侵模式,使用该模式可以为分布式应用提供常用模式 的组合,解决分布式应用中缺乏模式定义灵活度的问题;文献 2 7 2 9 介绍了 j a s c o 平台,通过引入方面b e a n 和连接器的概念,通过新的j a s c o 语言实现 a o p 功能,将c b s d ( c o m p o n e n t b a s e ds o f t w a r ed e v e l o p m e n t ,c b s d ) 与a o s d 组合起来。文献 3 0 1 提出了一种无侵入性的集成c b s d 与a o s d 技术的构件模型 c a m ( c o m p o n e n t a s p e c tm o d e l ,c a m ) ,将构件和方面定义为第一位的实体, 通过d a o p ( d y n a m i c a s p e c t o r i e n t e dp l a t f o r m ,d a o p ) 3 1 , 3 2 】平台支持,在运行时 执行方面与构件的结合;文献【3 3 3 5 】提出了一种面向方面构件的框架 a o c i ( a s p e c t o r i e n t e dc o m p o n e n ti n f r a s t r u c t u r e ,a o c i ) ,该框架采用a o p 核心 思想分离关注点和系统模块,使它们具有良好的自适应和动态演化能力,在a o c i 中构件会提供一些含有丰富本体信息的适应点,这样就使得a o p 技术不需了解 构件内部详细信息,从而使构件具有更好的动态性和分布式自适应性。以上文献 为本文的分布式方面构件模型及其协同框架的提出具有很好的借鉴意义。 国内对于中间件自适应等关键技术的研究工作也在积极地开展着,代表性工 作是梅宏教授进行的中间件及软件体系结构相关研究,具体见参考文献 3 6 4 1 。 文献【3 6 4 l 】具体提出了面向构件、以体系结构为中心的软件开发方法 a b c ( a r c h i t e c t u r e b a s e dc o m p o n e n tc o m p o s i t i o n ,a b c ) ,该方法支持跨整个软 件生存周期的网构软件分析、设计、实现、部署、维护和演化,采用特征模型支 持“无序”软件资源的建模、组织和管理,采用软件体系结构支持网构软件自适 应性建模,采用反射式中间件支持网构软件结构的自适应与实体自适应。面向构 件、基于软件体系结构的软件开发方法a b c 借鉴了面向方面的程序设计技术, 将“方面 的概念引入体系结构描述语言中,加强了连接子的描述能力,在体系 结构设计阶段对非功能属性进行面向方面的建模。a b c 方法将体系结构设计阶 段细分为建模和映射两个子阶段。作为建模结果的体系结构是一个语义丰富而平 台独立的模型;该平台独立模型在映射阶段被映射到所选择的具体中问件平台 3 硕士学位论文 第一章绪论 上,模型中的“方面 或者映射为中间件平台所提供的服务,或者作为新构件而 实现。文献 4 2 就构件化的中间件平台中的上下文管理提出了一种整体的上下文 管理方法,将上下文管理集成在已有的构件化中间件中,以实现高性能的上下文 管理需求,构成了普适计算环境中构件适配和部署的重要基础。在该研究中将中 间件的上下文管理作为中间件体系结构中不可或缺的构件。文献【4 3 】设计了一个 动态可扩展和可配置的事件通知服务体系结构,允许针对不同应用领域定制不同 的通知服务,该体系结构基于x m l 的可扩展订阅、事件、协议和配置语言,以 及配置管理和元服务管理的机制,提供了通知服务功能的动态扩展和定制以及非 功能特征的满足。该研究表明元服务的管理可以极大增强中间件服务的动态扩展 和定制能力。 d c a m ( d o u b l ec o r ea s p e c t u a lm i d d l e w a r e ,d c a m ) 4 4 。4 8 】是本课题组的前期 研究成果,该模型具有较好的可扩展性、依赖关系管理能力和细粒度a o p 支持, 同时还加入了构件移动性支持,目的是为了更好地满足按需计算需求。该工作尚 属于面向方面的中间件的初期研究工作,为此需要在支持分布式自适应系统的以 下关键技术进行突破:支持更为灵活的细粒度方面元编织技术、基于知识推理的 中间件上下文感知、分布式方面编织性能优化以及中间件平台自适应后的重构建 等问题,本文的主要工作集中在分布式方面构件模型和平台协同框架的研究。 1 3 论文研究内容和组织 论文主要研究的内容有: 1 ) d d c a m 平台体系结构的建立。分析现有分布式中间件平台以及d c a m 平台,确定d d c a m 平台的体系结构,该体系结构要从全局考虑中间件平台分 层、构件之问和构件与环境之间的关系以及管理布局。 2 ) 分布式方面编织内核的研究。通过分析d c a m 平台的方面内核机制,对 方面内核机制进行扩展以支持分布式方面的编织,提出d d c a m 的分布式方面 编织内核。 3 ) 分布式方面构件模型及其协同框架的研究。根据本文提出的分布式方面编 织技术,按照构件设计规范提出了分布式方面构件模型。同时,为了实现分布式 方面构件的有效管理及通信,提出了分布式方面构件协同框架。 4 ) d d c a m 平台原型实现与分布式方面内核及其协同框架性能分析。在 d c a m 平台的原型系统的基础上,实现分布式方面内核技术,并借助j a d e ( j a v a 4 硕士学位论文第一章绪论 a g e n td e v e l o p m e n tf r a m e w o r k ,j a d e ) 多代理平台实现原型系统分布式方面构件 的管理与通信。在d c a m 平台原型系统性能分析试验的基础上,本文着重分析 分布式方面内核性能以及分布式协同框架的性能。 本论文共分6 章,每章的主要内容如下: 第一章绪论。首先回顾了研究的背景,指出传统的i n t e r n e t 应用无法满足 应用层次和网络层次按需定制计算需求,而方面化中间件能有效解决按需定制计 算的主要难点,指明了这一课题的研究意义。并介绍了国内外最近几年分布式方 面中间件相关技术的研究现状,最后介绍了本文的研究内容和组织结构。 第二章d c a m 中间件平台。介绍了本课题组的前期研究成果d c a m 双核 中间件平台,主要介绍了d c a m 的平台整体模型、a o p 内核以及服务内核。 d c a m 中间件平台是本文研究开展的基础。 第三章d d c a m 的分布式方面构件模型及协同框架。本章阐述了d d c a m 的平台系统结构、分布式方面编织内核、分布式方面构件模型及其分布式协同框 架( d i s t r i b u t e da s p e c t c o m p o n e n t sc o l l a b o r a t i o nf r a m e w o r k ,d a c c f ) ,并详细描 述了d a c c f 的核心机制。 第四章d a c c f 核心实现机制。本章在第三章的分布式方面构件模型及协同 框架的基础上,采用j a v a 编程语言,并利用j a d e 代理平台实现了d d c a m 的 原型系统,并对d a c c f 的关键算法进行了阐述。 第五章原型系统分析。阐述了原型系统的优缺点,并对分布式方面编织内 核的性能做了对比分析,此外,与j a c 对比做了d a c c f 的性能衡量及其负载 分析。 第六章结束语。对本文进行了总结,并对今后的工作,分布式方面化中间 件的发展方向做了展望。 5 硕士学位论文第二章d c a m 中间件平台 第二章d c a m 中间件平台 细粒度a o p 功能支持、资源受限情况下构件的移动以及构件之间依赖关系 的管理3 个方面是按需定制计算中间件平台必备的特性【锎。目前主流的方面化 中间件平台还不能完全满足按需定制计算平台特性。基于按需定制计算的需求, 本课题组前期提出了一种新的方面化中间件模型_ d c a m 。本章主要介绍 d c a m 平台的整体模型、方面编织内核以及其服务内核。 2 1d c a m 模型 a s p e c tl a y e r c o m p o n e n ta s p e c t c o m p o n e n ta s p e c t fs y s t e mc o m p o n e n ta s p e c tf s y s t e mc o m p o n e n ta s p e c t 竺 图2 - 1d c a m 整体模型 如图2 1 d c a m 模型所示,d c a m 采用层次模型,主要由内核、服务层、方 面层和应用层组成【矧,下面是各层的具体描述: 1 ) 服务层( s e r v i c el a y e r ) 。该层是平台实现各种功能的基础,用于部署d c a m 的核心功能模块,并为应用层构件提供功能支持。d c a m 为了提高平台的可扩 展性,降低服务与平台的耦合度,更好地满足按需定制计算的需求,服务构件不 需要满足特定的功能接口规范便可以快速部署到服务层中,为了实现d c a m 的 灵活替换,诸如移动服务、协商服务等系统内置服务也最大限度与平台解耦合。 2 ) 应用层( a p p l i c a t i o nl a y e r ) 。该层用于部署功能业务功能构件,业务功能构 件主要用于封装业务逻辑的实现,为客户端提供功能调用。业务功能构件运行于 容器中,其本身不会与容器产生耦合,而容器只是外部平台管理业务功能构件的 一个窗口。d c a m 在应用层中引入了i o c 容器,降低了业务功能构件间的耦合 度,提高了业务功能构件可重用性。 6 硕士学位论文 第二章d c a m 中间件平台 3 ) 方面层( a s p e c tl a y e r ) 。在服务层和应用层中,功能模块和业务功能构件都 可能存在系统关注点和横切关注点的纠缠,a o p 为弥补o o p ( o b j e c t o r i e n t e d p r o g r a m m i n g ,o o p ) 在解耦系统关注点与横切关注点纠缠问题上的能力不足。在 方面层中,采用方面构件封装了横切关注点,分别为服务层和应用层提供了横切 视角,以构件的形式封装全局约束代码。在d c a m 中引入方面层,既可以有效 降低服务与应用构件中业务逻辑与全局约束的代码纠缠问题,又可以分别提高业 务功能构件和方面构件的可重用性。 4 ) 内核( c o r el a y e r ) 。主要由服务内核和方面内核组成,它提供了连接d c a m 各部分的逻辑总线,同时也是服务层、方面层与应用层之间的纽带。服务内核主 要支持服务层与应用层的运行,而方面内核则在初始化时把业务逻辑与全局约束 关联起来,组成一个完整的平台功能实体。 d c a m 模型把对a o p 功能的支持纳入内核中,与服务内核协同工作,形成 双内核结构。与其他中间件模型相比,d c a m 具有良好的管理和扩展能力,下 面将介绍d c a m 的a o p 内核及服务内核,为本文的主要工作做铺垫。 2 2d c a m 的a o p 内核- d a w e a v e r 方面编织模型主要研究方面编织的过程模型,而方面的编织模型决定了各种 通知的实现方式,同时决定了基于该编织模型的面向方面开发环境所支持的编程 模型【4 7 4 8 1 。d c a m 采用基于类修改和反射的动态方面编织模型来实现方面的编 织与调用。图2 - 2 是基于类修改和反射的动态方面编织模型d a w e a v e r ( d y n a m i c a s p e c tw e a v e r ,d a w e a v e r ) 。 图2 - 2 动态方面编织模型 7 硕士学位论文第二章d c a m 中问件平台 在图2 2 中,通过x m l ( e x t e n s i b l em a r k u pl a n g u a g e ,x m l ) 文件格式对横 切关注点与核心关注点的耦合关系进行定义;核心关注点由业务功能构件实现, 而方面构件用来封装横切关注点的实现,这样两类构件可以独立开发,提高了两 者的可重用性。方面容器则依据方面配置文件调用方面构件。 由于方面容器需要知道目标方法的方法名、类名、方法参数类型、参数值等 信息,在新生成的m e t h o d 2 方法中需要实例化封装了这些信息的连接点对象。方 面容器依据传入l n v o k e a s p e c t 方法的连接点信息以及方面配置文件,以反射形式 调用方面以及原m e t h o d 2 方法。下面主要介绍d a w e a v e r 编织模型的方面模型和 方面配置语义。 1 ) d a w e a v e r 的方面模型 由于d a w e a v e r 是纯j a v a 的动态方面编织模型,因此开发人员无需学习新 的语法。d a w e a v e r 中方面可以是普通的j a v a 对象,支持p o j o ( p l a i n o r d i n a r yj a v a o b j e c t s ,p o j o ) 。方面构件与业务逻辑之间的关联由方面容器统一处理,这样就 降低了构件之间的耦合度。方面化构件与业务构件在定义形式上没有差异,不同 之处是两种构件模块化的关注点不同。 2 ) 方面配置语义 图2 - 3d a w e a v e r 的方面配置语义 8 硕士学位论文第二章d c a m 中间件平台 由于近年来可扩展标记语言x m l 的逐渐成熟与广泛应用,已有许多a o p 系统通过x m l 描述方面配置语义f 5 0 1 。考虑到d a w e a v e r 编织模型的通用性以及 与兼容其他a o p 平台的可能性,d a w e a v e r 采用x m l 描述方面配置语义。图 2 3 是d a w e a v e r 方面配置语义的x m l 描述。 如图2 3 所示,方面配置的描述主要包括目标构件名( t a r g e t c o m p o n e n t n a m e ) , 目标方法签名( t a r g e t m e t h o ds i g n a t u r e ) ,方面构件名 ( a s p e c t u a l c o m p o n e n tn a m e ) ,通知签名( a d v i c es i g n a t u r e ) 以及通知属性( a d v i c e a t t r i b u t e ) 。目标构件名用于定位应用方面的构件;目标方法签名用于定位该构 件中应用方面的方法;方面构件名用于指出目标构件所耦合的方面构件名;通知 签名用于定位方面构件中的通知名,其属性定义通知类型。同时,构件的目标方 法可以应用多个方面通知,其默认优先级由定义顺序决定,最先定义的通知优先 级最高。 2 2 2d a w e a v e r 的切入点模型 d c a m 主要定位在方法调用级别的编织,因此d a w e a v e r 的编织技术更多 的是关注c a l l 类型切入点。d a w e a v e r 下c a l l 类型切入点有以下4 种类型: 1 ) 方法调用之前。指被调用方法执行之前,此时被调用方法并未进入j v m 调用栈中,当前帧存放调用类的当前方法,该切入点位于调用方法中。 2 ) 方法执行之后。指被调用方法执行完毕后,此时被调用方法已退出j v m 调用栈中,当前帧存放调用类的当前方法,该切入点位于调用方法中。 3 ) 方法体执行之前。指被调用方法体执行之前,此时被调用方法已进入j v m 调用栈中,当前帧存放被调用方法,该切入点位于被调用方法中。 4 ) 方法体执行完毕之前。指被调用方法体执行完毕,被调用方法退出j v m 调用栈之前,当前帧存放被调用方法,该切入点位于被调用方法中。 2 2 3d a w e a v e r 的通知模型 d a w e a v e r 主要支持以下3 种通知类型: 1 ) b e f o r e 通知:b e f o r e 通知是指被调用方法调用之前所执行的一种横切行 为。 2 ) a f t e r 通知:a f t e r 通知是指被调用方法执行完毕后的一种横切行为。a f t e r 类型的通知又可分为3 种,即a f t e rr e t u r n 通知、a f t e rt h r o w i n g 通知以及a f t e r d e f a u l t 通知。a f t e rr e t u r n 通知是指被调用方法正常结束后所附加的横切行为; a f t e rt h r o w i n g 通知是指被调用方法在抛出异常结束后所附加的横切行为;a f t e r d e f a u l t 通知是上述两类a f t e r 通知的集合,即被调用方法执行完毕后的附加行为, 9 硕士学位论文第二章d c a m 中间件平台 包括正常结束和异常结束。 3 ) a r o u n d 通知:a r o u n d 通知是指在被调用方法内部激活的一种横切行为。 2 3d c a m 的服务内核 d c a m 借鉴j m x 微内核结构,采用分层结构,将服务内核分成装配层、核 心层和分布层3 层,如图2 4 所示。 装配层( a s s e m b l yl a y e r ) 由服务构件和方面构件组成。服务构件是平台基础功 能设施,仅包含业务逻辑,实现平台核心服务的封装。与j m x 类似,d c a m 下 的系统功能都可以通过服务的方式添加到平台中,从而使得平台具有更好的可扩 展性。方面构件封装服务构件中的全局约束代码实现。 核心层( c o r el a y e r ) 中服务管理器和方面管理器分别是服务和方面构件运行 时的注册和管理中心,服务构件运行于服务容器中,由服务容器管理其生命周期。 服务管理器以服务容器为单位,对服务进行注册,并为其提供管理、查询和调用 的统一入口,同时为上层提供a p l 支持。服务间的依赖交由依赖管理器进行管 理与维护,以保证服务的依赖关系一致,实现服务状态的一致性和依赖关系管理 的动态性。 d i s t r i b u t e d l a y e r c o r el a y e r a s s e m b l y l a y e r 州a d l p o l t e 一一一i 触e ri 鹏裟 ii v i v l a s p e c tm a n a g e r c o r e i s e r v i c em a n a g e r + a s p e c t s e r v l c es e r v i c e c o n t a i n e rld e p e n d e n c eic o n t a i n e r 1r 1r a s p e c t s e r v i c e c o m o o n e n t sc o m t m n e n t s 图2 - 4 双核中间件内核 分布层( d i s t r i b u t e dl a y e r ) 主要由协议适配器、连接器和协商代理组成,其中 协议适配器和连接器都是服务类构件,它们是平台基于多种协议的可管理性基 础。开发人员可以通过开发和部署新的协议服务构件,进而扩展平台支持的协议, d c a m 已经实现了客户端借助于h t r p ( h y p e rt e x tt r a n s f e rp r o t o c o l ,h t r p ) 协 议洞察平台的内部状况。协商代理是平台间进行消息传递的通道,通过协商代理 可以在上层应用需要时与其他平台进行协商,从而可以整合多个平台的资源和计 算能力,协同完成任务。 l o 硕十学位论文 第二章d c a m 中间件平台 2 4 本章小结 本章介绍了d c a m 平台的整体模型,该模型把a o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市场投诉处理管理制度
- 制造行业设备管理制度
- DB62T 4461-2021 小麦品种 陇紫麦2号
- 虫灾治理方案(3篇)
- 宗祠修缮募资方案(3篇)
- 政协2022工作报告
- 物业资产利用方案(3篇)
- 智能社区标准商品房租赁服务协议
- 成都离婚协议书模板与婚后财产分割监督合同
- 草莓苗绿色种植技术引进与推广合同
- 第六章+平面向量及其应用+小结 高一下学期数学人教A版(2019)必修第二册
- 2024年山东省聊城市冠县中考一模英语试题(原卷版)
- 山东省青岛市平度市2024届中考二模语文试题含解析
- 国开可编程控制器应用形考实训任务六
- 周志华-机器学习-Chap01绪论-课件
- 电力储能用锂离子电池
- 华为MPR+LTC项目项目总体方案+P183
- 自然资源调查监测技能竞赛理论考试题库大全-中(多选题)
- 水质监测服务水质自动监测系统运行维护方案
- 小学生创新大赛创新设计案例
- MOOC 断层影像解剖学-山东大学 中国大学慕课答案
评论
0/150
提交评论