构件开发标准抉择

时间:2022-09-09 01:43:25

构件开发标准抉择

构件标准定义了构件的本质属性,规定了构件接口的结构以及构件之间、构件与构件基础设施之间的交互机制。现有的构件模型一般认为构件由构件接口和构件内容两部分组成,构件接口是为成功复用该软件实体而需要提供给外界的所有信息,包括构件向外提供和请求的服务、构件的自描述信息和定制信息、构件的初始化、实例化和永久化方法以及构件对目标复用环境的依赖和构件组装信息等。

构件内容就是直接复用的软件实体,它可以具有源代码、二进制码、文档、分析设计模型和脚本等不同的物理形态,并遵从一定的格式标准。

构件实现标准

目前在学术界和产业界出现了多种构件模型或构件的实现标准。在产业界,成熟的构件模型有OMG的CORBA、微软的COM/DCOM/COM+和Sun的JavaBeans/EJB,它们三足鼎立,构成了实现级构件模型工业标准的竞争与互操作并存的格局。Web服务的出现为构件间的交互提供了一种新的途径。

EJB的JavaBeans根据构件设计模式设计构件(或Bean)。设计模式定义了命名机制和构件之间的交互协议。但是JavaBeans构件模型只给出了软件构件有的语法接口,并没有指出构件之间如何绑定生成应用的规则。它指出了多个bean之间如何交互信息,但没有给出信息交互的语义规则或构件组装的topology。JavaBean之间直接交互,限制了组装的可扩展性。

CORBA构件模型是OMG组织制定的一个用于开发和配置分布式应用的服务器端中间件模型规范。CORBA构件模型的底层结构为ORB。CORBA构件可以通过IDL进行描述,构件的定义基本上就是接口定义的扩展。CORBA的特点是大而全,互操作性和开放性非常好。但它庞大而复杂,并且技术和标准的更新相对较慢。CORBA注重对象封装规范和通信协议,但缺乏表达对象“做什么”的能力,使得语义只能以文档等媒介作为载体,或反映在CBD的活动中,因而产生的非形式化和歧义性,不利于构件复用的自动化和工程化。目前CORBA也没有为即插即用的互操作指定一个市场接受的构件模型。

COM(Component Object Model)是微软公司提出的构件组装框架的标准以及实现。它允许开发者利用COM通讯机制来组装不同开发商提供的可复用构件以建造软件系统。COM定义了一个应用程序编程接口(API),该接口允许创建构件以及构件之间的互操作。但是,为了进行互操作,所有构件必须遵守微软给出的一个二进制结构标准。如果构件遵守这一标准,那么用不同语言开发的构件就能够进行互操作。

DCOM是COM的扩充,它允许基于网络的构件互操作。COM进程可以在同一机器的不同地址空间中运行,而DCOM允许进程在网络上进行分布。在DCOM的帮助下,不同平台上的构件可以互操作。

因地制宜选择标准

目前软件企业的重要问题有:软件企业工程化管理水平偏低,难以适应竞争和发展的要求;缺乏核心技术,缺乏拳头产品;出口规模小,产品缺乏国际市场竞争力;软件人才结构不合理,知识更新慢,不适应国际市场要求;软件生产没有工业化。构件化开发技术将成为解决企业困境的关键技术。

在选择构件标准时,软件企业应根据本企业的服务领域和技术路线选择自己的构件标准,同时在目前Internet、电信网、电视网等逐步融合的形式下,技术的跨平台性也是软件企业在采用构件标准时需要考虑的重要问题,在企业发展的不同阶段可能采用不同的标准,也可能同时采用多种构件标准,这由市场需求和本企业的能力所决定。这些构件之间的交互目前已经不是什么问题,如目前的Web服务技术,可以实现基于不同标准的构件间的通信,随着技术的发展可能会有更多的技术实现构件间的调用、集成问题。

企业在构件化开发时,所面临的主要问题有:针对目前的企业应用方向和研究领域如何进行构件开发?采用什么构件标准?如何建立企业自己的软件构件库?

对这些问题我国和一些大学、研究机构都在试图努力解决。如由国家信息产业部组织的“国家软件构件标准委员会”,有许多企业、大学、研究结构共同参与指定我国的软件构件标准,为各领域的构件标准、构件库建设提供指导,最终实现各企业间构件的共享和各构件库的互操作。清华大学计算机系知识工程研究室作为委员会成员参加了标准的制定工作,目前也在建立自己的构件库,其目的之一也是为企业的软件构件化工作提供服务和帮助。所以企业在进行构件化工作时,要与这些结构进行交流以取得一些经验和教训,以实现企业的快速构件化生产。同时保证自己的构件能够与其他企业已经开发的构件进行互通与互操作。

随着软件构件技术的发展,软件企业将会出现一些产品分工,如由专门生产领域、行业构件的企业,有专门采用构件组装方式为最终用户提供应用系统的企业,有提供构件库管理和组装工具的企业,有提供构件部署运行环境的企业,另外有政府、国家提供的一些公共构件库等。但企业要生存要发展,不能等待所有以上的工作完成以后在进行自己的工作,各软件企业在进行目前工作的同时,应该有意识地积累自己的构件,关注国家的各种有关构件的标准,与国家标准制定单位(如清华、北大、北航等)保持联系,使企业的开发向构件化平滑过渡。

软件构件和复用技术是软件企业的未来之路和希望之路,它将提高企业工程化管理能力,推进软件产品的研发和管理与国际接轨,真正实现软件的工业化,由构件生产企业、构件组装企业、软件服务企业的产业链将会形成。

上一篇:协同OA 效率之源 下一篇:建设统一的运营管理系统