选择构件技术还是加入SOA大潮?不仅IT用户信息化选型过程中会碰到这样的问题,就连许多软件公司也会产生一些类似的疑惑。事实上,选择构件技术和应用SOA并不矛盾。
构件是一种软件开发技术,它的基本理念是将软件开发过程中会重复用到的部分封装起来,等到有新的同样的需求时调用。这显然会大大节省开发成本,缩短开发周期。
SOA是一种表现形式,是通过服务对企业的应用需求进行展现。SOA注重在将已经存在的应用系统进行集成,同时又可以根据标准规范新的应用系统的开发过程,使得企业内部甚至企业之间能够基于相同的服务框架实现信息和数据的共享与交互。
不难看出,两者的主要区别则在于,构件是应用开发层面的概念,适用于企业应用的开发,而对于企业现有的应用系统则是用构件封装或是利用SOA集成。但是,两者又同时强调能够满足企业业务流程不断变化的应用需求。前者是通过调整系统中构件的组成秩序,重新研发和构建应用流程。SOA则是根据企业业务流程的变化而改变服务的布局和通信模式。
如此看来,两者又十分相似。如果将构件和服务这两种被赋予了不同意义的“软件模块”进行相同定位,两种理念甚至可以合二为一。因此,一些专家认为SOA就是定位在应用表现层次的软件构件化。