现在的位置: 首页 > 综合 > 正文

面向构件的软件体系——互联网实验室(2004-2-20 9:56:00)

2013年02月04日 ⁄ 综合 ⁄ 共 4217字 ⁄ 字号 评论关闭

——软件业大规模敏捷定制时代的到来

一、软件业呼唤大规模敏捷定制时代的到来

19世纪发生在制造业的各国的工业革命,通过标准化的生产形成社会化的分工,促使制造业从手工作坊走向了社会化大生产的时代;社会化大生产极大的丰富了商品的供应,降低了成本,由此带来了人类文明的一次飞跃!

随着全社会生产水平的提升,标准化的通用型产品越来越无法满足个性化需求,人们期望能快速便捷的得到“符合自己品味”的商品,正是需求的变革要求制造业由大规模标准化生产转向大规模敏捷定制。所谓大规模敏捷定制,是强调快速敏捷的满足客户个性化的需求,同时保持大规模生产的低成本的优势。

信息技术和生产技术的高速发展为实现大规模敏捷定制提供了可能性。于是在20世纪后期,制造业实现了由大规模标准化生产走向大规模敏捷定制的飞跃。最典型的案例当属:DELL模式,DELL公司充分利用信息技术实现了大规模敏捷定制,从而一举奠定了全球PC霸主的地位!

互联网时代的到来,软件业也必须向制造业一样,实现大规模的敏捷定制。基于互联网的应用必然会给软件业带来深刻影响!纵观人类工业化的进程,我们注意到,一个社会化的网络及在此之上的面向全社会的应用,必然对社会进步产生全面推动,并带来一个新的巨大产业。例如,交通网的形成和个人交通工具的发展,加快了人员流动,并产生了汽车工业;电力网的形成和家用电器的发展加快了能源传递,并产生了家电工业;通信网的形成和个人通信技术的发展,加快了信息交换,并形成了电信业。今天全球互联网的形成和网络化软件技术的发展促进了通信与计算的融合,人类需要随时随地的处理大量的信息。软件业必然面临巨大的机遇和挑战:1)人类期望随时随地的获得便捷的资源,由此而产生的对于计算的需求量、效率要求极大增加, 软件业必须以更高的效率生产出更多的更高质量的软件产品;2)人类期望软件满足个性化需求,并适应未来商业环境及IT技术的变迁的变迁。以最低的开发及部署成本实现敏捷的信息化方案!总之,人类期望软件如同制造业一样,实现大规模的敏捷定制!

二、脆弱的软件体系无法实现变革的梦想

具有讽刺意味的是,信息技术协助制造业实现了由大规模标准化生产走向大规模敏捷定制的飞跃。作为信息技术产业的主体的软件业却仍然停留在前工业时代!软件传统的生产方式强调以过程为中心设计的功能模块,经过需求、分析、设计、编码、测试、系统部署等完成软件的开发和部署。

图表 1传统软件的生产流程图

传统软件的生产流程图

数据来源:互联网实验室

研究表明:“一个软件的60%-70%的功能是可以被复用的。”然而由于受制于技术因素,软件的大规模复用尚未实现,“不断的重复发明轮子!”这正是对当前软件生产现状的最恰当的描述!因为无法大规模复用,软件必须从编码做起, 导致现有的软件体系非常脆弱:集中体现在两个方面:

1) 僵化的软件结构无法适应变化

从代码级做起的软件,强调功能实现,天生具有庞大、僵化无法适应变化的缺点。以企业级应用解决方案为例,传统的应用软件产品往往由以下两种典型的交付模式:

l 以标准化的软件交付客户

编码式的软件开发和服务的成本很高,应用软件软件厂商为了降低开发和服务成本,通常会大肆宣扬自己的产品包含“行业最佳业务实践”,并以“管理专家”的身份对客户的管理模式强行变革,以适应这种标准化的“行业最佳业务实践”。然而每个企业所处的竞争环境千差万别,企业的战略、核心竞争力亦有所不同,企业只有保持自己鲜明的个性,并对环境的变化保持高度的柔性,随时调整管理策略,才是生存和发展的关键。试问那里有这种“放之四海而皆准”的管理真理能解决所有企业的任何时刻问题?所谓的行业最佳实践是在一定程度上以抹煞企业特征和不适应未来发展需要为代价而实现的。

l 为客户从代码级开发定制的软件系统

定制开发的软件系统在一定程度上满足了客户管理个性化的需求,但却很难适应未来商业环境和IT技术变化。当今的商业环境瞬息万变,IT技术一日千里,传统应用系统体系结构以模块化为主体,实现客户需求,其扩充和复用的能力都较差,对模块进行应用重组的困难很大。定制的系统往往能满足客户在某个时点的需求,却无法适应未来的变化。

编码式的软件,无论是采取何种方式,都无法真正实现“敏捷定制” !

2)落后的生产方式带来的低效率和低质量

无法复用的结果导致了软件的生产必须从代码级做起,不进行有效的分工,而这恰恰类似于传统行业在19世纪的作坊式的手工单件生产!然而软件发展到今天已经变的异常复杂,航天飞机有4000万行代码、空间站是10亿行代码。如此复杂的软件需要从代码级做起,生产效率如何提高?又如何保证软件的高质量?

由此可见:传统的编码式的软件体系无法实现软件大规模敏捷定制的梦想!有没有新的软件体系可以实现大规模敏捷定制?

答案是:有!

那就是面向构件的技术所带来的新的软件体系!

三、面向构件的软件体系承载梦想

