SOA在三年左右的时间里迅速在国内膨胀升温,直至让人无法轻易碰触。有人说是概念炒作,也有人说是信息化发展必然需要。SOA这个主题经过几年的热议,SOA是否真的能顺利发展成为信息化手段的一条有力臂膀?
在几年的实际应用中,众多专家认识认为SOA是发展的必然。可以分两方面来分析:
其一,中国软件行业有一个普遍的现象“高举低打”,在一个感念刚刚产生时我们会把之后的发展蓝图无限的放大化。但在实际“落地”后由于遇到一些技术的屏障,就会与最初的初衷发生一些转变,在这里我们举个简单的例子:当年J2EE刚刚出现时提出了EJB架构,EJB本身的分布式应用架构有一个远大的目标,就是业务组件商业化。其意义在于每个公司可基于EJB构件属于自身专业领域内的业务组件,可按标准模块独立封装,可随需为企业定制组装分配模块。其实这些已经具备了SOA的雏形和思想了,但后来我们看到,实际上并没有达到这样的意义,基本没有整套方案的成功案例出现。
为什么会造成这样的后果呢,这与当时技术条件的限制有着密不可分的关系。我们再来看一个小例子:现在除了SOA,另一热门的技术领域就是业务技术平台,也就是中间件,但实际上,这些概念在很早的时期就已经出现了,譬如原来在做MIS系统时就曾经提出过万能MIS的概念,这个概念与现在的随需定制、快速分配的思想是极为相似的,但在那个年代,无论是计算机的运算能力或者存储能力再或计算机编程语言的发展都不足以支撑这种万能MIS走向企业应用和商业化道路。社会现状与技术的差异造成了很多新兴技术无法‘落地’的现实。
其二,必须要有一个开放的标准才可能成功‘着陆’。IBM的PC架构与苹果的架构就是鲜明的例子,IBM开放了整个PC制造、构件的所有标准,站在产业的层面来推动技术,由此发动了更多的厂商加盟其中,形成合力,所以IBM的PC架构才成为了工业标准。反观封闭的苹果则受到了惩罚。
基于上述两点,我们不难看出,首先,SOA是基于开放标准的技术架构,这点毋庸质疑,而且现在也在制定一些技术标准;其次,从现在的技术水平发展来看,现在硬件技术的发展实际上是远超于软件产业的,企业的信息化需求很大,但没有更为先进的软件技术来去梳理。而SOA、乃至中间件都是在屏蔽和隔离软硬件之间的差异,已融合为目标。在这方面,IBM、Oracle起着表率作用。
综上所述,结合国内外的环境来看,SOA是大势所趋,SOA的发展是必然的。