面向构件:等待中国票房?

来源:百度文库 编辑:神马文学网 时间:2024/04/30 14:13:23
互联网周刊  2005-06-06 02:16   周颖
企业管理软件系统高得吓人的上线失败率证明传统的软件生产方式和工程方法已经走到了穷途末路
传统的企业应用软件两种典型的交付模式中,套装软件+二次开发能够大规模复用,避免重复劳动,且拥有强大功能,但弊端是没法满足企业个性化需求。而代码级的定制化虽然能够实现“量体裁衣”,却往往难以体现企业的变化和成长,无法做到“随需应变”。一直以来,如何趋利避害,取两者之长弃两者之短成为软件工程和开发技术领域的重要课题。
在此大背景下,以BEA为代表的一批技术创新型公司率先提出并开始倡导面向构件的开发技术,该技术一改过去40年以计算机语言和代码为主导的传统开发模式,转而采用构件库这一全新思路。但这种被业界形象地称为“搭积木”式的软件开发方式能够成为今后信息化的主流方向吗?
软件开发:从“打桩”到“搭积木”
2003年,国家对土地转让中出现的“黑洞”开始严格控制,“土地交易系统”一时之间成为解决问题的利器之一。在此形势下,上海市土地局开始把建立“上海市土地交易子系统”当作当时最紧急的任务。
谈及该系统,曾经参与系统项目实施和咨询工作的上海普元信息技术有限责任公司技术支持总监王克强记忆犹新:“这个系统的投资应该说并不算很大—1290万元人民币,但当时项目任务的紧迫性给人的印象很深,尤其是在开始的一个多月,几乎陷入困境。”
“这个系统基于B/S架构和三层系统机构,包括从编制招标文件到签订合同的整个流程管理”,王介绍说:“整个项目是由普元和另外两家软件公司共同实施完成,最终采用了面向构件开发技术(EOS平台),普元主要提供了开发平台和项目咨询服务。”
王克强介绍,当时“任务紧急,功能设置不明确”,这也是开发过程中遇到的主要困难。“粗线条地概括,该项目的主要困难是由于业务需求从头到尾一直在变动,导致初期需求分析需要不断修改,开发工作迟迟不能展开,从而陷入僵局。”
由于上海市土地管理局规划的操作流程和具体的业务操作存在一定差别,特别是根据各个区的要求还要进行相应的改进和调整,这样的调整从开始的需求分析到最终的试运行和调试都一直存在。并且刚开始时的开发采取的是传统的“从代码级开始编写”的定制方式,虽然一开始进展尚算顺利,但之后不久,项目的需求分析人员就发现由于用户需求随时变动,不得不经常修改厚厚的需求分析文档,项目进展很快陷入了僵局。
采用了普元EOS开发平台之后,从接到客户需求到提出应用基本成型的应用框架仅仅用了5个人5天时间,而接下来的设计开发阶段只用了2个月,仅占整个开发周期时间的一半。
“传统的代码式开发方式就像打桩,一行行代码写出来,桩子就慢慢砸深,一旦有问题,就需要把桩子拔出重来,然后开发一个新的应用系统又要重复打另一根桩—事实上很多功能模块都是可以复用的,根本不用作无用功。而面向构件技术及相应的开发平台主要解决的就是这个问题,打个比喻,面向构件就像‘搭积木’,能够方便拆卸和重新组装,对应到开发就是可以同时做到随需应变、随时修改、高比率复用,而上海市土地局的这个系统最需要的就是这样的开发方式。事实上,这个系统相当典型,很多项目在开发过程中都有着类似的特点。”
据了解,所谓面向构件技术,就是将代码组成的可实现特定功能的模块固化为一个个“构件”并使之对开发人员可视化,最终使开发人员告别“写代码”这种枯燥繁琐、近乎手工业的工作方式,转而像“搭积木”一样利用构件库中每个构件的映射实现编程。用王克强的说法,“搭积木是一种艺术,而打桩则是折磨。”
面向构件:为何叫好不叫座?
事实上,采用“搭积木”方式生产软件一直是软件开发人员的共识,但由于技术积累及开发传统等多方面原因,直到本世纪初才逐步得到实现,也涌现出了BEA Weblogic Workshop、IBM Websphere等一批有代表性的面向构件开发平台。
然而,被开发人员普遍看好,并被认为将颠覆传统软件工程和系统结构的面向构件技术,却在BEA等旗帜性公司摇旗呐喊数年后依旧遭到了市场的冷遇,无论在软件业相对成熟的欧美市场,还是在新兴发展中的中国,都有“叫好不叫座”之嫌。尽管没有具体的统计数据表明面向构件市场的尴尬,但对产业有所了解的人都能注意到:和面向构件技术相关的字眼几乎都集中在“潜力”“预测”等几个并不具备现实性的虚拟词汇上,鲜有IDC和Gartner等权威机构的统计数据来显示面向构件技术近年的成长趋势。
带着以上问题,记者联系到某面向构件技术工程师李先生。在交流过程中,他向记者透露了面向构件技术在现实推广过程中所面临的一些问题。
与多数开发人员一样,李先生也表示面向构件技术和“软件组装生产”的理念将会是软件开发领域的技术趋势,但他同时表示目前该技术还处于构件积累阶段,尚未到成熟和爆发阶段。
“所谓构件,实际上就是代码模块的库,和传统数据库调用是一个道理,所走的发展路线也应该类同。数据库刚出现的时候也遭遇了传统文件系统的抵制,很长一段时间内都不能大行其道,直到关系模型、面向的关系模型等成熟技术出现后才占据统治地位,面向构件面临的也是同样的问题”。
在他看来,目前面向构件之所以被开发人员看好却始终难以被业界认同,主要有以下两方面原因:一是面向构件的庞大构件库需要长时间行业积累。构件库实际上是建立在对各个行业、各种应用需求都有着丰富经验的基础之上,只有构件库积累到一定程度时项目实施才会大幅度降低成本,而目前能够提供如此丰富构件库的厂商数量还相当有限。另一方面,目前全球范围内以SAP、Siebel为代表的传统企业应用软件提供商还占据主流,而在信息化水平和企业管理规范程度相对高的欧美,套装+二次开发的交付模式已经大行其道,面向构件技术用武之地相对较小,而且由于会对传统企业管理软件厂商造成冲击,必然会遭遇相当大的阻力。
“目前大力推广面向构件技术的主流厂商并不多,并且其中不少厂商因为合作利益等关系只是雷声大雨点小,并没有真正出力,因而概念培育和市场培育期较长。”
突破在中国?
“面向构件技术要突破,最佳土壤就是中国,反过来,中国软件要想突破,最佳领域也是面向构件技术”,一手创建了上海普元信息技术有限责任公司并任董事长的刘亚东显得很有信心。
他的观点也许是有道理的——因为即使是国内套装软件模式最坚定的拥趸,也不能不承认一个现实:那就是套装的企业管理软件,无论是ERP、CRM还是SCM,上线失败率都几乎达到了八成,远高于欧美发达国家的平均水平。二次开发这根稻草已经很难挽救逐步走入死胡同的套装模式。
“中国软件的成长环境存在以下两个最大的特色,一是快速变化,二是商业大环境和人的因素所导致的普遍管理水平较低,因而更需要个性化的定制。这两个现实决定了统治美国40多年的套装软件模式无法适应中国软件发展的需求,同时也决定了在相对稳定的欧美市场反应平淡的面向构件技术在中国有机会大显身手,因为这两点都是面向构件技术的最大优势。”
对于上述观点,李工程师也表示了赞同,在他看来,BEA的Weblogic Workshop之所以并未获得想象中的成功,并不是因为产品和思路不够好,而是因为占其主要份额的欧美市场信息化程度和模式已经相对稳定,对于面向构件技术没有很强的需求,这也是目前BEA如此看重中国市场并在华建立研发中心的重要原因之一。
此外,他还补充说,除了构件库的行业积累,提供面向构件技术的公司最亟需解决的问题是在构件数量级增加的情况下如何能够有效、可靠地将其耦合起来。“积木数量是够了,接下来的问题是搭积木的技术问题,一旦这两个问题都很好地解决了,中国软件与美国的差距将大大缩小。”