已阅读5页,还剩73页未读, 继续免费阅读
(计算机应用技术专业论文)基于反射机制的erp构件组装系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 软件行业的工业化趋势导致了构件的产生。能够像硬件系统那样,将部分 软件组合起来构建软件系统,一直是软件行业多年来追求的目标。构件技术的 出现,极大地满足了多个应用领域的要求,使得各种技术形成的构件可以最大 程度地重用。这就引出了大规模软件开发所面临的另一个问题:如何建造构件 库,并有效地组织和管理。目前,国内外在构件库方面已经有了一定的研究成 果,但是仍存在一些需要改进之外,例如,通用性、性能以及更科学地管理等 方面已经不能满足现在应用系统越来越高的要求。 本文在研究了现有构件库理论的基础之上,结合了现代e r p 系统对软件库 的特殊要求,对现有的构件库的理论和技术进行了一系列的改进,提出了一套 更加通用、灵活、性能更好的构件库系统实现技术与方法 在构件组装方面,本文扩充了一种基于消息总线和反射机制的构件交互模 式。这种模式可以支持构件之间发布预订和点对点两种交互。基于这种模式, 可以改进现有的构件库在构件反馈信息中缺少构件运行时情况记录的不足,可 以更好地为构件库用户提供准确,真实的构件反馈信息。 本文主要分为三大部分。第一部分阐述构件的相关概念、模型及描述语言 等。第二部分介绍e r p 构件及构件库,首先介绍e r p 构件模型,然后主要介绍 构件库的管理,如构件入库、构件检索、构件删除等。第三部分阐述构件的组 装机制,首先介绍基于反射机制的构件组装方法,在此基础上用一个实例模型 详细介绍了构件的组装过程。 本文研究的目的和意义在于将反射机制的概念引入到构件组装方法中,体 现了主动服务的思想,提高软件复用度,缩短应用系统的构建周期。最后,本 文在此基础上开发了一个实例模型来证实基于反射机制的构件组装方法是可行 的,进一步为主动服务技术的研究提供支持。 关键字:e r p ,构件库,消息总线,反射 a b s t r a c t s o f t w a r ei n d u s t r i a l i z i n gb r i n g so u tt h ec o n c e p to fc o m p o n e n t ,w h i c hc o m b i n e s s o m es o r 、愀t ow o r kt o g e t h e ra saw h o l es y s t e m ,j u s ta st h eh a r d w a r es y s t e m t h e c o m p o n e n tt e c h n o l o g y c a nm e e tt h er e q u i r e m e n t so fd i f f e r e n tf i e l d s ,h o w e v e r , a n o t h e rp r o b l e mi sr a i s e d ,h o wt oe s t a b l i s ht h ec o m p o n e n tl i b r a r ys y s t e ma n d o f f e r e f f e c t i v e l yo r g a n e z ea n dm a n a g e o fc o m p o n e n t s ? a tp r e s e n t ,a l t h o u g hs o m ep r o g r e s s i nt h ec o m p o n e n tl i b r a r ys y s t e m i sa t t e n d e d ,s o m ea s p e c t s s t i l ln e e dt ob e i m p r o v e d f o re x a m p l e ,i t s t i l lc a nn o tm e e tt h er e q u i r e m e n t smt e r m s o f g e n e r a l i z a t i o n ,c a p a b i l i t y , s e c u r i t ya n ds c i e n t i f i c a l l ym a n a g e m e n t b a s i n go nt h eo r i g i n a lt h e o r y , c o m b i n gt h em o d e m e r ps y s t e ma n di t ss p e c i a l r e q u i r e m e n t ,t h et h e s i si n t r o d u c e ss o m ei m p r o v e m e n t o nt h et h e o r ya n dt e c h n o l o g yo f c o m p o n e n tl i b r a r ya n dam o r eg e n e r f lr e l i a b l et e c h n o l o g ya n dm e t h o d t oi m p l e m e n t i t i nt e n n so fc o m p o n e n ta s s e m b l y , t h e s i se x t e n d sc o l l a b o r a t i o nm o d e lb e t r e e n c o m p o n e n t s b a s e do nm e s s a g eb u sa n dr e f l e c t i o n t h e m o d e ls u p p o r t st w o c o m m u n i c a t i o nm o d e ,p u b l i s h s u b s c r i b ea n dp o i n tt op o i n t b a s e do n t h em o d e l ,e r p c o m p o n e n tl i b r a r ys y s t e mc a ni m p r o v e t h eo r i g i n a lc o m p o n e n tl i b r a r ys y s t e mt om e e t t h es h o r t a g eo fl a c k i n go p e r a t i o nr e c o r di ni n f o r m a t i o nf e e d b a c k ,s oa st ob e r e r o f f e r p r e c i s ea n dr e a lc o m p o n e n tf e e d b a c ki n f o r m a t i o nf o rt h ec o m p o n e n tl i b r a r ys y s t e m u s e r s 1 1 1 i s 砒i c l ei sd i v i d e di n t ot h r e em a i np a r t s t h ef i r s tp a r to fi n t r o d u c e st h e r e l e v a n tc o n c e p t 、m o d e la n dl a n g u a g eo fc o m p o n e n t s t h es e c o n dp a r ti n t r o d u c e s e p rc o m p o n e n t sa n dc o m p o n e n t l i b r a r y ,i t s t a r t st oi n t r o d u c et h ee p r c o m p o n e n t m o d e l , a n dt h e ni t m a i n l y i n t r o d u c e s t h e m a n a g e m e n t o f c o m p o l n e n t 1 i b r a r y , s u c ha sh o w t op u tc o m p o n e n t si n t ol i b r a r y , a n dh o wt oq u e r y c o m p o n e n t so rd e l e t ec o m p o n e n t sa n ds oo n t h et h i r dp a r ti n t r o d u c et h ea s s e m b l i n g m e t h o d so fc o m p o n e n t s i ts t a r t st oi n t r o d u c et h em e t h o dt oa s s e m b l ec o m p o n e n t s b a s e do nr e f l e c t i o n ,a n dt h e ni n t r o d u c et h ep r o c e s st oa s s e m b l ec o m p o n e n t sw i t ha i n s t a n c em o d e l i i t h ep u r p o s ea n ds i g n i f i c a n c eo ft h i sa r t i c l ei st op u tt h ec o n c e p to fr e f l e c t i o n i n t ot h ea s s e m b l i n gm e t h o d so fc o m p o n e n t s i tt a k e sa d v a n t a g eo ft h ei d e ao fa c t i v e s e r v i c et oi n c r e a s et h er e u s e m e n to fs o f t w a r ea n ds h o r t e nt h ep e r i o dt od e v e l o pa s y s t e m f i n a l l y , t h i sa r t i c l eu s e sai n s t a n c em o d e lt oc o n f i r mt h a ti ti sr i g h tt ou s et h e m e t h o db a s e do nr e f l e c t i o nt oa s s e m b l ec o m p o n e n t s b e s i d e s ,i tp r o v i d e st h es u p p o r t o ff u r t h e rs t u d yo fa c t i v es e r v i c e k e y w o r d s :e i 冲,c o m p o n e n tl i b r a r y ,m e s s a g eb u s ,r e f l e c t i o n i l l 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 学位论文使用授权书 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅。本人授权武汉理工大学可以将本学位论文的全部内容编入有关数据库 进行检索,可以采用影印、缩印或其他复制手段保存或汇编本学位论文。同时 授权经武汉理工大学认可的国家有关机构或论文数据库使用或收录本学位论 文,并向社会公众提供信息服务。 ( 保密的论文在解密后应遵守此规定) 签名:二移导师签名:幽期:珈,;口 武汉理工大学硕士学位论文 1 1 研究背景及意义 第1 章引言 缩短软件开发周期,提高软件使用的可靠,稳定是软件工程的目标之一。 在进行开发软件的过程中,实践表明,不同的软件开发中含有大量重复性【l 捌的 劳动。换句话说,有些模块适用许多软件。现在的软件开发更多的是依赖于具 有一定功能并是模块化的组件,称为构件,使用的模块数量越多,软件的开发 周期越稳定,质量越高,避免了重复性的劳动和不必要的逻辑错误。一个通用 性的构件一旦调试成功,嵌入软件时就不需再调试这个构件了。这样,越来越 多的构件组成的软件自然是可靠,稳定了。提供软件的复用度在软件开发中具 有重要的意义l 3 , 4 j 。 1 2 研究现状 这种以构件为基础来为软件服务是本文所讨论的重点,也是i t 业热门话题 之一,越来越多的机构都在致力于研究这种主动服务5 1 模式。但是,这种模式还 不是非常成熟。在阅读了大量的文献后,本文提出了基于反射机制的e r p 构件 组装理论,并提出了一个模型化的组装系统为依据来构件本文的结构。 1 3 本文主要研究工作 本文的第= 章提出了构件的定义、规约及模型,从而来描述一个规范的构 件的结构;第三章在第一章基础上提出了通用的构件描述语言,构件的描述语 言必须通用才能为不同开发环境所利用;第四章提出e r p 构件库,构件只有以 某种组织形式存在于构件库才能容易被检索出来,才能为人所用,所以对不同 功能的构件的管理是本章所讨论的内容;第五章提出基于e r p 构件组装方法, 即基于反射机制的e r p 构件的组装,这一章是本文的重点章。第六章利用反射 机制完成了一个构件组装系统的模型;最后一章是对本文的总结。 武汉理工大学硕士学位论文 2 1 构件定义 第2 章构件及其相关概念 构件是一种前沿的软件设计【5 】思想,对整个软件行业的发展有着至关重要 的推动作用。随着构件技术的发展,越来越多的软件开发商认识到了构件技术 带来的好处,新开发的应用至少有6 0 将是基于构件的组装,开发商的市场应 变能力也因此得到提高。 面向对象的技术是在”数据+ 算法”的基础上提升了对事物的认识方法,对象 的概念符合人们认识世界的习惯。而构件的思想则更多地将重点从建模本身发 展到对软件生产的考虑,即构件可以在应用领域的软件生产中作为零件纳入新 的体系中被重用。因此,构件是面向对象思想的沿袭和扩展,认识事物的角度 从对象个体本身上升到个体在群体中的作用。 目前构件有许多种定义【6 ,7 】的方法,每种方法都从不同角度出发来看待。以 下总结了四种具有代表性的对构件的定义。 1 构件是系统中非凡的,独立的,可替换的部分,在一个定义很好的构架环 境中实现了一个明确的功能。构件通过实现一系列物理接口对外提供服务。 2 运行时的构件是由一个或多个程序所组成的动态可绑定的软件包。在运行 时,通过访问接口来实现功能。 3 构件是由一组特定接口和明确地独立于环境的实现所组成的。一个构件可 以独立地部署,也可以是第三方提供的。 4 商业构件代表一个自治的业务概念或业务过程的软件实现。作为一个大型 业务系统的可重用的元素,是由易于表达、实现和部署所必需的部分组成。 这些定义之间有着很大的相似性,但是侧重点又各不相同。通过这些定义可 以总结出构件具有以下特点。 1 构件是独立部署的软件单元,构件与其所存在的环境以及其他的构件之间 被严格的区分开来。构件的使用者不知道构件内部的实现细节。构件作为二个 不可分割的整体,或者被使用,或者不被使用。部分地部署一个构件是不可能 的。 2 武汉理工大学硕士学位论文 2 构件是第三方的软件组装( c o m p o s i t i o n ) 单元,要求构件在封装其内部实现 的同时,还要提供清晰定义的接口,构件的使用者通过接口把构件装配成完整 软件系统。 3 构件是即插即用的软件单元,构件应该可以在运行时被加载到目标系统 上,而不需要重新编译目标系统。 4 软件体系结构:构件不是孤立存在的,必须存在于特定的软件体系结构中 才能发挥作用。该体系结构是一个标准化的编程环境。这样,由不同的软件供 应商所提供的构件才能被无缝地集成到应用程序中。 5 构件是在市场上独立发行的软件实体:构件的使用者可以选择由不同的供 应商所提供的具有相同编程接口的构件。 从构件的以上特点可以看出,构件沿袭了对象的封装特性,但同时并不局限 在一个对象,其内部可以封装一个或多个类、原型对象甚至过程,结构是灵活 的。构件突出了自包容和被包容的特性,体现了作为软件生产线上零件的必要 特征。 2 2 构件规约 可复用构件( r e u s a b l ec o m p o n e n t ) 是指具有相对独立的功能和可复用价值的 构件。由构件规约与构件实现两部分组成。其中,构件规约【8 ,9 】主要由构件模型 进行描述。可复用构件应具备以下属性: 1 有用性( u s e f u l n e s s ) :构件必须提供有用的功能。 2 可用性( u s a b i l i t y ) :构件必须易于理解和使用。 3 质量( q u a l i t y ) :构件及其变形必须能正确工作。 4 适用性( a d a p t a b i l i t y ) :构件应该易于通过参数化等方式在不同的语境中进 行配置。 5 可适应性( p o r t a b i l i t y ) :构件应能在不同的硬件运行平台和软件环境中工作。 构件技术的关键点主要是构件的功能、构件交互的规则、构件存在的环境等, 相应地在现实中有各种支撑性的技术,如: 1 构件模型:研究构件的本质特征及构件间的关系。 2 构件描述语言:以构件模型为基础,解决构件的精确描述、识别和组装问 题。 武汉理工大学硕士学位论文 3 构件分类与检索:研究构件的分类策略、组织模式及检索策略,建立构件 库系统,支持构件的有效管理。 4 构件复合组装:包括源代码级的组装和基于构件对象互操作性的运行级组 装。 5 标准化:包括构件模型的标准化和构件库的标准化。 6 软件架构:研究如何快速、可靠地应用可复用构件系统进行系统构造的方 式,着重于软件系统自身的整体结构和构件间的互联。 构件可以分为原子构件和复合构件,原子构件是系统开发中不需再分的最小 单元;复合构件是由一组关系紧密、相互协作的成员构件,以及之间的约束关系 组成。原子构件是在系统开发中无需再分的最小基本单元,原子构件有其对应 的实现体,复合构件在规约层次上表达了成员构件之间的复合,本身并不对应 于任何实现体。 2 3 构件模型 构件模型规定了构件接口的结构以及构件之间、构件与构件基础设施之间 的交互机制,定义了构件的本质属性。构件模型通常还提供创建和实现构件的 指导原则。目前,己经出现了多种构件模型,这些模型的目标和作用各不相同, 其中,部分模型属于参考模型,例如t r a c z t 提出的3 c 模型。其中t r a c z t 提出的 3 c 模型是普遍认同的一个具有指导性作用的构件模型。是一些系统工程领域的 专家在1 9 8 9 年的“r e u s ei np r a c t i c ew o r k s h o p ”提出的,该模型由构件的三个不 同方面的描述组成,即概念( c o n c e p t ) 、内容( c o n t e n t ) 和语景( c o n t e x t ) 1 0 , 1 1 。 概念( c o n c e p t ) :是关于“构件做什么 的抽象描述,可以通过概念去理解 构件的功能。概念包括接口规约和语义描述两个部分,语义描述和每个操作相 关联( 至少表示为前后置谓词形式) 。 内容( c o n t e n t ) :概念的具体实现,描述构件如何完成概念所刻画的功能。 语景( c o n t e x t ) :描述构件和外围环境在概念级和内容级的关系。语景刻画构 件的应用环境,为构件的选用和适应性修改提供指导。语景进一步可分为: 概念语景( c o n c e p t u a lc o n t e x t ) :描述构件间接口和语义方面的关系。 操作语景( o p e r a t i o n a lc o n t e x t ) :刻画构件中被操作数据的特征( 如类型和操 作) 。 4 武汉理工大学硕士学位论文 实现语景( i m p l e m e n t a t i o nc o n t e x t ) :描述构件在实现方面的依赖关系。 另外还有部分模型属于描述模型,例如:r e s o l v e 模型,r e b o o t 模型 等。在产业界,还有一部分属于实现模型,成熟的构件模型有o m g 的c o r b a m i c r o s o f t 的c o m d c o m c o m + 和s u n 的j a v ab e a n s e j b ,构成了实现级构件 模型工业标准的竞争与互操作并存的格局。这些实现模型将构件的接口与实现 有效的分离,提供了构件交互的能力,从而增加了复用的机会。现有的构件模 型一般认为构件由构件接口和构件内容两部分组成。构件接口就是为成功复用 该软件实体而需要提供给外界的所有信息,包括构件向外提供和请求的服务、 构件的自述信息和定制信息、构件的初始化、实例化和永久化方法以及构件对 目标复用环境的依赖和构件组装信息等。构件内容就是用于直接复用的软件实 体,可以具有源代码、二进制码、文档、分析设计模型和脚本等不同的物理形 态,并遵从一定的格式标准【l 2 1 。 现在比较常见的构件模型如下所示: 构件:= 构件规约:= 接口部分:= 服务:= 结构部分:= - d 子构件结拗 复合构件结枷 原子构件结构:= 复合构件结构:= 引用的构件类型。实钠声明实铆连接。映淞 该构件模型具有以下性质: 1 构件包括规约和实现两个相互分离的部分,系统集成时不必关心构件的实 现细节。 2 构件规约包括接口部分和结构部分,接口是外部可以唯一对构件所作的假 设,包括对外提供的功能、对外请求的功能和服务。 3 服务是一组紧密耦合的对外提供和对外请求的功能集合,只有在两个对 偶的服务之间才可以连接,对偶的服务是指两个服务所包括的功能完全相同, 但其中提供的功能和需要的功能方向恰好相反。 4 原子构件的结构部分非常简单,定义了对构件实现的引用,例如实现环 境和实现体所在的位置。 5 复合构件的结构部分定义了成员构件之间的连接关系,具体包括引用的 武汉理工大学硕士学位论文 成员构件的类型、成员构件实例、实例之间的连接关系以及复合构件接1 3 定义 向成员构件接口定义的映射。 2 4 本章小结 构件是构成可服用软件的基本元素,构件的存在形式多种多样,不同形式 的构件都必须有构件的定义、模型和规约,这样构件才能够被更好的识别从而 为软件服务。 6 武汉理工大学硕士学位论文 第3 章构件描述语言 3 1x m l 与构件描述方法 x m l 【1 3 ,1 4 】( 可扩展标识语言,e x t e n s i b l em a r k u pl a n g u a g e ) 是世界万维网 协会w 3 c 推荐的用于描述数据文档中数据的组织和安排的结构的语言。x m l 起源于s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ) 。s g m l 是用于定义怎样描 述不同种类的电子文档的数据的结构和内容的种语言标准,是由国际标准化 组织( i s o ) 负责制定和管理的。 与h t m l ( h y p e rt e x tm a r k u pl a n g u a g e ) 类似,x m l 也是一种标识语言, 但x m l 关注的不是数据在浏览器中如何布局和显示,而是关注于描述数据内容, 组织和存储数据,以方便数据在各种平台上进行交流和处理。而且,x m l 语言 可以让信息提供者根据需要,自行定义标记名及属性名。同时,x m l 采用文档 类型定义( d o c u m e n tt y p ed e f i n i t i o n ,d t d ) 或x m ls c h e m ad e f i n i t i o n ( x s d ) 约束x m l 文档格式以及数据类型。 作为一种元语言,x m l 既具有强大的描述能力,又具有适合网络应用的简 洁性。同时,x m l 具有异构应用间数据共享,数据检索等能力。 x m l 的主要特点可以归纳为如下几点【1 5 , 1 6 1 : x m l 具有良好的数据存储格式,x m l 提供了一种结构化的数据表示方 式。x m l 提供了一种功能强大,灵活高效地表达数据内容的方法。 x m l 有很强的可扩展性和描述能力,x m l 允许使用者创建和使用他们 自己的标记。而不是h t m l 的有限词汇表。因此x m l 拥有很强的描述 表达数据的能力。 x m l 具有自描述性。x m l 文档通常包含一个文档类型声明,例如d t d 和x s d ,因而x m l 文档是自描述的。 x m l 具有平台独立性。x m l 中的数据内容与具体应用无关,这使表示 的数据具有很好的使用效率和重用性,这一点在通过网络交换数据时表 现得更为明显。 简明性。x m l 只有s g m l 约2 0 的复杂性,。但却具有s g m l 功能的约 7 武汉理工大学硕士学位论文 8 0 。 一个x m l 文档存在合法性和有效性的区别。如果x m l 文档符合基本x m l 语法规范则称该x m l 文档为格式良好的x m l 文档,即满足合法性;如果x m l 满足合法性同时符合某个或者某些定义文档的约束,例如d t d 文档、x m l s c h e m a ,则该文档为有效x m l 文档。 d t d ( d o c u m e n tv y p cd e f i n i t i o n ) 即文档定义类型,用于定义合法的x m l 文档构建模块。d t d 使用一系列合法的元素来定义文档的结构。d t d 可以定义 x m l 文档的元素、元素属性以及元素和属性的关系。图3 1 是一个d t d 文 档实例片段。 d t d 可以声明于x m l 文档的内部和外部。内部的d t d 可直接成行地声明 于 图3 - 1d t d 文档实例 x m l 文档之中。外部d t d 则是从x m l 主文档中分离出来的一个单独的文 件,可以用来使用外部d t d 文档文件。 d t d t l 7 , 1 8 】是w 3 c 早期推出的x m l 文档定义文件,所以其使用范围非常的 广泛。虽然w 3 c 已经不推荐将d t d 作为x m l 的定义文档,但d t d 仍被很多 用户使用。由于d t d 存在结构封闭、不支持命名空间、数据类型缺乏以及本身 不是x m l 文档等缺陷,w 3 c 后来开发并推出了更新更强大的x m ls c h e m a 。 x m ls c h e m a 或称作x s d 1 9 , 2 0 i ( x m ls c h e m ad e f i n i t i o n ) ,在2 0 0 1 年5 成为 w 3 c 的推荐标准。x m ls c h e m a 规定了x m l 文件的逻辑结构,定义了x m l 文 件中的元素、元素的属性以及元素和元素的属性之间的关系。x m ls c h e m a 具有 强制文档内容和结构的能力,用来定义x m l 文档应遵循的规则,是x m l 的一 武汉理工大学硕士学位论文 种重要且功能强大的新标准。x m ls c h e m a 的主要功能包括:定义x m l 中的元素、 属性、子元素以及子元素的顺序、元素是否可以包含文本、元素和属性的数据 类型,以及默认值。 图3 - 2 是一个x m ls c h e m a 文档实例 图3 2x m ls c h e m a 文档实例 x m ls c h e m a 是d t d 的一种扩展。相比d t d ,x m ls c h e m a 具有如下优点: 一致性:x m ls c h e m a 本身也是一种x m l 文件,不像d t d 拥有自己的 定义语法,d t d 语法复杂晦涩,而x m ls c h e m a 清晰直观,可以被现 有的x m l 编辑制作工具所编辑、被x m l 语法分析器所解析、被x m l 应用系统所利用。 互换性:可根据需要设计适合自己应用的x m ls c h e m a ,并且可以同他人 交换彼此的x m ls c h e m a 。利用x m ls c h e m a ,可以书写x m l 文档, 验证文档的合法性。另外,通过映射机制,还可以将不同的s c h e m a 进 行转换,以实现更高层次的数据交换。 规范性:s c h e m a 提供了一套完整的机制以约束x m l 文档中标签的使用。 s c h e m a 利用元素的内容和属性来定义x m l 文档的整体结构,如哪些元 素可以出现在文档中、元素间的关系是什么、每个元素有哪些内容和属 性、以及元素出现的顺序和次数等等,有很强的规范性。 9 武汉理工大学硕士学位论文 易用性:d o m ( d o c u m e n to b j e c tm o d e l ) 和s a x ( s i m p l ea p if o rx m l ) 只 是对x m l 实例文档有效,对于d t d 无效,而作为x m l 文件的x m l s c h e m a 可以直接用于d o m 和s a x 访问。 扩展性:d t d 中所定义的数据类型都是针对属性类型的,而且非常有限。 x m ls c h e m a 对d t d 进行了扩充,引入了很多内置和派生数据类型, 而且x m ls c h e m a 能够支持用户自定义类型。 基于上述优点,x m ls c h e m a 有着d t d 的不可替代的作用。 构件由构件描述和构件实体组成。构件描述定义构件特性和行为。现有各 不相同、有各自的特点的多种构件描述方法。下面介绍比较流行的一些构件描 述方法。 i d l l 2 l ,2 2 】 i d l 是o m g ( o b j e c tm a n a g e m e n tg r o u p ) 组织c o r b a 规范的一部分。用 来描述c o r b a 构件对象的接口。其接口包括一系列的操作和这些操作的接口。 i d l 通过独立于语言的方法来描述构件接口,以实现用不同语言实现的构件也能 进行通信。而且1 d l 只描述对象的界面,不涉及对象的具体实现。由i d l 说明 的接口定义提供了客户端调用接口操作所需要的信息,每个操作的参数都有详 细定义。但i d l 只能定义方法的参数信息和类型结构,侧重于描述构件接口的 语法格式,不能提供有关构件行为或构件之间关系等语义方面的信息。 j b c d l t 2 3 】 j b c d l 是基于青鸟构件模型( j b c o m ) 的构件描述语言。j b c o m 描述的构件 包括7 个部分:模版参数、提供的函数、构件要求、成员、构件连接、导入规约 和实现。j b c d l 采用类似自然语言的语法结构,用参数、导入、提供、需求、 包容、连接、声明等元素来定义构件接口,构件实现部分用特定的编程语言来 描述。j b c d l 有助于支持构件的组装、构件校验和获取。 w s d l 2 4 】 w s d l ( w e bs e r v i c ed e s c r i p t i o nl a n g u a g e ) 描述了w 曲服务的接1 2 1 、消息 格式约定和访问三方面的基本内容。w s d l 和上面介绍的i d l 有功能重合之处, 即二者都描述了服务或者构件的调用接口。同时也和i d l 一样不能提供服务或 者构件之间关系等语义方面的信息。 o c l 2 5 】 o c l ( 对象限定语言) 是u m l 规范1 1 以上版本一部分。o c l 是一种表示语 l o 武汉理工大学硕士学位论文 言,用来描述面向对象模型中的约束条件。采用o c l 的不变量、前件、后件等 表达式可以描述对象模型的行为,而不必涉及具体的实现细节。o c l 可以清晰 描述构件方法的语义信息。 i n t e m e t 上已出现了一些专业的构件库,如c o m p o n e n tp l a n e t 构件库、 c o m p o n e n ts o u r c e 构件库、s o u r c ef o r g e 构件库以及国内的青鸟构件库和上海构 件库等,构件用户可以在这些构件库中查询所需要的构件。但是,对于基于主 动服务机制的软件复用而言,这些构件库中的构件的组织结构、构件描述和访 问方式上均不相同。使得主动服务无法用统一方法与这些构件库交互以及访问 其构件。因此,为了解决访问一致性的问题,需要一种通用的方式来完成对构 件库的访问。 构件的描述方法是构件组织和访问的基础,要实现对不同类型构件的之间 的通用访问要求构件的描述中提供两方面的信息: 1 构件的能力信息,即说明构件“能够做什么”。这部分的构件信息基于构 件的功能分类规范,要求不同类型的构件的描述应基于统一的功能分类规范, 以支持上层应用的一致性访问。 2 构件的行为信息,即说明“怎样使用构件”。通常情况下,构件的行为由 一个或者多个接口表示。每个接口包括一个和多个操作,包括输入输出参数和 约束条件。要使异构构件接口语义描述达到一致性,必须使构件接口语义描述 独立于构件的具体实现,以支持构件之间的相互理解和交互。 根据上述的统一访问的要求,现有构件通常是构件描述中缺少上述两方面 的信息,或者是构件描述信息的格式不统一。这使得异构构件之间无法直接采 用一致性方法。 为了解决以上问题,主动服务机制中提出了统一构件描述语言( u c d l 。 u n i v e r s a lc o m p o n e n td e s c r i p t i o nl a n g u a g e ) 。本文将在本章的第三节对统一构件 描述语言进行详细介绍。 为实现不同类型构件的一致性访问,构件描述必须满足上述的两个要求, 即描述构件的能力信息和构件的行为信息。作为w 3 c 推荐的描述性文档语言, x m l 能够很好的描述构件的能力信息和行为信息,具有很强的表达能力。例如 对构件的能力信息的描述,x m l 可以产生一对表示功能分类的元素 ,而且可以为该元素添加属性、子元素,对 功能分类进行进一步的说明。对于构件的行为信息的描述也可以采用相类似的 武汉理工大学硕士学位论文 方式。 由于x m l 是开放的国际标准,并具有通用数据交换特性,可以利用x m l 进行构件描述,在用户和开发者之间建起沟通的桥梁。同时,由于x m l 技术的 简捷和通用,将使“谁开发谁描述 变得切实可行,从而有利于构件的准确描 述和复用理解。 在具体的实现方面,伴随x m l 标准的发展以及微软、s u n ,i b m 等众多 开发商对x m l 技术的支持与推广,基于x m l 技术的软件构件的表示、分类与 检索将变得比较容易。从而,在构件表示和检索系统的开发实现中可以避免繁 琐的格式转换和解析,从而更加专注于系统逻辑功能的实现与优化。 3 2 通用构件描述语言u c d l 本章前面介绍的几种描述语言或方法都无法提供满足构件一致性访问的要 求,i d l 只能用来指定构件接口的语法格式,j b c d l 和o c l 不能提供构件的组 织和资源信息。均不适合用于构件的通用描述。本节介绍一种构件描述方法通 用构件描述模型u c d l 能够全面描述构件的静态属性、接口信息、资源位置以 及组织分类等信息【2 6 捌。 u c d l 模型主要包括四个部分: 构件基本信息c b i ( c o m p o n e n tb a s i ci n f o r m a t i o n ) 主要描述构件的静态属性特征和构件的说明性信息。 构件资源位置信息c r l ( c o m p o n e n tr e s o u r c el o c a t i o n ) 描述构件资源的文件以及获取构件的位置信息。 构件分类信息c c i ( c o m p o n e n t c l a s s i f i c a t i o ni n f o r m a t i o n ) 描述对构件资源的分类信息。该部分从构件的多个属性角度( 刻面) 对构 件进行分类。这类信息有助于提高构件检索的效率。 构件接口规范c i s ( 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 ) 接口规范主要描述构件会表现出来的动态行为特征。 图3 3 显示了u c d l 的组成结构: 1 2 武汉理工大学硕士学位论文 3 3u c d l 的x m ls c h e m a 设计 为应用u c d l 模型实现构件的x m l 描述,需要给出相应的x m ls c h e m a 设计。 1 构件基本信息和位置信息2 8 ,2 9 】 构件基本信息包含以下条目: 构件i d :构件描述的唯一标识; 构件名称n a m e :构件的名称; 构件作者a u t h o r :生产制作该构件的公司、个人或组织; 日期d a t e :构件的发布日期; 构件大小s i z e :说明构件的存储大小; 构件版本v e r s i o n :当前构件的版本号和修订号; 图3 - 3u c d l 模型主要部分结构图 构件介绍d e s c r i p t i o n :主要介绍构件的特征、功能以及其他说明性信息。 构件资源位置信息包括两个方面的内容: 构件的相关的资源文件,例如构件的设计文档、使用文档。 构件的位置信息,构件位置信息用u r i ( u n i v e r s a lr e s o u r c ei d e n t i f i e r ) 来 表示。 武汉理工大学硕士学位论文 对应于上述的内容,构件基本信息和位置信息的x m ls c h e m a 设计如图3 4 所示。 x s :e e m e n tn a m e = ”v e n d o r ”t y p e = ”x s :s t r i n g ”m i n o c c u r s = ”0 ” x s :e x s :e e m e n tn a m e = ”d e s c r i p t i o n ”t y p e = ”x s :s t r i n g ”m i n o c c u r s = ”0 ” e m e m n a m e = ”s i z e ”t y p e = ”s i z e t y p e ” 图3 - 4 构件基本信息和位置信息的x m ls c h e m a 设计 2 构件的分类信息 u c d l 中的分类信息指明构件描述中构件资源的分类信息。参考众多构件库 资源对构件的分类方式,u c d l 从构件类型、应用领域、构件运行平台、编程语 言、构件功能等多个方面对构件进行分类。其具体的条目如下: 构件类型:说明构件的具体格式; 应用领域:指明构件应用的领域。文献中对常用构件领域分类做了比较详细 的归纳; 构件功能:指明构件自身的功能。因为一个构件可能存在多中功能,所以该 部分信息可能会是一个功能集合; 运行平台:说明使用构件必须具备的平台条件; 编程语言:实现构件时所采用的具体的编程语言; 复用层次:对应着构件属于哪个复用层次。 1 4 武汉理工大学硕士学位论文 如图3 - 5 所示,显示了u c d l 中构件分类信息的具体实现: 。 t y p e 2 ”f u n t y p e ” 图3 5 构件分类信息的x m ls c h e m a 设计 构件的分类信息对于主动服务中的构件的检索起着极为重要的作用,是构 件组织分类的基础。构件分类属性是构件刻面选择的基础。 3 构件接e l 规范 构件接口规范定义了构件的行为特征。由于x m l 的平台无关性,采用x m l 描述构件接1 2 1 信息使得不同性质的构件能够相互的交换信息,以完成构件间的 合作。 图3 - 6 说明了u c d l 中构件接口规范的x m ls c h e m a 。在u c d l 中,构件 之间的交互信息被抽象为消息。构件在接收到一个消息( 输入消息) 后作出一系列 武汉理工大学硕士学位论文 动作,完成相应的功能;此后,该构件可能会产生一个对外的消息( 输出消息) 。 构件的消息是通过接口来输入或者输出,所以消息也是接口的一部分。 3 4 本章小结 图3 - 6 构件接口规范x m ls c h e m a 设计 用不同语言编写的构件可以嵌入到不同的软件,构件才有其生命力。构件 被广泛的接受才能更好的体现其使用价值,作为构件的通用描述语言u c d l 可 以应用于任何平台,为构件的调用提供了最基本的前提。 1 6 武汉理工大学硕士学位论文 第4 章e r p 构件及构件库 4 1 反射式实时构件模型 反射式实时构件模型:= ( 实时构件反射语义模型,实时构件反射语法模型) , 反射式实时构件模型是一个二维构件模型,从构件语义、构件语法两个维度来 提供对构件单元功能属性、实时特征及变化性的支持,解决以往构件模型中实 时特征表述和约束能力不足的问题,并支持设计时构件可能有的变动和演化等 构件活动。其模型层次如图4 1 所示。 由图4 1 可见,基于反射的实时构件模型分为3 层。 基层 模型的基层表示为构件库,是由平台相关的构件实现及其相应的构件配置 文件组成的,其与模型元层l 的反射关联是通过平台相关的语言映射器来实现 的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年北京版(新教材)二年级上册数学第三单元强化训练试卷(附参考答案)
- 第四届急诊急救护理专科护士培训班试题
- 职业性急性硫化氢中毒的护理
- 守护青春防线-初一防性侵主题班会教案
- 盐亭县2025年下半年公开考核招聘高中教师历年真题汇编附答案解析
- 2026年资料员之资料员专业管理实务考试题库200道及参考答案一套
- 2026年房地产经纪协理之房地产经纪操作实务考试题库及参考答案【b卷】
- 2025北京丰台教委第二批人才引进(含博士后出站人员)招聘工作人员23人历年真题汇编带答案解析
- 中国电科电子科学研究院2026届校园招聘备考题库附答案
- 2025四川大学华西第二医院招聘外聘门诊医师备考题库附答案解析
- T-NAHIEM 98-2023 病理科(中心)建设与配置标准
- 核与辐射危害及防护课件
- 漂流景区营销方案
- 中华武术知识讲座
- 高速铁路轨道结构高速铁路轨道施工维护课件
- 必修《苏武传》林莉莎备课
- 全国优质课一等奖新人教部编版小学六年级上册道德与法治《权力受到制约和监督》公开课课件(内嵌视频)
- 读书分享会冰心《超人》ppt
- 医疗机构高警示药品风险管理规范(2023版)
- 国家开放大学《财政与金融(农)》形考任务1-4参考答案
- 边坡脚手架计算书
评论
0/150
提交评论