论文部分内容阅读
【摘 要】基于CBSE技术的发展,在SOFA、Fractal等学术型构件模型中对各种先进功能与特性的支持也较为成熟,但在主流工业构件模型的技术文档中鲜有对这些先进技术的应用。本文分析了几种学术模型的性能与发展,并以两种较为成熟的学术构件模型SOFA、Fractal为基础,对比它们与主流工业模型之间的差异并分析其原因,对构件技术更进一步的发展进行展望,以期促使CBSE技术得到更好更快的发展。
【关键词】CBSE 学术模型 工业模型
一、引言
在国外以可重用构件组成大规模的企业应用的方式已发展为主流的软件技术。构件通常被认为由黑盒的功能实现及外部接口组成。比较其他的软件方法,基于构件的方法可以快速,灵活的建立软件应用,代码重用性高,实用性强。构件模型作为CBSE的核心技术,在国内外构件技术的研究发展中,都起到了十分重要的作用。
本文将对部分构件模型发展简要介绍的基础上,对在功能与实现上都有一定突出之处的SOFA与Fractal两种学术构件模型与主流工业模型进行一些比较分析。
二、构件模型的分类
构件由不同的认知角度有多种定义,普遍接受的一种是:构件是能够提供相对独立服务的计算单元,具有规范的接口和显式的环境依赖,且能够被第三方组合。结合已有的研究文献,我们可以看出构件模型研究的两个关键问题在于内部实现与外部接口两部分,所以我们基于这两方面实现技术的不同,可以将构件模型按接口的不同类型与构件不同的组合方式进行分类。此外从构件生产与组装的角度看,构件可模型以分为参考模型,描述模型以及实现模型等三类。我们还可以从构件模型在学术界和产业界不同的地位简单地划分为学术模型和工业模型,当然这个划分只是说明该模型在某一应用领域作用更为突出。构件模型的分类方法还有很多,在本文中对这三种构件模型的分类方法有涉及之处。在学术模型中我们主要涉及经典的SOFA、SOFA2.0、Fractal等模型;在工业模型领域,由公认的CORBA,EJB作为代表。
三、学术构件模型
学术模型的发展与研究最终也是为工业的发展而努力。经典的工业模型如EJB,CCM等基于水平结构的构件模型,成熟性高,运行稳定,但对许多先进特性支持不足。相对来说在学术模型研究中,构件模型通常提供先进的特性,但事物的影响都具有多面性,功能的先进也一定程度上导致了结构复杂性的增长,实现难度的增加以及运行效率的降低。
在SOFA和Fractal这两种相似的学术构件模型中,都一定程度上实现了动态配置,并进一步丰富了构件与连接子的属性。事实上,Fractal技术标准中并没有连接子的定义,它定义了一种只用于控制逻辑,实现类似连接子功能的构件。Fractal模型的接口有内外之分,限制构件内部不与构件外部直接通信。这种模型在运行时系统的实现中,控制逻辑的构件与普通构件间易于混淆,框架复杂,配置与调试都比较复杂,系统运行的稳定程度也不高。它还利用ADL对其架构进行形式化描述,对动态配置支持良好,并分别用JAVA、C++等多种代码实现了运行时的环境。SOFA基于连接子的通信,复合构件的内部子构件关系是一种可视状态。它用自己定义的ADL描述其框架,但对动态配置的支持仅限于单个构件的更新,不支持框架的动态改变,对通信方式的支持也不够多样化。近几年在SOFA构件模型的发展中,研究出升级版SOFA2.0构件模型,它采取了元模型的策略,对框架的动态演化也支持到基于模板的程度,通信方式有更丰富的支持,对连接子的控制逻辑划分更清楚,运行时系统也更稳定高效。SOFA及其升级版SOFA2.0都有多种运行时环境的支持。
四、与工业构件模型的比较
构件模型对于构件间的连接通信,最初表现在功能接口的显示描述上,EJB是一种只提供功能接口的水平层次构件模型。这种仅仅显示功能接口的特征对构件间组合时所需要的信息提供不足,对开发人员的使用支持不够好。在CORBA技术的发展中,从仅显示提供功能接口发展到不仅需求接口显式描述,而且升级到一种基于总线的分布式结构,独立于软硬件平台以及实现语言,实现了构件的即插即用。
在学术模型中,构件接口的描述信息比工业模型的更丰富。第三小节中提到构件的分层结构带来了优点的同时使构件间的通信也更为复杂,事实上在SOFA2.0中针对这一情况对复合构件之间及不同层次间的通信都有限制。SOFA2.0中使用连接子实现接口适配和数据转换等功能,使表面上并不兼容的构件也能进行组合。Fractal中也是采用了类似功能。在学术模型这种采用连接子的分层结构中,基于连接子的通信可以更容易的对不同类型的构件间通信进行支持,只用在接口上实现适配即可,不必对构件本身进行改动(而不只是传统的方法调用,共享内存等)。在SOFA与Fractal模型中基于连接子的功能,还实现了对构件组合与通信的验证。同时学术构件的功能逻辑与自身控制逻辑更加解耦,同时也拥有了更强的扩展性。结构复杂,功能丰富(如动态配置等)的同时也使应用系统的实现相对更复杂一些。
五、结束语
学术的发展由工业需求促进,学术研究进而促进工业进步,两者之间是相辅相成的关系。本文通过分析国外较为热点的SOFA、Fractal两种学术模型,与当前主流工业模型相对比,分析两类模型上的先进性与不足,为构件的进一步发展起到铺垫作用。
参考文献:
[1]吕建,马晓星,陶先平,徐锋,胡昊.网构软件的研究与进展.中国科学E辑,2006,
[2]Petr Hnětynka1, Franti?ek Plá?il1,Dynamic Reconfiguration and Access to Services in Hierarchical Component Models.
[3] 陈波,李舟军,陈火旺.构件模型研究综述.计算机工程与科学.2008(30)
【关键词】CBSE 学术模型 工业模型
一、引言
在国外以可重用构件组成大规模的企业应用的方式已发展为主流的软件技术。构件通常被认为由黑盒的功能实现及外部接口组成。比较其他的软件方法,基于构件的方法可以快速,灵活的建立软件应用,代码重用性高,实用性强。构件模型作为CBSE的核心技术,在国内外构件技术的研究发展中,都起到了十分重要的作用。
本文将对部分构件模型发展简要介绍的基础上,对在功能与实现上都有一定突出之处的SOFA与Fractal两种学术构件模型与主流工业模型进行一些比较分析。
二、构件模型的分类
构件由不同的认知角度有多种定义,普遍接受的一种是:构件是能够提供相对独立服务的计算单元,具有规范的接口和显式的环境依赖,且能够被第三方组合。结合已有的研究文献,我们可以看出构件模型研究的两个关键问题在于内部实现与外部接口两部分,所以我们基于这两方面实现技术的不同,可以将构件模型按接口的不同类型与构件不同的组合方式进行分类。此外从构件生产与组装的角度看,构件可模型以分为参考模型,描述模型以及实现模型等三类。我们还可以从构件模型在学术界和产业界不同的地位简单地划分为学术模型和工业模型,当然这个划分只是说明该模型在某一应用领域作用更为突出。构件模型的分类方法还有很多,在本文中对这三种构件模型的分类方法有涉及之处。在学术模型中我们主要涉及经典的SOFA、SOFA2.0、Fractal等模型;在工业模型领域,由公认的CORBA,EJB作为代表。
三、学术构件模型
学术模型的发展与研究最终也是为工业的发展而努力。经典的工业模型如EJB,CCM等基于水平结构的构件模型,成熟性高,运行稳定,但对许多先进特性支持不足。相对来说在学术模型研究中,构件模型通常提供先进的特性,但事物的影响都具有多面性,功能的先进也一定程度上导致了结构复杂性的增长,实现难度的增加以及运行效率的降低。
在SOFA和Fractal这两种相似的学术构件模型中,都一定程度上实现了动态配置,并进一步丰富了构件与连接子的属性。事实上,Fractal技术标准中并没有连接子的定义,它定义了一种只用于控制逻辑,实现类似连接子功能的构件。Fractal模型的接口有内外之分,限制构件内部不与构件外部直接通信。这种模型在运行时系统的实现中,控制逻辑的构件与普通构件间易于混淆,框架复杂,配置与调试都比较复杂,系统运行的稳定程度也不高。它还利用ADL对其架构进行形式化描述,对动态配置支持良好,并分别用JAVA、C++等多种代码实现了运行时的环境。SOFA基于连接子的通信,复合构件的内部子构件关系是一种可视状态。它用自己定义的ADL描述其框架,但对动态配置的支持仅限于单个构件的更新,不支持框架的动态改变,对通信方式的支持也不够多样化。近几年在SOFA构件模型的发展中,研究出升级版SOFA2.0构件模型,它采取了元模型的策略,对框架的动态演化也支持到基于模板的程度,通信方式有更丰富的支持,对连接子的控制逻辑划分更清楚,运行时系统也更稳定高效。SOFA及其升级版SOFA2.0都有多种运行时环境的支持。
四、与工业构件模型的比较
构件模型对于构件间的连接通信,最初表现在功能接口的显示描述上,EJB是一种只提供功能接口的水平层次构件模型。这种仅仅显示功能接口的特征对构件间组合时所需要的信息提供不足,对开发人员的使用支持不够好。在CORBA技术的发展中,从仅显示提供功能接口发展到不仅需求接口显式描述,而且升级到一种基于总线的分布式结构,独立于软硬件平台以及实现语言,实现了构件的即插即用。
在学术模型中,构件接口的描述信息比工业模型的更丰富。第三小节中提到构件的分层结构带来了优点的同时使构件间的通信也更为复杂,事实上在SOFA2.0中针对这一情况对复合构件之间及不同层次间的通信都有限制。SOFA2.0中使用连接子实现接口适配和数据转换等功能,使表面上并不兼容的构件也能进行组合。Fractal中也是采用了类似功能。在学术模型这种采用连接子的分层结构中,基于连接子的通信可以更容易的对不同类型的构件间通信进行支持,只用在接口上实现适配即可,不必对构件本身进行改动(而不只是传统的方法调用,共享内存等)。在SOFA与Fractal模型中基于连接子的功能,还实现了对构件组合与通信的验证。同时学术构件的功能逻辑与自身控制逻辑更加解耦,同时也拥有了更强的扩展性。结构复杂,功能丰富(如动态配置等)的同时也使应用系统的实现相对更复杂一些。
五、结束语
学术的发展由工业需求促进,学术研究进而促进工业进步,两者之间是相辅相成的关系。本文通过分析国外较为热点的SOFA、Fractal两种学术模型,与当前主流工业模型相对比,分析两类模型上的先进性与不足,为构件的进一步发展起到铺垫作用。
参考文献:
[1]吕建,马晓星,陶先平,徐锋,胡昊.网构软件的研究与进展.中国科学E辑,2006,
[2]Petr Hnětynka1, Franti?ek Plá?il1,Dynamic Reconfiguration and Access to Services in Hierarchical Component Models.
[3] 陈波,李舟军,陈火旺.构件模型研究综述.计算机工程与科学.2008(30)