基于构件的网构软件组装技术分析

时间:2022-08-22 02:16:51

基于构件的网构软件组装技术分析

【摘 要】随着网路技术的发展,软件Agent、Web Service、CCM、云计算等技术非常流行。用户在不断追求在Internet环境下的新体验,相对传统的软件运行平台逐渐由静态封闭走向开放、动态和多变。本文针对网构软件这一概念的提出,对相应的新的软件开发方法进行具体详细分析,全面分析了软件发展的全新模式。基于构件的可复用操作组装技术的开发应用,较好的适应这种模式的转变。面向构件的网构软件组装技术是目前软件研究的热点,通过对于这种技术的深刻分析,将对网构软件的开发具有重要意义。

【关键词】构件;网构软件;技术支持;分析

1.前言

从技术角度来讲,网构软件是对传统软件的延伸,网络环境特点与用户个性化体验这两大因素决定了网构软件开发方法不再单一,开发结果不再一次成型。如同一个新鲜的有机生物体,能够感知外部环境的变化,根据各种信息指标,实现静态调整和动态演化。面临着在开发方法、开发过程和技术支持三方面的挑战。基于面向对象技术而发展起来的构件技术,为网构软件开发提供了技术支持。

2.网构软件

2.1 定义

通常来讲网构软件是传统软件在Inter-

net平台下的延伸,是开放和动态网络条件下的系统的一种抽象描述,此类软件不仅由一组分布在网络环境下各个独立自主的节点以及具有主体化特征的软件实体组成,还包括用于支持这些软件实体进行协同互动的连接子;通过体系框架演化的方法来应对外部条件变化,内部程序适应、调整,从而达到能够在适宜的时间与空间,准确捕捉信息变化,以满足体验功能和服务质量的需求目标。

2.2 区别于传统软件的特点

(1)自主性

传统软件具有高度的依赖性,是通过面向对象的设计方法,而网构软件系统中的软件实体具有高度的独立、适应性。尤其是构件技术的应用,使其摆脱了传统软件继承的特点。

(2)协同性

指支持这些软件实体进行协同互动的连接子将网构软件系统中实体和实体之间实现静态链接与动态组合条件下的互动。协同性改变了传统模式的单一静态模式。

(3)反应性

指网构软件根据数据变化准确捕捉信息、内部调整的特性;是在网络条件下该软件的重大优势。

(4)演化性

指网构软件实现随时更新调整在线烟花的特点。

(5)多态性

指在动态、开放的Internet环境下适应个性化的用户需求特点,区别于传统系统的孤立单一特点。

3.构件

3.1 定义

广义上分析,构件包括模块、软件框架、体系结构、设计模式等。从要素角度分析构件(Component)作为一个对象,包括定义(代码)和接口。程序员首先对对象进行明确定义规约,遵守一致的接口。二进制复用特性使得软件可复利用。

3.2 特点

自描述、可定制、可集成等特点使得它能够与第三方软件无缝结合,根据信息,能够识别其属性、方法和事件。软件构件的属性只能通过控制面板来设置,允许提供图形方式环境,同时,构件必须可以被编程语言直接控制。在连接机方面,构件必须能产生事件或者具有让程序员从语义上实现相互连接的其他机制。构件技术可以不需要重新编译,也不需要源代码并且不局限于某一种编程语言。构件与纯面向对象设计不同,由于是建立在接口而不是源代码级别的复用之上,对象对软件的复用可以不通过继承得到实现,产生这种特有的二进制复用过程。虽然软件构件必须遵守一致的接口,但是它们的内部实现是完全自动的。因此,可以用过程语言和面向对象语言创建构件也可以从代码级访问构件的环境连接,这个特点使得软件构件可以在非可视化开发项目中使用。

3.3 分类

构件的分类方式有多种,可以根据软件复用来进行分类,分为广义构件、狭义构件。例如分析文档、程序设计、代码实现用于复用的软件实体都在广义构件范围。专指二进制代码的程序属于狭义类构件。下面根据构件的两个层次作如下分类:

3.3.1 粗粒度构件

像基于Windows平台开发的各种应用软件,瑞星杀毒软件、金山词霸、Microsoft Office、Realone Player、FlashGet等,这些应用程序的特点是可以直接安装使用,可以通过控制面板或者自带的卸载程序将其卸载。这种即插即用的软件因为构件跨平台能力不强,不能直接从Windows平台嫁接其它平台;相对于细粒度构件复用能力低。

3.3.2 细粒度构件

包括通用构件和专用构件,指的是可以用来组装应用程序的构件,基于构件的软件开发讨论的就是这种构件。

4.面向构件的网构软件开发过程

4.1 构件选取

构件选取是将过去开发的组件按照适合新系统的原则选取出来的过程。上文中,通过对构件两个层次的对比,我们知道,细粒度构件必然是我们选择的方向。

构件选取分为两个阶段,包括发现阶段和评估阶段。

在发现阶段,构件将会被明确属性,即规定其功能和接口使用方法。这些属性还应包括一些不能孤立看待的要求,如构件的可信任性、可扩展性等。