现有的软件体系之所以无法实现大规模敏捷定制,是因为没有实现软件复用。软件复用被认为是解决软件体系问题的有效途径,面向构件的技术自诞生起,就因承载着软件业实现软件复用的梦想而备受关注。在过去几十年虽然主流的开发思想几经沿革,软件业对面向构件技术的追求从未间断!然而由于由于技术水平限制,软件的复用仍停留在函数复用或者类复用的阶段,无法实现整个软件体系的彻底变革!

互联时代构件技术得以突飞猛进的发展,实现整个软件体系的变革成为可能。面向构件的软件体系,将带给软件行业震撼性革命。这个新的体系包括两个方面的内容:面向构件的软件结构体系和面向构件的软件生产体系。新的体系在这两个方面掀起变革。

1)灵活的构件集成的软件结构

l 应用系统的基本单位,“信息原子”——构件

应用软件将会划分成为 “不可再分”的部件——构件,构件将成为组成应用系统的基本单元,同时构件也是软件复用的基本单元。构件具有高集成性和低偶合的特点,因此构件组合而成的应用系统将会更加有机灵活。

l 软件将以严谨的逻辑空间的形式存在

构件是未来组成应用系统的基本元素,由于软件可以以构件化的形式得以存储和复用,构件可以进行有机的组合,软件将因此而产生由构件组合而成的具有严谨的分层级的逻辑空间形式的存在形态。

图表 2 新的企业级应用软件结构体系

新的企业级应用软件结构体系

2)组装式的协同生产带来生产效率革命性提升

面向构件的软件生产的主要流程分为:需求分析及领域分析、框架的设计及选择、构件选择、装配集成、测试和系统部署等几个步骤。

图表3 面向构件的软件生产流程

面向构件的软件生产流程

数据来源:互联网实验室

l 需求分析和领域分析

领域分析活动不同于通常对特定系统进行的需求分析,它是对特定应用领域中已有的系统、预期的需求变化和技术演化进行分析,目的是标识出整个领域中通用的框架。以实现软件在框架层次的复用。要评估领域分析的必要性和可行性。在适当的时机进行领域分析或者采用现有的分析成果。

l 框架设计及选择

一个框架是一个可重用的设计,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间的协作方法。

l 构件的选择及测试

从构件库构件提取或从构件市场获取构件,也可能要重新开发一些新构件,这些扩展或新开发的构件,必须在构造应用工具上进行测试,保证构件功能及接口规范的实现。这一步比传统的单元测试要快和容易。

l 装配和集成

构件的装配和集成是把构件装配成模块或打成包,在模块或包中都可以有自已的定制描述符。

l 系统测试

按照前期的设计要求对经构件集成的系统进行测试,此阶段相对于传统的软件开发过程将会大大简化。

l 应用系统的部署

应用系统开发只关注应用逻辑和数据定义,从而使整个应用系统的完成变得简单。完成应用逻辑和数据定义编程工作后,对应用服务器及客户按标准的XML文件配置和部署, 完成了整个应用系统的部署。

由此可见,面向构件的软件生产通过构件集成的方式实现了软件的有效复用,避免从代码级做起的重复开发带的低效率和低质量。

面向构件的生产具有以下特点:

l 标准化

构件之间的集成是建立在构件的开发都基于一定的标准之上的,共同的生产标准是构件化生产的一大特点。

l 知识复用

知识通过构件的形式得以储存复用,降低了重复劳动量!

l 分工协同

复杂的软件系统可以通过组合构件的方式实现,并行的方式将提高开发效率。通过社会化的分工协同,将使软件产业的生产效率得以革命性提升!

l 高效率

标准化、知识复用、分工都带来了软件生产效率的革命性提升!

l 高效高质量

构件经过反复测试,保证了高的质量,由构件集成的应用系统具有高的质量和稳定性。

组装式的协同生产将带来软件生产效率、质量的革命性提升!

总结:人类计算无处不在的理想对软件业提出了“大规模敏捷定制”的要求,旧的软件体系岌岌可危。面向构件的新的软件体系,实现了灵活的构件集成的软件结构和高效的组装式的协同生产,新的软件体系必然为软件业带来大规模敏捷定制的时代!

四、新体系的领导者推动梦想实现

正如微软带来了桌面式应用的时代,BEA成为分布式计算时代的英雄一样,面向构件的软件体系的建立,需要一些具有高瞻远瞩的专业厂商推动产业革命。国外的一些大型厂商如:IBM、Wakesoft、M7等公司都推出了相应的产品,值得庆幸的是中国的优秀的企业正站在同国外巨头相同的起跑线上,其中的典型代表是:普元

上海普元的代表产品是:普元EOS使用构件化、可视化的技术提供了面向构件的互联网应用基础平台,致力于为面向构件的应用软件体系提供基础运行、开发、维护的平台。实现应用软件的大规模敏捷定制。

2003年4月6日,在上海市科委主持下进行了“EOS构件集成平台”的专家鉴定会,与会专家听取了项目组的研究报告、技术报告,观看了系统演示,经过认真讨论,一致认为: EOS构件集成平台采用了XML、构件及其复用、J2EE等先进技术路线和基于自动机的构件集成思想,整体技术达到当前国际先进水平。

在上海土地局的项目招标中,在系统选型过程中,上海市土地局和上海市互联网经济咨询中心联合进行了严格的招投标和系统原型验证过程。最终,普元以其领先的技术一举击败BEA等国际巨头,在竞争中拔得了头筹。2004年1月8日,基于普元EOS开发的“上海市土地交易系统”的正式开通,该项目被评为电子政务的“样板工程”。

普元的成功说明了在面向构件的体系时代初露曙光的时候,中国的软件业已经站在了和国际厂商站在了同一起跑线上,中国企业大有机会,让我们携手打造面向构件的软件体系,迎接软件的大规模定制时代的到来。

抱歉!评论已关闭.