相信今天已经没有人对SOA的概念感到陌生,或者说没有听到过这个名字。但,你眼中的SOA是什么?1000个人可能会有1000种理解。我认为造成这种理解上的差异,原因有两点。其一,给SOA下定义的组织机构太多,没有统一的标准。若干标准化组织、大厂商等都给出了自己对SOA的理解,但这些理解并不统一。其二,人们对SOA的理解曾一度被解决方案厂商所误导。或者由于短视,或者迫于抢占市场的压力,SOA解决方案供应商们关心的是打着SOA的旗号卖产品。但凡能沾点边儿的,都贴上了SOA的标签。
然而,值得庆幸的是,不论人们是否深入理解SOA,似乎都接受了它,也能大致说出它的几大特点和优势——应用程序服务化、松耦合、灵活的架构、支持敏捷等。
SOA是什么?如何实施SOA?解决这一类问题的文章在出版物和网络上可以搜索到一堆,我就不再重复这些工作了。本文的重点是介绍SOA在当今中国企业中的发展现状。但为了全文结构的完整性,将使用一小节简述我对SOA的理解。
SOA简述
SOA的全称是Service Oriented Architecture,即面向服务的架构。从其名字上看,它有两个核心:一是服务,二是架构。在此基础上,我对SOA是这样理解的。
它以服务为核心。传统的整合架构都是以应用为核心,而SOA里谈的一切都是从服务展开的。
它不是某种特定技术,而是一种架构风格、架构思想或一组指导架构设计原则。在特定风格、思想和原则的指导下设计出来的企业应用架构就是具有SOA的特性和优势的架构。
SOA的目标是实现IT和业务对齐(如图1所示)。这一目标可作为衡量SOA实施成败与否的重要尺度之一。

图1 SOA的目标:IT与业务对齐
众所周知,业务是不断发展、变化的,业务创新越来越成为企业核心竞争力的一部分。传统IT支撑业务发展的方式是为新业务构建新的业务系统,设计新的数据库,系统多是“竖井状”的孤岛形式,系统间连接常见的是点对点的缺乏规划的连接方式。久而久之,这样的方式已经无法满足业务发展对IT带来的要求,IT成为企业的严重短板。SOA出现的主要目的就是彻底改变这种局面,使IT变得灵活,与业务对齐,不再成为企业的后腿。甚至能够促进业务的发展,并创造新的业务价值。
为什么SOA能够实现IT和业务对齐呢?这得归功于SOA架构中的若干实施原则。
应用功能的服务化
将应用程序打散成服务是SOA实施的关键之一。一方面,遗留系统的功能和数据不能丢弃,只有重用才能利用其价值。另一方面,将应用作为整体,是从技术和实施上都非常难于复用的。所以,SOA的实施原则要求将应用中的功能模块抽象成开放、标准、粒度适中的服务,进而促进现有功能重用、避免重复投资、加速新业务开发的速度。









