构件化软件技术基于XML的构件组装平台分析

上传人:re****.1 文档编号:495352733 上传时间:2023-11-03 格式:DOC 页数:19 大小:89.50KB
返回 下载 相关 举报
构件化软件技术基于XML的构件组装平台分析_第1页
第1页 / 共19页
构件化软件技术基于XML的构件组装平台分析_第2页
第2页 / 共19页
构件化软件技术基于XML的构件组装平台分析_第3页
第3页 / 共19页
构件化软件技术基于XML的构件组装平台分析_第4页
第4页 / 共19页
构件化软件技术基于XML的构件组装平台分析_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《构件化软件技术基于XML的构件组装平台分析》由会员分享,可在线阅读,更多相关《构件化软件技术基于XML的构件组装平台分析(19页珍藏版)》请在金锄头文库上搜索。

1、-摘要: 构件组装技术是支持软件复用的核心技术,构件组装平台的使用将系统开发的重点从程序设计转移到已有构件的选取、组装和部署;在构件模型的支持下,通过复用已有的构件,软件开发者可以“即插即用地快速构造应用系统;在此,给出了一个基于*ML的构件组装平台的设计与描述,并且根据构件自身特点和构件组装的需要自定义了基于*ML的软件构造描述(SAD),其中包括基于*ML的构件描述、连接子描述和组装构造描述,这些描述对连接子生成与构件组装提供了根本的信息支持。关键字: *ML, 构件化Abstract: ponent assembly technology is the core technology o

2、f software reuse, ponent assembly platform successfully fulfills the main points of system developing, such as ponent searching, ponent assembly and ponent transforming instead of program design. Under sustaining of ponent model, reusing ponent, software developer could quickly construct application

3、 system as plug and play. A design method and description of a *ML-based ponent assembly platform are proposed here. According to ponent-self character and requirement of ponent assembly, a software architecture description: SAD (includes ponent description, connector description and assembly descri

4、ption) is defined in detail, which gives basic informational support for connector building and ponent assembly.Key words: ponent assembly; connector; ponent assembly description目 录1构件分类、粒度划分、业务模型11.1 构件分类11.2粒度划分21.3业务模型之间的关系32 典型构件模型技术32.1构件的模型32.2基于CORBA的CCM技术42.3E技术53 典型构件模型技术及开展展望74构件组装流程总体设计74

5、.1 用户需求的输入分析84.2构件搜索与获取84.3构件匹配选择94.4构件组装94.5程序校验和执行105软件构造描述SAD105.1基于*ML的构件描述115.2 基于*ML的连接子描述115.3 基于*ML的组装构造描述126组装平台的实现16. z-基于*ML的构件组装平台的设计与实现1构件分类、粒度划分、业务模型1.1 构件分类对大量构件进展分类有三个好处:便于组织管理、方便查询和辅助理解.构件分类是建立和维护构件目录信息的活动,构件的检索方法依赖于构件的表示和分类。目前有很多构件的分类和检索方法。从构件表示出发可分为人工智能方法、超文本方法和信息科学方法三类;而根据复杂度和检索效

6、果的不同则可以分为基于文本、基于词法描述和基于规约的编码和检索三类。信息科学方法是软件复用工程中应用较为成功的一类,并且以枚举、刻面、属性值-关键词几种方法较为常见,其中刻面分类方法能够表达丰富的构件信息,为人关注。构件的分类方式有多种,为了检索和重用构件时更好的了解构件的性质,我们可以将构件分类如下:(1) 根据构件的复用方式,分为两种构件。一种是黑匣构件,我们不需要知道其内部是怎么工作,只需从外部使用它,能够到达即插即用;一种是白匣构件,需要经过修改才能重用;(2) 根据使用的*围,分为通用构件和专用构件。(3) 根据构件颗粒度的大小,分为小型构件,一般为根本数据构造类构件,如:窗口、按钮

7、、菜单等;中型构件,具体指一些功能构建,如:录入、查询、删除等;大型构件,一般都是系统级构件,如一些系统框架等;(4) 根据功能用途,分为系统构件,实在整个构件集成环境和运行环境都使用的构件;支撑构件,是在构件集成环境、构件库管理系统中使用的构件;领域构建爱你,是为专用领域开发的构件;5根据构件的构造,分为原子构件和组合构件。1.1.1 枚举分类通过定义一个层次构造来对构件进展分类。构件库中的可复用构件按照*种标准被分成了假设干个大类,每个大类中的构件再分成假设干个小类,这样就形成了一个构件分类的层次构造。层次构造的最低层罗列的就是实际的构件。1.1.2 刻面分类一个刻面描述构件*一个方面的特

8、征。刻面分类则是从不同的侧面对构件进展分类,每一种分类方式称为一个刻面。不同的刻面根据其重要性可以设置不同的优先级。对构件的每个刻面赋予相应的值,用以描述该构件。刻面分类具有较好的灵活性,易于参加新的刻面值,因此刻面分类比枚举分类更易于扩展和修改。支持多重观点对构件进展分类,例如从构件的应用领域、构件所描述的对象、构件的观点和编程语言等不同的方式来分类。每一种分类方式称为一个刻面。每个刻面把构件集合划分为一个子集,各刻面所划分的子集形成一些较小的交集。检索一个构件时,给出一组刻面值,将确定一组子集合,在这些子集合的交集中,确认所需的构件。构件可用属性描述,例如构件类型、开发单位、作者、提交日期

9、等属性。检索时通过构件的属性可以缩小搜索*围。刻面和属性都不涉及构件内部实现,只是为了便于构件的管理、检索和使用。如果把构件比作一只箱子,其内容如同箱子中装的东西,刻面和属性则如同箱子外边的标签。刻面分类法可以看作层次分类法的扩大。1.1.3 属性-值分类该方法首先是为构件库中的所有构件定义一组属性,并赋予相应的属性值。开发人员通过指定一组属性值在构件库中对构件进展检索。该分类方法与刻面分类方法有几点不同之处:属性的数量没有限制,而刻面描述一般限制在7或8个刻面;属性没有优先级,而刻面根据其重要程度,有相应的优先级。 1.2粒度划分构件粒度是软件构件的一个重要属性,将粒度引入软件领域,是因为粒

10、度可以用来衡量构件的规模,并在一定程度上影响着构件的可复用性。粒度过大,灵活性小,难以实现复用,粒度过小,管理本钱提升,使得复用性也很难改善。构件的粒度可以分为粗粒度、中等粒度、细粒度。对于粗粒度的构件来讲,往往含有非常复杂的业务逻辑,比方提供数据、数据构造、数据定义等功能的构件。中等粒度的构件是由细粒度的构件组成的,其中含有一些不复杂却很特殊的业务逻辑。细粒度构件往往是有一些RAD 工具提供的,它具有很清晰的逻辑构造,例如JAVA 的GUI 组件,Active* 和JavaBeans 等。1.3业务模型之间的关系构件是从业务模型映射得到的。不稳定的业务模型需要频繁发生变化,与之相对应的构件要

11、能够包容这种变化,即构件要能够在频繁变化的业务需求和相对稳定的软件系统之间建立缓冲,防止因业务的频繁变化而导致软件系统的频繁变化。这就需要构件本身应具备适应变化的能力,即构件能够通过对自身的配置和重构来满足不同的业务需求,但不会或极少影响到软件系统的变化。如果业务模型的这种变化不能通过*种抽象的形式描述出来并以可配置的形式封装在构件中,就不得不降低构件的粒度,将这些变化交由构件复用人员针对具体的复用环境在复用过程中去完成,否则,构件将不得不面临着因日后频繁重构而带来的巨大本钱。由此可知,构件的粒度与构件所实现的业务模型的稳定性密切相关。模型越稳定,可能发生变化的时机就越少,则相应的构件所需要包

