(计算机软件与理论专业论文)异构组件互操作技术研究.pdf_第1页
(计算机软件与理论专业论文)异构组件互操作技术研究.pdf_第2页
(计算机软件与理论专业论文)异构组件互操作技术研究.pdf_第3页
(计算机软件与理论专业论文)异构组件互操作技术研究.pdf_第4页
(计算机软件与理论专业论文)异构组件互操作技术研究.pdf_第5页
已阅读5页,还剩129页未读 继续免费阅读

(计算机软件与理论专业论文)异构组件互操作技术研究.pdf.pdf 免费下载

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

文档简介

西北工业大学博十学位论文 摘要 摘要 基于组件的软件开发方法,旨在复用已有的、经过验证的软件组件来构造应 用系统,这不仅可大大减少软件开发的人力、物力投入,缩短开发周期,同时也 有利于提高软件的质量,因而它是实现软件复用的切实可行的途径,也是软件走 向工程化和产业化的必由之路。 随着现代软件系统规模越来越大,复杂性越来越高,软件系统所具有的开放 性、分布性的特点越来越突出。为了减少复杂性,人们将处理事务逻辑和处理系 统底层的基础设施相分离,形成了不同的分布式中间件标准,在中间件技术之上 提出了组件模型,用来说明如何构造组件以及组件间如何进行交互。如今,主流 的组件模型有o m g 组织的c o r b a 组件模型,m i c r o s o f t 的d c o m 和s u n 公司 的e j b 组件模型等。这些组件模型构成了企业应用的基础,不同组件模型中的 各组件间如何进行互操作对提高软件复用程度,实现企业内部应用集成和跨企业 交互具有十分重要的意义。 本文对异构组件互操作的相关问题进行了深入研究,主要研究内容及创新点 概括如下: 1 分析了目前分布式组件模型主流技术的特点和实现异构组件互操作的主 要方法,指出了在开放环境下目前组件接口定义语言在组件描述和互操作方面存 在的不足,提出了组件接口规约框架,归纳总结了组件非功能信息,给出了基于 x m l 的对组件进行全面准确描述的可扩展组件标准化描述模板。 2 根据上述组件接口规约框架,对组件接口进行了扩展。即基于契约化设 计思想,对组件接e l 进行了语义层信息扩展;基于多元7 r 演算,对组件接口进行 了行为协议层信息扩展,从而使组件接口全面准确地描述了组件的“静态”和“动 态”信息。 3 在扩展接1 2 1 的基础上研究了组件匹配和组件交易服务。在接口的语法层 提出了基于类型的基调匹配;在语义层提出了基于前件后件和一阶谓词逻辑的 语义层匹配;在协议层基于石演算互模拟性理论进行协议层匹配。在研究了组件 匹配后,提出了基于标准化描述模板的组件交易服务,并研究了基于协作服务器 图模型c s g 的交易者联盟动态管理问题。 4 研究了组件组合和组合互操作中的组装推导,给出了在体系结构指导下 从候选组件集合中对组件配置的算法,研究了互操f t 。叶f 的兼窬性和替代性等关键 l 西北t 业大学博十学位论文摘要 问题。在兼容性方面,依据万演算中兼容性理论和角色模型,研究了角色划分、 角色正确性、角色兼容性等问题。在替代性方面,依据万演算中行为继承性的关 系理论,提出了行为子类的概念,并结合一个电子商务实例进行了说明。 5 w e bs e r v i c e s 的出现,为异构组件互操作提供了新的契机,设计了以w e b s e r v i c e s 框架为基础的异构组件互操作实现方案。并以c o r b a 组件为例,结合 电力监控组态软件工程项目y s z w e b 设计和实现了集成网关,重点讨论了实现 集成过程中i d l 接口和w s d l 的转换等关键技术。 关键词:组件,接口,语法,语义,协议,兀演算,互操作 两北t 业大学博十学能论文 a b s t r a c t a b s t r a c t b yr e u s i n gs o f t w a r ec o m p o n e n t sw h i c hh a sb e e np r e f a b r i c a t e d ,a l r e a d yt e s t e d a n dv a l i d a t e dt ob u i l da p p l i c a t i o ns y s t e m s ,t h em e t h o do f c o m p o n e n t b a s e ds o f t w a r e d e 、,e l o p m e mi si n t e n d e dt or e d u c et h em a n p o w e ra n dm a t e r i a lr e s o m c e si n v e s t e di n t h ec o u r s eo fs o f t w a r ed e v e l o p m e n t ,s h o r t e nt h ed e v e l o p m e n tp e r i o da n di m p m v et h e q u a l i t ya sw e l l i ti st h ef e a s i b l ea p p r o a c ht or e a l i z e ds o f t w a r er e u s i n ga n da l s ot h e o n l yw a y t ot h es o f t w a r ei n d u s t r i a l i z a t i o n a st h em o d e ms o f t w a r es y s t e m sa r ed e v e l o p i n gt ol a g e rs c a l ew i t l lh i g h e r c o m p l e x i t y , t h e i rf e a t u r e so fo p e n n e s sa n dd i s t r i b u t i v e n e s sb e c o m ei n c r e a s i n g l y p r o m i n e n t i no r d e rt or e d u c et h ec o m p l e x i t y , t h eb u s i n e s sl o g i ci ss e p a r a t e df r o mt h e i n f r a s t r u c t u r es oa st of o r md i f f e r e n td i s t r i b u t e dm i d d l e w a r es t a n d a r d s ,w h i c hp r e m i s e t h ep r o p o s i t i o no ft h ec o m p o n e n tm o d e l st oi l l u s t r a t eh o wt ob u i l dt h e 蛐w a r e c o m p o n e n t sa n dh o wt h e s ec o m p o n e n t si n t e r a c tw i t he a c ho t h e r n o w a d a y s ,t h em a i n s t r e a mc o m p o n e n tm o d e l sa r ec o r b ap r o d u c e db yo m g d c o mb ym i c r o s o f ta n de j bm o d e lb ys u nc o m p a n y , a l lo fw h i c hm a k eu pt h e b a s i so f e n t e r p r i s ea p p l i c a t i o n ,t h ei n t e r o p e r a b i l i t yo f h e t e r o g o n o u sc o m p o n e n t sp l a y s s i g n i f i c a n tr o l e i ne n h a n c i n gt h ed e g r e eo fs o f t w a r er e u s i n ga n di na c h i e v i n gt h e i n t r a - e n t e r p r i s ea p p l i c a t i o n si n t e g r a t i o n a n dt h e i n t e r - e n t e r p r i s ea p p l i c a t i o n s i n t e r a c t i o n 删sd i s s e r t a t i o nu n d e r t a k e saf u r t h e rr e s e a r c h c o n c e r n i n gh e t e r o g o n o u s c o m p o n e n ti n t e r o p e r a b i l i t y , i n c l u d i n gt h ef o l l o w i n gf i v ep a r t s : 1 a n a l y z i n gt h et e c h n o l o g i c a lc h a r a c t e r i s t i c so ft h ep r e s e n tm a i n s t r e a m d i s t r i b u t e dc o m p o n e n tm o d e l sa n dt h em a i nm e t h o d so fa c h i e v i n gh e t e r o g o n o u s c o m p o n e n ti n t e r o p e r a b i l i t y , t h ed e f e c t so ft h ep r e s e n ti n t e r f a c ed e f i n i t i o nl a n g u a g ei n t e r m so fc o m p o n e n td e s c r i p t i o na n di n t e r o p e r a b i l i t yi n o p e ne n v i r o n m e n t a r e p r e s e n t e d ,a n dt h en o n f u n c t i o n a li n f o r m a t i o no fc o m p o n e n t si ss u m m a r i z e d f i n a l l y , c o m p o n e n ti n t e r f a c es p e c i f i c a t i o n f r a m e w o r ka n dt h ee x t e n s i b l es t a n d a r d i z e d c o m p o n e n td e s c r i p t i o nt e m p l a t eb a s e d0 1 1x m l a r ep r o p o s e d 2 a c c o r d i n gt ot h ep r o p o s e dc o m p o n e n t i n t e r f a c es p e c i f i c a t i o nf r a m e w o r k ,t h e c o m p o n e n ti n t e r f a c e i s e x t e n d e d ,i n c l u d i n gt h e e x t e n s i o no fs e m a n t i c l a y e r 西北t 业大学博十学何论文a b s t r a c t i n f o r m a t i o nb a s e do nt h ei d e ao fc o n t r a c t u a ld e s i g n i n ga n do ft h eb e h a v i o rp r o t o c o l l a y e rb a s e do np o l y a d i c 厅c a l c u l u s t h u s t h ec o m p o n e n ti n t e r f a c ep r e c i s e l ya n d c o m p r e h e n s i v e l y d e s c r i b e st h es t a t i ca n dd y n a m i ci n f o r m a t i o no f c o t sc o m p o n e n t 3 t h ep r o b l e m so fc o m p o n e n tm a t c h i n ga n dc o m p o n e n tt r a d i n gs e r v i c ea r e s t u d i e do nt h eb a s i so ft h ei n t e r f a c ee x t e n s i o n t y p e - b a s e ds i g n a t u r em a t c h i n go nt h e s y n t a xl a y e r i s p u tf o r w a r d ,p r e p o s t c o n d i t i o na n dp r e d i c a t i o nl o g i cs e m a n t i c m a t c h i n go nt h es e m a n t i cl a y e ri sr a i s e d ,a n dt h ep r o t o c o lm a t c h i n go nt h ep r o t o c o l l a y e ri sp r o p o s e db a s e do nt h e 兀c a l c u l u sb i - s i m i l a r i t yt h e o r y t h e n ,t h ec o m p o n e n t t r a d i n gs e r v i c eb a s e do nt h es t a n d a r d i z e dc o m p o n e n td e s c r i p t i o nt e m p l a t e i sp r o p o s e d , a n dt h ep r o b l e mo fd y n a m i ca d m i n i s t r a t i o nt r a d e rf e d e r a t i o nb a s e do nt h ec o o p e r a t i n g s e r v e rg r a p hi se x p l o r e d 4 c o m p o n e n tc o m p o s i t i o na n dc o m p o s i t i o nr e a s o n i n gi n t h ec o m p o n e n t i n t e r o p e r a b i l i t y a r ea l s o s t u d i e d c o n f i g u r a t i o na l g o r i t h m i s s u g g e s t e d ,w h i c h c o m p o s i t et h ec o m p o n e n t sc h o s e nf r o mt h ec a n d i d a t ec o m p o n e n t 咄n 圮k e yp o i n t s o ft h ei n t e r o p e r a b i l i t y - 一c o m p a t i b i l i t ya n ds u b s t i t u t a b i l i t ya r ed i s c u s s e d i nt e r m so f c o m p a t i b i l i t y , b a s e d o n c o m p a t i b i l i t yt h e o r ya n dr o l em o d e li n 兀c a l c u l u s ,t h e r o l e - c o m p a r t m e n t a l i z i n g ,t h ec o r r e c t n e s so ft h er o l ea n dt h em l ec o m p a t i b i l i t ya r e s t u d i e d ;c o n c e r n i n g t h es u b s t i t u t a b i l i t y , t h e c o n c e p t i o n o fb e h a v i o r s u b t y p ei s p r o p o s e da c c o r d i n gt ot h er e l a t i o n s h i pt h e o r ya b o u tt h eb e h a v i o ri n h e r i t a n c ei n 丌 c a l c u l u s a ne x a m p l eo fe l e c t r o n i cc o m m e r c ei so f f e r e df o rt h ei l l u s t r a t i o n 5 t h ea p p e a r a n c eo fw e bs e r v i c e sh a so f f e r e dan e wc h a n c ef o ra c h i e v i n g h e t e r o g o n o u sc o m p o n e n ti n t e r o p e r a b i l i t y 1 1 1 es c h e m eo fr e a l i z i n gt h eh e t e r o g o n o u s c o m p o n e n ti n t e r o p e r a b i l i t yi sd e s i g n e do nt h eb a s i so fw e b s e r v i c e sf r a m e w o r k t h e c o r b ac o m p o n e n t sa r et a k e na st h ee x a m p l et oi l l u s t r a t ed e s i g n i n ga n dr e a l i z a t i o n o f t h ei n t e g r a t i o ng a t e w a y a tl a s tw cr e a l i z e dc o r b aa n dw e bs e r v i c e si n t e g r a t i o n i ny s z w 曲s y s t e m k e yw o r d s :c o m p o n e n t ,i n t e r f a c e ,s y n t a x ,s e m a n t i c ,p r o t o c o l ,靠c a l c u l u s , i n t e r o p e r a b i l i t y 嚣二f 乏工业大学业 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻泼学位剃间论文j :作 舱知识产权单位羁于薛,| 匕l :韭大学。学技有权保留并向国家有关帮f 1 戒机构送交论文的复 印 , :和电子版。本人允许论文被奇阅帚1 借阅。学校可以将本学位论文的全部或部分内容编 入有关数据库遂行检索,可以采羽影印、缩印或扫描等复巷9 手段保存嚣l 汇编本学位沧文。 同时本人保证,毕业后结合学位论文研究课题再撰写的文章律注明作者单位为硒i l = 1 2 业 大学。 保密论文待解密后适用本声明。 学位论文作者签名:盔参韭 土p 占年j 月啦 精教师繇锯翻订 k 。彳年、明以日 西北工业大学 学位论文原创性声明 蚕承学校严= 谨的学风雨l 优良的科学道德,本人郑重声明:所呈交的学位论文,是本 人在导师的指导i - 进行研究_ t :作所取得的成果。尽我所知,除文中已经注明引拜j 的内容 和致谢的地方外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成 果,不包含本人戚其他已中请学位或其他梢途使州过的成粱。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式表明。 本人学位论文与资料若有不实,愿意承担 = j j 檑荚的法律责任。 学位论文搀者签名 。妒c j ;年r 月珂日 西北t 业大学博十学位论文第一章绪论 1 1 研究背景及意义 1 1 1 软件复用 第一章绪论 在n a t o ( 北大西洋公约组织) 的软件工程会议上,m c l l r o y 第一次提出了软 件复用的概念。1 9 8 3 年,f r e e m a n 对软件复用给出了详细的定义:“在构造新的 软件系统的过程中,对已存在的软件人工制品的使用技术” 1 ,2 。此后,随着 对计算机软件研究的不断深入,尤其是面向对象技术的发展,软件复用逐渐受到 人们越来越多的关注。 软件复用是指重复使用“为了复用目的而设计软件”的过程,而可复用软件 则是指为了复用目的而设计的软件。软件复用的出发点是,应用系统的开发不再 采用“一切从零开始”的模式,而是以已有的工作为基础,充分利用在过去应用 系统开发中积累的知识和经验,从而将开发的重点集中于应用的特有构成成份 2 。 首先,软件复用能够提高软件生产率,减少开发代价。其次,用可复用的 组件构造系统还可以提高系统的性能和可靠性。因为可复用组件大都进行过高度 的优化,并在实践中经受检验,通过复用这些高质量的已有成果,能避免丌发中 可能引入的错误和不当,可控制软件开发的复杂度,缩短其开发周期,从而提高 了系统的质量。第三,软件复用能够减少系统的维护代价。第四,软件复用能够 提高系统问的互操作性,由于系统实现的不一致性,要实现组件的复用,首先系 统应当有效地解决与其它系统之间的互操作性问题。第五,软件复用能够支持快 速原型设计。第六,软件复用还能减少培训开销。 复用是成熟工程领域的一个基本特征,分析传统产业的发展,其基本模式 大都是标准的零部件( 组件) 生产与基于标准组件的产品! e 产相结合。其中组件 是核心和基础,“复用”是必须的手段。实践证明,这种模式是产业工程化、工 业化的必由之路 1 ,8 。标准零部件业的独立存在和发展是产业形成规模经济的 西北丁= 业大学博+ 学付论文 第一章绪论 前提,计算机硬件产业的成功发展就是依据这种模式,实践情况已充分证明这种 模式的可行性和正确性,因而是软件产业发展的良好借鉴。软件产业要发展并形 成规模经济,标准组件的生产和组件的复用是关键因素。依据复用的方式,可以 将软件复用分为“黑盒”复用和“白盒”复用,“黑盒”复用指对已有组件不需 任何修改直接进行复用,是理想的复用方式 2 。 依据复用的对象,可以将软件复用分为产品复用和过程复用。产品复用是 指复用已有的软件组件,通过组件集成组装得到新系统,包括复用组件的表示、 检索等工具实现;过程复用是指复用已有的软件开发过程,使用可复用的应用生 成器来自动或半自动生成所需系统。过程复用依赖于软件自动化技术的发展,目 前只适用于一些特殊的领域。目前最现实、最主要的软件复用方式是产品复用即 复用已有的软件组件。近几十年来,面向对象技术的出现并逐渐成为主流技术, 为软件复用提供了基本的技术支持。探讨应用系统的本质,可以发现其中通常包 含三类成份:通用基本组件、领域共性组件和应用专用组件。应用系统开发中的 重复劳动主要集中于前两类构成成份的重复开发 1 。 软件复用已经融入软件工程研究的主流,被视为使软件开发真正走向工程 化和产业化道路的希望。总的来说,软件复用有三个基本问题:一是必须有可复 用的产品,二是所复用的对象必须是有用的,三是复用者要知道如何去使用被复 用的对象。软件复用还包括两个相关过程,即可复用软件产品的开发和基于可复 用软件的应用系统构造 2 。解决好这几个方面的问题才能实现真正意义上的软 件复用。基于组件的复用是目前学术界和产业界公认的主流复用技术,与其它复 用方式相比,基于组件的复用更为可行、更实用。 1 1 2 基于组件的软件开发 近年来软件开发技术的一个重要进展就是组件化。由于现在的软什系统规模 越来越大,要求一个系统完成的功能越来越多,因此软件复用和系统集成更加具 有非同寻常的意义。基于组件的软件开发技术是新一代软件技术发展的杯志。 基于组件的开发( 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 :戈基于 组件的软件1 = 程( c o m p o n e n t b a s e ds o f t w a r ee n g i n e e r i n g ,c b s e ) 是 枷软件开 发新范型,它是在一定组件模型的支持下,复用组件库中的个或多个4 ,; 组件, 通过组合于段高效率、高质量地构造应用软件系统的过程 3 1 0 l 。c b s i ) 的理论 建立在软件工程、软件复用和分布式计算基础之t ,重点研究构件的噪作性 ( i n t e r o p e r a b i l i t y ) 、可用性( u s a b i l i t y ) 、可复用性( r e u s a b i l i t y ) s 1 放钲( e f l c ) 等。 两北( 业大学博十学伊论文第一章绪论 由于以分伟式对象为基础的组件实现技术日趋成熟,c b s d 已经成为现今软 件复用实践的研究热点,被认为是最具潜力的软件工程发展方向之- - 4 1 。软件 不仅在规模上快速发展扩大,而且其复杂性也急剧增加。使用软件复用技术可以 减少软件开发活动中大量的重复性工作,这样就能提高软件生产率,降低开发成 本,缩短开发周期。同时,由于软件组件大都经过严格的质量认证,并在实际运 行环境中得到检验,因此,复用软件组件有助于改善软件质量。此外,大量使用 软件组件,软件的灵活性和标准化程度也可望得到提高。 c b s d 遵循“购买而不创建( b u y , d o n t b u i l d ) ”的丌发哲学【3 】,让人们按“一 切从头开始”的程序编制方式转向软件组装,将以往“算法+ 数据结构”的开发 方法转化为“组件开发+ 组件组合”模式。基于组件的歼发任务包括创建、检索 和评价,适配,组装、测试和验证,配置和部署、维护和演进,以及遗产系统再 工程等主要活动【1 2 】。图l - l 是c b s d 的主要活动,它们与传统的软件开发生命 周期中的方法不尽相同。 图1 - 1 基丁组件的软什开发过程 对象是人们提出重用性方面的第一个尝试,组件技术是在面向对象软件开发 方法的基础上逐渐发展起来的一种新技术。由于面向对象开发环境本质上不够完 善,缺乏解决对象互操作的公共基础设施等原因,妨碍了它们成为主流产品。组 件技术与而向对象技术紧密相关,组件和对象都是对现实世界的抽蒙捕述,通过 接口封装了可复用的代码实现,不同的是:首先在概念层上,对象摧i 述客观世界 实体,组件提供客观世界服务 1 3 】;其次在复用策略上,对象是通过秣承实现复 用,而组件是通过合成实现复用;最后在技术手段上,组件通过对象十2 术而实现, 一个组件通常是多个对象的集合体。 可见组件技术和面向对象技术之b j 的关系如下:( 1 ) c b s d 拙缘了许多面 向对象技术的实现概念,是将面向对象技术应用于系统设i 级一r 的砷自然延 西北r 业大学博十学伊论文第一章绪论 伸。( 2 ) c b s d 是面向对象的一个简化的版本,它注重封装性,但忽略了继承性 和多态性。( 3 ) c b s d 是构造系统的体系结构级的方法,并且可以采用面向对象 方法很方便地实现组件。有时一个组件就是一个对象,但一般意义上组件好比是 “化合物”,而对象好比是“原子”,组件能被直接使用,而不必关心构成它们的 原子。( 4 ) 在面向对象框架下实现软件重用一般须提供源代码,而用组件实现则 完全不用了解它是如何实现的。 c b s d 的兴起主要源于以下4 个背景:( 1 ) 在研究方面,现代软件工程思想, 特别是对复用技术的强调;( 2 ) 在产业方面,支持用组件来建造g u i 、数据库和 应用部件的一些理论上质朴但实际可用的技术的成功;( 3 ) 在策略方面,某些主 流互操作技术,如c o r b a 、c o m 和e j b 的开发者的推动:( 4 ) 在软件界,对 象技术的广泛使用,提供了建造和使用组件的概念基础和实用工具 1 4 ,1 5 1 。 组件是指语义完整、语法正确和具有可重用价值的单位软件,是软件重用过 程中可以明确辩识的系统;结构上,它是语义描述、通信接口和实现代码的复合 体。简单地说,组件是具有一定的功能,能够独立工作或能够同其它组件装配起 来协调工作的程序体,组件的使用同它的开发、生产无关 1 6 1 。从抽象程度来看, 面向对象技术已达到了类级重用( 代码重用) ,它以类为封装的单位。这样的重用 粒度还太小,不足以解决异构互操作和效率更高的重用。组件将抽象的程度提到 一个更高的层次,它是对一组类的组合进行封装,并代表完成一个或多个功能的 特定服务。整个组件隐藏了具体的实现,只用接口提供服务。 软件组件是指应用系统中可以明确辨识的有机构成成份,是软件系统设计 中能够重复使用的构造模块,是一个独立的、可替换的系统的一部分,它具有相 对独立性、互换性和功能性的特征【4 】。即软件组件不依存于某一个系统,它可 以被相同功能的组件所替换,并且具有实际的功能意义。其特征有: 1 有用性必须提供有用的功能; 2 可用性必须易于理解和使用: 3 可靠性组件自身及其变形必须能正确工作; 4 适应性应易于通过参数化等方式在不同的语境中进行配置: 5 可移植性能在不同的硬件平台和软件环境中工作。 软件组件技术是_ 种社会化的软件开发方法,它使得丌发者可将片j 小同语 言、由不同供应商丌发的组件组装在一起来构造软件系统。通过软件组件的社会 化生产,可实现软件的社会化生产,在全球范围内实现软件生,r 的协作分i 。生 产软件组件的公1 1 1 以各种高质量的标准可组装的软件组件投放i j 场,i 巾脚t tj 软件 丌发商们在全球| c 【嘲内采| j l 和订购可重用的软件组件,再通过纠i 健和i 7 卜产 啊北i :业大学博十学l 市论文第一章绪论 用户所需的应用软件。 总之,可以预见,组件化软件生产将会对整个软件界产生巨大的影响,并 会推动软件产业进一步发展。而组件技术所扮演的角色就是把零件、生产线和装 配运行的概念运用在软件工业中,利用它可以提高开发速度,降低开发成本,增 加应用软件的灵活性,降低软件维护的费用等,软组件技术是软件产业化革命的 必然发展趋势【4 】。 1 1 3 异种组件模型的出现 c b s d 以软件架构为组装蓝图,以可复用软件组件为组装模块,支持组装式 软件的复用,大大提高了软件生产效率和软件质量 1 7 。为此,国内外对于这一 技术的研究正在不断深入,同时大型的软件公司( 例如s u n ,m i c r o s o f t ) 及软件 组织机构( 如o m g ) 都推出了支持组件技术的软件平台。其中具有代表性的实 现级工业标准组件模型有c o r b a c c m ( c o r b ac o m p o n e n tm o d e l ) 【1 8 2 0 , c o m d c o m 2 1 】,e j b 组件模型 2 2 】。d c o m 主要用于私有的w i n d o w s 平台, e j b 因j a v a 语言的平台无关性已经成为目前主流的组件技术,c c m 因c o r b a 的语言、平台和操作系统的无关性而成为最具发展潜力的组件模型。 c o m d c o m ,c o r b a c c m ,e j b 三足鼎立构成竞争和互操作并存的格局【2 3 】。 同时研究性的组件模型有c h a r l e s 大学的s o f a d c u p 组件模型【2 2 】以及我国北 京大学的青鸟组件模型 2 4 等。 1 1 4 企业应用集成 w e b 为人类提供了一个全球范围内的分布式系统,在w e b 下实现不同组件 产品的集成,将会使组件的应用更加广泛,更大范围的分布组件也可实现交互, 这样就形成一个丌放式的系统,它使用户能够透明地应用不同厂商制造的异构型 计算资源。因此,在软件组件复用技术研究成果和软件组件标准广泛被接受的情 况下,利用丌放的w w w 环境,通过新的w e b 技术和规范,实现开放的应用, 将具有极大的诱惑和广阔的应用前景【2 5 】。尤其是在互联网快速发展的今天,网 络为人们的协作提供了广阔的平台,在w w w 下实现不同对象的互操作性就越 发迫切了。当今,组件技术已经成为计算环境的基本组成之一,众多中间件产品 和开发工具提供了对不同组件模型的支持,特别在分布式、企业级应用软件系统 中,无不把软件的组什化作为解决维护、扩展和升级问题的唯一途径 2 6 ,2 7 】。 两i er 业大宁障十学侍论文第一章绪论 由于没有统一的组件标准,所以目前存在着不同的组件模型,这些异质的 组件都有其各自的不同特点,包括不同的应用平台、不同的实现语言和不同的技 术特点等。在i n t e m e t 环境中,在一个集成商业程序的所有参与者f 日j 如何确保单 一、统一的体系架构是十分困难的。组件技术的目标本来是为了能够更好地实现 代码重用,但缺少异构组件问的互操作,用户就不得不为各种不同的分布式组件 系统编写相同功能的代码 2 8 】。对企业应用来说,基于不同规范的异构分布式组 件的互操作就成为一个非常重要的特性。在制定合理的异构组件问互操作标准 后,组件集成后就能得到一个一致的可运行系统。因此,提出在w e b 下解决软 件组件互操作性,实现异构组件的通信、协作,使得软件开发可在一个更加开放、 更加宽松的w w w 平台上,充分利用w e b 计算的特点来完成,构造这样一个应 用最大、最广泛的分布式系统正是软件应用发展的方向。 1 2 研究现状 1 2 1 组件模型 现代软件系统规模越来越大和复杂度越来越高,为了简化系统开发复杂度而 将事务逻辑和系统逻辑相分离,应当使应用开发人员能致力于应用逻辑的开发, 而系统逻辑由软件供应商提供。在这种思想的指导下,基于中间件技术的组件模 型应运而生。 组件模型是砸向组件的软件丌发方法的核心,是组件的本质特征及组件问关 系的抽象拙述。它将组件组装所关心的组件类型、组件形态和表示方法加以标准 化,使天心和使用组件的外部环境( 如基于组件构造出束的应用系统、组件组装 辅助工具和组件复用皆等) 能够在一致的概念模型下观察和使用组件1 2 9 。组件 模型主要为了解决如何构造组件以及如何使用组件构造应用系统。在基于组件的 软件丌发方法中,组件理论模型是最根本的基础,它不但影响着组件的分类、存 储和管理,也决定了组件组装的方式,是基于组件的软件开发方法中所有工作的 核心【1 7 】。 口f i 具有代表性的实现级工业标准组件模型足m i c r o s o f t 公司的 c o m d c o m ,s u n 公司的e j b 和o m g 组织的c c m 。其中c o m d c o m 组件 目前广泛地用于w i n d o w s 平台,由于该平台拥有极大的市场占有率,因此 c o m d c o m 事实上已经成为一种组件标准。c o r b a 是由绝大多数分布计算平 6 曲i tr , l k 夫学博十学竹论文 第一章绪论 台厂商所支持和遵循的系统规范技术,具有模型完整、先进,独立于系统平台和 开发语言,被支持程度广泛的特点,己逐渐成为分布计算技术的标准。e j b 技术 简化了使用j a v a 语言编写企业应用的开发、配置和执行,已经成为开发企业应 用服务器的主流标准。研究性的组件模型有c h a r l e s 大学的s o f a d c u p 3 0 1 以及 我国北京大学的青鸟组件模型【2 4 】等。随着组件技术和嵌入式系统开发的结合产 生的嵌入式组件模型有m i n i c o r b a ,p b o 模型,k o a l a 模型,s e e s c o a 模 型和p e c o s 组件模型等【3 1 】。本文第二章将分析对比主要组件模型的技术特点 和目前实现异构组件互操作的主要方法。 1 2 2 接口扩展 c l e m e n ss z y p e r s k i 指出,所谓组件是指具有契约化定义的接1 2 1 及明确的上下 文依赖关系的可组合软件单元,组件可以被独立地部署并提交给第三方进行组合 【3 2 。c o t s ( c o m m e r c i a l o f f - t h e s h e l f ) 组件指的是存储于软件库中并可打包、 存储、提取和定制的大粒度的商用软件实体。 可以认为,组件由一方定义其舰格说明,被另一方实现,然后供给第三方使 用。接口足用户与组件发生交互的连接渠道,第三方只能通过组件接口的规格浇 明理解和复用组件。接口规格说明也是一种“契约”,它精确地描述了组件实现 的功能,同时又不把组件限定于唯的实现方法。这种不确定性带来多解决方案 的灵活性。另一方面,虽然组件可以独立地部署,但是一个组件可能会用到其它 组件或平台提供的服务,或者说基于组件的软件系统中通常是多个组件协同完成 一定功能,所以组件依赖于组装环境。 接口舰约足开发,管理和使用软件组件的基础。构造基于组件的应用系统依 赖于接口的概念,接口是组件提供和请求服务的契约,接口独立于任何特定的实 现,是组件同外界交互的唯一途径 1 7 ,3 3 。对组件的开发者和使用者来说,接口 描述了组件提供和请求的服务,是对组件功能的抽象描述,是开发者和使用者之 间沟通的信息纽带 3 4 3 6 1 。 目前组件模型主要使用接口定义语言i d l ( 如c o r b ai d l 和d c o mm i d l ) 描述组件功能,接口定义语言仅仅描述了接口谱法层的基凋( s i g n a t u r e ) 信息, 即方法的名字、参数和返回值类型,而没有涉及接口用法、能力和行为等方面的 信息。这就意味着可能时远程对象提供的方法确不正确的假设,从而导致误用和 系统失败 3 7 1 。 文献 3 8 7 0 认为,目前基于i d l 的接口规约在开放环境下不足以全面准确 旧j 匕忡,k = 中f 哼十学仲论文第一章绪论 地刻画组件的功能和行为,所以对组件接口的扩展及其相关技术成为近年来的一 个研究热点。w o i 9 9 会议确定了组件接口应当包含三个层次的信,g 7 1 7 3 1 ,除 了目的商业i d l 语言提供的语法层信息,还应当包含语义层信息和协议层信息。 语义层信息确保使用服务的组件和提供服务的组件对交互的数据和服务有一致 的理解,比如参数的取值范围等。协议层信息主要用来描述组件问交互的动态行 为信息,比如组件交互的消息顺序等。 形式化方法因其描述的准确性和使用自动定理证明机制而受到越来越多的 人们的重视,因此出现了大量使用形式化方法扩展组件接口的方法。文献 7 4 9 0 1 提出了对组件协议层的扩展,其中具有代表性的方法有: 类似规则语言 7 5 1 、 会话类型( s e s s i o nt y p e s ) 【7 6 、p e t r i 网 8 l 】、有限状态机理论【8 7 】,时态逻辑 ( t e m p o r a ll o g i c ) 【8 8 ,兀演算 8 3 8 6 和o c l ( o b j e c tc o n s t r a i n tl a n g u a g e ) 9 0 】 等。对组件接口语义层扩展的主要方法有 9 1 9 6 :前件后件和不变式 9 1 。9 4 1 , 代数等式 9 5 1 和细化演算 9 6 1 等方法。本文第三章将详细讨论组件接v i 扩展技术。 1 2 3 基于扩展接口的组件匹配 ,组件匹配在软件复用和软件库提取方面起着重要作用【9 7 】,决定一个组件是 否可以取代另一个组件,或如何更改一个组件以满足其它组件的需要,在面向对 象的编程中帮助决定一个类型是否是另一个类型的行为子类,在系统互操作方面 决定两个接口是否匹配。 在分布式组件模型中,对目标组件的查找主要是基于交易者模型来进行的。 目i ; 有很多组件分类和检索方法,从组件表示出发可分为人工智能方法、超文本 方法和信息科学方法三类;而根据复杂度和检索效果的不同则可以分为基于文本 的、基于词法描述和基于规约的编码和检索。信息科学方法是实际复用项目中应 用较成功的一类,并且以枚举、刻面,属性值、关键词和正文检索几种较为常见, 其中刻面( f a c e t ) 分类方法能够表达丰富的组件信息,为人关注【9 8 】。 现有的检索方法,根据表示方法的不同可分为以下五类:基于表达式规约表 示的舰约匹配【9 9 】,基于接1 2 1 舰约表示的基调匹配 1 0 0 ,基于编目术语的特征轮 廓匹配 1 0 1 】,基于组件行为的采样匹配【1 0 2 】,基于知识表示的人工智能检索方 法 1 0 3 。 组件匹配主要是组件接u 功能上的匹配,凶为目前组件接口描述的信息量不 足,从而导致组件匹配方法都不很理想,本文第四章在组件接口扩展的基础上研 究了组件匹配,并提出了基于i n t e m e t 的组件交易服务。 西北t 业大学博十学竹论文第一章绪论 1 2 4 组件互操作 随着计算机网络特别是i n t e m e t 的迅速发展,用户对分布应用的需求日益增 加,为了向用户提供使用更加方便,功能更加强大的分布应用丌发工具,将面向 对象技术和分饰计算技术相结合产生了分布式组件技术。随着分布式组件技术的 应用和发展,异构分布组件系统的集成也正在成为急需解决的问题。由于当前各 种分布式组件计算模型的来源不同和最初所需要解决的问题不

温馨提示

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

评论

0/150

提交评论