构件还是SOA?


 2005-04-25 00:00:00       753

两个词语被并列放置,显得格外突兀。毕竟,从专业的角度来讲,构件和SOA所侧重解决的问题不同。但是,过去的一两年时间内,构件和SOA却不断回绕在IT用户甚至软件企业的耳边。以BEA、惠普、IBM、微软等公司为代表的跨国软件企业纷纷竖起SOA大旗,并不断地为SOA应用推波助澜;而以杨芙清为代表的中国软件资深专家不断推介构件技术,普元公司更是火上添薪,不断更新基于构件技术的软件开发平台EOS的版本。

选择构件技术还是加入SOA大潮?不仅IT用户信息化选型过程中会碰到这样的问题,就连许多软件公司也会产生一些类似的疑惑。事实上,选择构件技术和应用SOA并不矛盾。

构件是一种软件开发技术,它的基本理念是将软件开发过程中会重复用到的部分封装起来,等到有新的同样的需求时调用。这显然会大大节省开发成本,缩短开发周期。

SOA是一种表现形式,是通过服务对企业的应用需求进行展现。SOA注重在将已经存在的应用系统进行集成,同时又可以根据标准规范新的应用系统的开发过程,使得企业内部甚至企业之间能够基于相同的服务框架实现信息和数据的共享与交互。

不难看出,两者的主要区别则在于,构件是应用开发层面的概念,适用于企业应用的开发,而对于企业现有的应用系统则是用构件封装或是利用SOA集成。但是,两者又同时强调能够满足企业业务流程不断变化的应用需求。前者是通过调整系统中构件的组成秩序,重新研发和构建应用流程。SOA则是根据企业业务流程的变化而改变服务的布局和通信模式。如此看来,两者又十分相似。如果将构件和服务这两种被赋予了不同意义的“软件模块”进行相同定位,两种理念甚至可以合二为一。因此,一些专家认为SOA就是定位在应用表现层次的软件构件化。

中国企业中,绝大多数仍然属于中小企业范畴,他们最大的特点是成长性,业务流程会不断变化。这些企业往往还没有购置太多的IT应用系统,他们应该运用构件技术开发企业应用或购买基于构件技术的应用系统。而考虑到企业的未来,应用系统必须符合SOA相关标准,保证未来企业应用系统间以及与其它企业应用系统的集成与交互。

既然构件技术能够提升软件开发的生产率以及软件的可用性,对软件企业而言,运用构件技术是勿庸置疑的。根据普元公司的数据统计,在绝大多数应用普元EOS的软件开发项目中,由于运用了构件技术,即使投入开发者数量减半,开发周期往往也会缩短一半。更重要的是,由于J2EE这样的比较难以掌握的开发技术会被构件屏蔽起来,软件开发工作的难度大大降低。至于SOA,如果能够透彻掌握构件技术,学习这种新的软件理念也不会很难。需求是新技术应用的源动力。无论构件还是SOA,都代表着来自不同环境变革需求。但是殊途同归,构件和SOA在2~3年会趋向融合。在多变的时代,快速响应市场变化的能力掌握着企业未来发展的生杀予夺大权。应用全新架构和开发设计工艺,正是即时之需。

相关阅读: