从根本上说,SOA解决的是应用体系架构的问题,通过对软件子系统不断封装,让IT应用更接近业务人员;它最大的好处是可重用。
我们知道,工业化的标志之一是社会分工的不断细化,而且每次细化都会带来产业革命。在IT产业的发展历程中,软件两次从硬件中剥离(最初企业软件从主机中剥离,今天的嵌入式软件正在逐步从一些小设备中分离),标志着计算机产业的进一步工业化。
可当软件被寄予了更多的关注时,我们却发现,软件系统的生产很难做到像硬件系统生产那样,通过将各种模块组装起来构成一套系统。尤其企业软件,一个软件系统中的模块很难被另一软件系统无差别使用。这样的结果是企业软件很难真正做到产业化。
而SOA的可重用性让企业软件工业化变为可能。BEA技术总监喻思成非常形象地形容,没有使用SOA架构的企业软件就像雕版印刷,仅可以用一次;使用了SOA架构的企业软件就像活字印刷,可以通过字模的多次利用降低印刷成本,并提高印刷排版的灵活性,同时也令出版业得到飞速发展。
其实类似SOA这样的理念由来已久。麦肯锡在2000年出版的《软件业的奥秘》一书中就曾预言,组件经济会成为未来企业软件的发展重点。从某种意义上来说,SOA是实现组件经济的一种具体实施。它使企业软件由传统的封闭式开发方式,转变为像搭积木一样,将各种组件有机地结合在一起,构成新的软件系统。这其中的组件既可以是原来已经做好的,也可以是新开发的。
这种新型的软件生产模式将直接带来高效率及低成本,它让软件生产分工进一步细化,也为软件产业提供了新的活力。一位软件资深人士曾经对记者说过“也许将来会出现很多生产组件的软件公司。”
回到SOA对中国企业的意义上,有权威的研究机构指出,SOA在满足企业整合IT应用需求的同时,也面临巨大挑战。例如,SOA的实施涉及到改造原来的业务系统,还要涉及大量的人员和资金投入等。因此有专家建议,实施SOA可以从小规模、见效快的项目入手,设计一个循序渐进的SOA蓝图。