构件技术是指通过组装一系列可复用的软件构件来构造
软件系统的软件技术。通过运用构件技术,开发人员可以有效的进行
软件复用,减少重复开发,缩短软件的开发时间,降低软件的开发成本。
历史渊源
1968年NATO软件工程会议,Mcllroy在提交会议的论文《大量生产的软件构件》中,提出了“软件组装生产线”的思想。从那以后,采用构件技术实现软件复用,采用“搭积木”的方式生产软件,成为软件开发人员长期的梦想。
软件复用是指重复使用“为了复用目的而设计的软件”的过程。就软件开发而言,
软件复用包括:早期的函数复用、
面向对象言语中的类的复用,以及互联网时代的完整软件体系的构件复用。
有效的
软件复用是可以提高软件开发的效率和质量。建立在构件复用基础上的
软件复用将会带来极大的价值,《Software Reuse》指出很多公司通过复用取得的成就使们坚信,管理层可以期待获得如下优势。
优势
(1)投放市场时间:减少为原来的1/2到1/5;
(2)缺陷密度:降低为原来的1/5到1/10;
(3)维护成本:降低为原来的1/5到1/10;
(4)整体软件开发成本:降低大约15%,长期项目可降低高达75%。
因此构件技术一直被视为解决
软件危机现实可行的途径。在过去几十年尽管软件开发的主流思想几经沿革,软件业一直没有放弃构件技术的尝试。
60年代末到80年代初,结构化的软件开发思想占主导地位,当时的复用是函数复用和模块复用。函数通过参数来适应不同应用需求的变化,package模块也是通过接口规范说明进行连接和组装实现复用。但是,由于结构化的存在极大隐患,函数层面的复用能力有限,其结果是系统结构混乱、效率低,软件成份复用性差。函数复用和模块复用没有解决软件工程的危机。
80年代起,
面向对象的软件开发思想迅速发展起来,通过类的封装、继承和应用,面向对象的软件开发成功的实现代码级的复用。类和封装性,实现数据抽象和信息隐蔽,继承性,提高了代码复用性。面向对象技术被公认为当前的主流的技术。但是,
面向对象的复用脱离不了代码级复用的本质,由于复用的颗粒较低,软件开发中的复用的潜力远远没有发挥出来。类复用也没有解决软件工程的危机。
互联网时代
互联网应用时代的到来,不仅仅增加了应用需求和软件的复杂性。构件技术在互联网时代突飞猛进,已经为实现
软件复用的理想,解决
软件危机带来了曙光!
面向构件的技术实现更高的层次的抽象
面向构件技术对一组类的组合进行封装,并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。整个构件隐藏了具体的实现,只用接口提供服务。这样,在不同层次上,构件均可以将底层的多个逻辑组合成高层次上的粒度更大的新构件,甚至直接封装到一个系统,使模块的重用从代码级、对象级、架构级到系统级都可能实现,从而使软件像硬件一样,能任人装配定制而成的梦想得以实现。
构件技术标准走向成熟
主流的软件构件技术标准有:
微软提出的COM/COM+、SUN公司提出的JavaBean/EJB、OMG提出的Corba。它们为
应用软件的开发提供了可移植性、异构性的实现环境和健壮平台,结束了
面向对象中的开发语言混乱的局面,解决
软件复用在通信、互操作等环境异构的瓶颈问题。
软件业研究
北京大学软件工程研究所是一个专注于软件工程及其相关领域的研究和实践的学术机构,其前身是建立于1983年的软件工程教研室,1999年正式挂牌成为北京大学的一个专业研究所。
研究所在所长杨芙清院士的领导下,对
软件复用与软件构件技术进行了深入的研究。成果代表为青鸟工程是,历经“七五”、“八五”“九五”。青鸟工程在
软件复用和构件技术领域成绩斐然。
中国科学院软件研究所
中科院软件所软件工程技术研究中心,在首席研究员冯玉琳博士带领下,对构件技术深入研究,硕果累累。其中作为知识创新工程的成果的信息化
基础软件核心平台是其代表。
上海普元
普元是国内最早推进
面向构件技术的厂商之一,也是国内唯一一家提供真正意义上的面向构件的互联网应用基础平台的专业化厂商。普元把崭新的互联网相关技术与先进的构件复用技术以及可视化开发技术全面地结合起来,创造了一套具有国际领先水平的
面向构件的互联网的应用基础平台----EOS。
互联网实验室是我国著名的IT研究机构,长期从事构件技术及软件产业的研究,并2004年1月16日发布了《面向构件的互联网应用基础平台研究报告》,是国内较为详尽的关于构件技术研究的专业报告。