在评估测试阶段,可以使用Standards Organization(ISO)评估手段,以及IEEE的特定域的构件评价技术等。目前,这些评估手段都比较成熟。然而,构件评价体系带有一定的不确定信息,这来源于不宁缺的比较标准和不确定的期望,所以程序员在选择评估方法时要依据实际情况。否则对构件的选取,将存在较大偏差。

4.2 调整

构件在应用于新系统之前必须进行调整,由于单个的构件有着明确的使用目标,基于不同的情景假设,要组合使用。标准做法再用黑、白、灰盒法,即用户将修改构件的源码应用到构件相互作用中来的白盒法;户可以得到构件的二进制可执行形式,但构件不提供扩展机制的黑盒法以及源码不可以修改,但提供了构件自身的扩展机制的灰盒法。其中,白盒法比适用于系统升级的调整方案。

4.3 组装

构件与构件之间组合形成系统框架,每个构件做成系统的功能模块,通常做法是将原子构件尽量绑定成较大的复合构件同时依据构件的接口进行装配。

为了消除代码之间不兼容的问题,为系统建立统一异常处理机制。组装构件时,需要编写粘接代码。

4.4 系统升级

许多人认为单一的对构件进行升级服务,就会形成系统的扩展和升级。结果是,运行缓慢、系统崩溃等现象频发。当系统出现问题后,设立补丁来修改错误,运转一段时间,又会出现错误,这种问题就是因为没有从系统的角度,即局部与整体的关系角度出发。构件组装成系统,构件就变成一个模块,粗要修改。修改过后还需进行孤立的功能测试和整合后的系统测试。

5.基于构件的网构软件特点分析

5.1 网构软件的构建模型方面

提出了自主构件理论,同时建立基于信任机制的网构软件的构件选择模型。首先,自主构件保留传统构件特性,同时具有agent的自主行为能力;其次,EBDI结构的模型表示构件,利用动态绑定关系解释了自适应和动态演化特征,自主构件能够通过感知环境变化从而在行为上进行调整。并且自主构件在面对非预设的环境变化时,即超出行为规则范畴时,不能进行行为的自推理,也就不能产生出可行的行为策略。

5.2 网构软件开发方法方面

通过以构件作为实体架构系统,用软件中间体作为网构软件的技术支撑。该方法反映了网构软件在问题空间实现自底向上、从无序到有序的构造过程,从软件体系结构角度分析和设计软件的自适应。在构件模型与支撑机制方面做到无缝结合。

6.几点补充

目前我国构件的网构软件组合技术仍然处在应用的层面上,并没有从方法学的角度、语义学的角度发展成规范的构建机制,如下几点补充虽是整个技术中的小部分,但依然进一步研究

6.1 提高动态演化性

动态演化性是网构软件的优势,保证系统运转不中断、不延迟,在网络系统、管制系统、交易系统中应用广泛。可以通过建立模型提供具体实施方案,模型中集运行、监控、演化于一体。每一个部分,功能相对独立,引入构件、连接器,监控中心应当提供信息,辅助运行;在演化算法方面,应当考虑如何进一步完善一致性检查的可靠性,当运行出现错误提示时,引入回滚机制帮助恢复。

6.2 XML技术应用

我们知道,基于构件的软件开发技术中的一项关键技术就是异构构件技术。结合了已知的构建模型和组装方式,通过搭建异构模型,用XML语言对过程进行完整描述,这样一来,可以有效降低异构性,用户可以实现对异构构件的透明访问,从而达到模块兼容的目的。

6.3 中间件支撑机制

构建的存在必须以构架为基础,中间件虽然在国际上没有统一的定义,但其功能是明确的,是指一种通过抽取分布系统构造中的共性问题,封装这些共性问题的解决机制。对外部环境提供简洁统一的接口,目的是减少程序人员在解决共性问题时的工作量。

7.结语

网构软件将是开在协同环境中的一种新型软件形态。而基于构件组装将是实现网构软件有效协同的重要手段,有效对构件组装,避免不兼容问题的发生,进行可信任性分析是系统调试中核心问题。研究应当重点考虑可靠性建模等方式对构件的使用域、连接方式、结构等方面进行分析,达到在开放、动态环境下网构软件可靠运行。

参考文献:

[1]曾广周,孙红梅.基于软构件的软件开发方法研究[J].计算机研究与发展,1998,35(11):991-995.

[2]吕建,马晓星,陶先平等,网构软件的研究与发展[J].中国科学,E辑,2006,36(10):1037-1080.

[3]Dowling J,Cahill V.Self-Managed decentralised sysems using k-components and collaborative reinforcement learningp[C].//Proceedings of the 1st ACM SIGSOFT Workshop on Self-managed Systems.New York:ACM Press,2004:39-43.

[4]R.Otte,P.Patrick,M.Roy著.李师贤等译.CORBA教程[M].北京:清华大学出版社,2009.

[5]吕建,陶先平,马晓星,胡昊,徐锋,曹春.基于Agent的网构软件模型研究[J].中国科学E辑,2005,12.

上一篇:延安红色旅游营销策略分析 下一篇:以终身教育理念引领高等教育改革