12、容的变化就越少,构件的粒度就可以越大。反之,模型越不稳定,模型的变化就越多,构件要包容这些变化的难度就越大,就不得不将该模型分解为假设干个粒度较小的构件。因此,对稳定的业务模型,可直接映射为大粒度构件;对不稳定的业务模型,通过对其进展分解,得到一组子业务模型,并将稳定的子业务元素映射为构件,其它不稳定元素继续进展分解,直到所有的业务元素都映射为构件为止。2 典型构件模型技术2.1构件的模型软件构件模型是对软件构件本质特征的抽象描述,是对开发可重用软件构件和构件之间相互通信的一组标准的描述,它一般规定了创立和实现构件的知道原则,构件借口的构造,构件与软件架构及构件与构件间的交互机制。构件模型主要

13、有构件和容器两个局部组成。构件模型分为两类:客户端构件模型和效劳器端构件模型。建立构件模型要考虑的几个要素:表达能力、简单性、语言无关性、一致性、完备性、可扩展性。对象模型、构件技术和Web技术的融合彻底改变了软件的构造方法。在分布式系统中,对象被用来表示分布的、可移动的、可通信的实体;构件化的软件开发方法使对象被加在网络上,到达跨平台的互操作和高的可伸缩性;Web技术使应用对象可以在Internet这个开放的计算平台上移动。这是一个全新的计算模式,核心是可互操作的对象,即软件对象间可透明地进展相互通信,并且地位对等地使用对方的效劳,而不管这些对象是处于同一编址空间,还是不同的编址空间,或是根

14、本不同的机器上。分布式构件技术主要有三种:对象管理组织OMG的基于公共对象请求代理构造(CORBA)的CCM,SUN公司的E和Microsoft公司的/D/+。2.2基于CORBA的CCM技术CORBA是对象管理小组(OMG)的一个规*,它的底层和核心局部是对象请求代理(ORB)。从*种意义上说,CORBA是“软件总线。CORBA的实质是RPC与面向对象技术的有机结合。在CORBA中,每一个构件是一个对象,有一个基于面向对象的接口,内部代码实现可以是OO或非OO的语言,总线上的对象能够被任何其它对象所使用。CORBA提供了接口语言定义语言(IDL)到C,C+,Java,COBOL等语言的映射机

15、制IDL编译器,它可以生成效劳器方的Skeleton和客户方Stub代码,通过分别与客户端和效劳器端的联编即可得到效劳方和客户方的程序。对一个CORBA客户机来说,效劳器的位置是透明的,客户机通过接口与效劳器构件进展通信。CORBA同时提供了一系列的公共效劳规*,其中包括名字效劳、永久对象效劳、生命周期效劳、事务处理效劳、对象事件效劳和平安效劳等,它们相当于一类用于企业级计算的公共构件。最新的CORBA规*主要包含以下内容:ORB核心、OMG界面定义语言、语言映射、存根(Stub)和框架(Skele-ton)、动态调用和仓库、对象适配器和ORB之间的互操作。CORBA的构造:IDL语言;ORB核心;客户程序;对象实现。2.3E技术SUN公司的E是一种基于构件的开发模型,它是Java效劳器端效劳框架的规*。E详细地定义了一个可以方便地部署Java构件的效劳框架模型,用于创立可伸缩、多层次、跨平台、分布式的应用,并可创立具有动态扩展性的效劳器端的应用。E效劳器实现了对E对象构件的管理,并提供对系统效劳的。E效劳器也可以提供其它软件接口标准,如优化的数据库接口,对CORBA效劳的,对SSL3.0的支持等。E以构件的形式组织效劳器E的构件实现仅需考虑应用需求,其系统级效劳诸如事务管理、平安性、构件生命周期和线程等,都是通过E效劳器自动进展管理的。E的体系构

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号