构件走入产业化


 2006-06-19 00:00:00       748

在上海举办的第28届世界软件工程大会(ICSE 2006)上,构件技术是今年的热点话题之一。杨芙清院士在大会主会场开幕式上指出,软件工程已推进企业进入“工业化”生产时代,不断采用构件技术是未来软件生产力提高的主要来源。而在普元公司针对构件技术的专题研讨会上,吸引了来自金融、电信、政府、企业以及产学研等各行业用户的关注。这一切都表明,构件应用已经进入产业化阶段。

构件化开发将成主流

普元软件公司CTO黄柳青指出,目前国内各行各业都处于快速发展阶段,竞争加剧导致业务需求变化非常快,因此对软件开发也提出了更高的要求:快速开发、快速部署、快速适应变化、以业务为主导,而构件技术就是满足这些要求的最好方式。另外,从软件产业角度看,软件的可复用性是软件产业发展的关键所在,而构件化也是实现这个目标的基础。IBM院士、IBM中国研发中心主任郑妙勤在接受本报记者采访时也指出,构件化将是未来软件业发展的重要趋势之一。“基于构件技术的软件开发方法是未来的主流技术,而基于构件的SOA架构是一次信息系统架构上的变革,也是现实信息服务的客观需求。”

目前构件化开发已经广泛应用于各种实际的开发之中。例如,大家熟知的微软公司的软件产品,除了内核部分还要通过编码之外,其余都是通过构件化开发的。“比如办公软件Office,当我们要做‘格式’的时候,微软有整体组件为‘格式’提供服务,它把这些功能提供给Office、Word、PowerPoint、Excel等,当需要更新版本或者功能时,只要更新这个组件就可以了。”

而普元公司基于构件的EOS平台已经有了数百家客户,已经广泛用于银行、电信、政府等大型客户关键应用。交通银行总行可以说是第一个吃“构件螃蟹”的大企业。2004年~2005年,交总行使用普元EOS开发了总行的CIIS(新一代综合客户信息系统)的一、二、三期,目前在开发第四期;管理会计系统。2006上半年交通银行基于普元EOS启动了交通银行业务标准文档系统 、交通银行财富管理系统(高端客户和理财)、资金管理系统等。交通银行总行的CIO侯维栋表示,“采用面向构件的技术,适合大规模定制软件开发,而且能够控制成本,还能够提高软件开发的速度以及业务知识的积累和复用。”

中国银行江苏省分行风险管理部也正在采用面向构件的方法建立风险管理系统。中国银行江苏省分行风险管理部主管琚江指出,风险管理是金融机构核心竞争力的重要内容,该行为了加强风险管理,陆续开发了针对不同需求的风险管理系统。这些系统是在不同时期、不同团队采用不同技术开发的,界面风格不一致,业务人员要面对不同的操作界面,维护成本高。今年,该行提出战略转型,为中小企业提供快速审批通道,领导要求3个月时间完成该项目,“采用传统方式根本无法实现,为此尝试了普元的EOS构件开发平台。该平台能适应业务变化,快速开发部署。”另外,琚江表示,该行将作为试点,采用面向构件开发平台,应用工作流技术,按照标准化的要求,重新设计风险管理的工作流程。

湖北联通CRM项目中也全部采用了面向构件的技术。湖北联通IT主管陈伟玲表示,该项目采用了普元的EOS平台,开发周期仅用了两个月,与同期多个实施项目比较,开发周期和试运行周期明显缩短,后期维护跟进快,反馈迅速;而且使得项目管理过程更专注在业务实现上,整体业务实现质量提高。

北京邮电大学朱其亮教授针对构件在此次大会上引起的广泛关注特别指出,构件技术并不是一个新技术,但目前构件技术的在应用上有了突破性进展,并进入到产业化阶段。 

构件是SOA实现手段

目前SOA(面向服务架构)是软件领域的热点话题,构件与SOA的关联和比较自然也是人们关注的重点,那么构件技术和SOA到底是什么关系呢?“从应用开发层次看,面向构件技术是SOA中‘服务’的组装和实现,而SOA则可以看作是在应用表现层次的软件‘构件化’。” 黄柳青用非常精辟的语言指出了两者的关系。

黄柳青指出,构件的服务化是构件发展趋势之一。 可以把构件看作是SOA架构中的更小颗粒,或者说,SOA中的服务是由多个构件装配和实现的,而SCA(Service Conponent Architecture)就是构件服务化趋势的一个成果。它利用了SOA理念,将IT资产构造为一组执行业务功能的可复用服务。构件的另一个发展趋势就是业务化。在构件化概念应用早期,以CORBA、微软的DCOM以及SUN的EJB为代表。当时的构件复用体现在用户界面上的构件复用,这个层次上的构件应用确实对当时的软件开发起到了促进作用。但随着技术层次构件的积累和成熟,企业应用开发迫切需要的不再是细粒度的技术构件,而是粗粒度的业务构件,以业务构件为中心的面向构件开发才能够真正提升开发速度、降低开发成本,并改善软件质量。而且面向构件技术的构件业务化强调的是粗粒度的构件,是对一个完整业务功能的实现与复用,而这正是SOA中所关注的。

黄柳青也指出,构件技术与SOA的着眼点也有所不同。例如,普元主推的构件开发平台更多地针对如何快速进行软件开发、部署的用户,而SOA更强调应用之间的集成。目前,对国内很多客户来说,确实存在将信息孤岛进行集成的需求,但更迫切的需要的是能够快速开发大量新的应用,这是因为与国外已经发展比较成熟的市场以及拥有很多成熟的应用相比,国内市场处于高速发展阶段,业务创新是主导,面向构件可以帮助企业将关注的重点放在企业的业务流程之上,而不是软件代码上面,从而快速适应业务变化。

构件产业化需要生态链

目前,构件技术已经引起国内相关部门的重视,例如2002年7月,国务院47号文件将构件库列为影响软件产业的重大关键共性软件;2002年8月,信息产业部成立软件构件标准工作组,但目前为止,构件平台还没有统一的标准。而且构件产业化和大规模普及还需要建立一个完整的生态连系统,普元软件推出的EOS软件开发平台,可以说是实现构件产业化的基础。“普元创建了一个新的以构件为核心的生态系统,包括构件运行环境、开发环境、应用管理环境、基础性的公共构件库、以及面向构件的方法学和经验论。”但未来还需要会更多的公司加入到该产业链,例如提供基础构件、业务构件、构件建筑师等不同角色。

黄柳青表示,普元希望通过大规模的市场普及应用形成事实上的标准,推动构件平台标准化的进程。但目前,国内部分软件厂商和系统集成商也有自己的构件平台和构件的积累,而且这些平台都基于各自的标准。因此有业内人士指出,现在市面上缺少的是大众化的构件,好的构件思想是由用户去选择相关的东西,不应过分的依赖于某个平台。利好的消息是,据悉今年底构件化相关标准将有望出台。

事实上,构件的思想可以解决当今软件开发领域的诸多问题,但是也不能说可以解决一切问题。“构件也有它的局限性,开发工具和实现手段也需要不断完善。”

相关阅读: