SOA是近几年非常火热的一个技术话题。只要是从事IT行业,或者和IT行业沾一点边的人,不知道SOA的可能性是非常之小。从前几年的概念普及,到现在与SOA相关的产品出炉,SOA正在向我们走来。有人说,SOA的市场成熟了,一个属于SOA的新IT时代马上就要来临了。
平民眼里的SOA
一方面,SOA的种种好处让人们对它艳羡不已,一方面人们对SOA又难免有一些认识上的误区。
本刊前不久进行了一次关于SOA的调查,超过80%的IT主管都听说过SOA。再看对SOA的了解程度,超过半数的IT主管认为自己只是一般了解,仅有不到10%的IT主管认为自己比较了解SOA,而在189名参与调查者中,认为自己非常了解SOA的居然是零。
面对SOA的日益火爆,不仅供应商们纷纷标榜自己的产品符合SOA架构,CIO们也怕自己跟不上潮流。懂了的要显示出自己比别人更为了解,不懂的也要努力装出懂了的样子。
曾经有一家出版社将自己的一部分应用改为使用基于Web Services,采用 XML来描述系统接口。由此这位信息中心主任认为自己企业的系统已经可以称之为SOA架构了。殊不知企业门户和SOA还是有本质区别的,建立了企业门户并不等于系统就SOA化了。
虽然企业门户也是基于Web Service,但SOA和Web Service不是同一个概念,SOA是组织IT资源更好地满足业务不断变化需求的一种方法!Web Service是基于标准的、协议化的软件功能和数据的接口。
还有一位CIO提到SOA很不以为然,原因是他认为SOA与BPM(业务流程管理)就是一回事。SOA就是BPM,BPM就是SOA,没什么新鲜的。
一方面,人们对SOA有这样那样的误解。一方面,对于SOA的作用,即便已经实施应用的用户也很难说得清楚。
高贺是中国工商银行鹤岗市分行信息科技部信息应用主管。工商银行有一些系统是符合SOA架构的,但谈起对SOA的感受,高贺的感受和普通的银行顾客差不多,只是感到电子银行自从改用SOA技术后,各个系统间的访问流畅了许多,电子银行的业务范围也有所扩大。
SOA来了
灵动商务、随需应变的口号令人们对SOA充满了渴望,一首在网上流传的打油诗就能反应出人们的心态:
不用说,灵活的系统是CEO和CIO都期望看到的。把公司转型为“随需应变”的企业,满足各种不同需求,听起来多么具有诱惑力啊!
于是,SOA的概念为人们所热衷,也为供应商所追捧。一时之间,SOA成了一种IT时尚。用户不了解SOA仿佛就跟不上时代的发展,供应商没有SOA产品,仿佛就在激烈的市场竞争中失了先机。谁也不愿意落伍,于是不管懂与不懂,CIO们都对SOA表示出浓厚的兴趣,供应商们也都纷纷标榜自己的产品是符合潮流的SOA架构。
但SOA远远不是为了整合而生,SOA是一种松散的体系架构。
其中,S指的是Service-服务,A指的是Archirecture-架构。
SOA本身就是一种面向企业级服务的系统架构,简单来说,就是一种进行系统开发的新体系架构,在基于SOA架构的系统中,具体应用程序的功能是由一些松耦合并且具有统一接口定义方式的组件(也就是Service)组合构建起来的。
跟管道的、分层的、黑板式的体系结构相比,SOA要更松散。它的模块(组件)只是一些服务,然后可以任意地组合拼接以获得新功能来满足新需求。这些特性为SOA赢来了非常灵活,可以冠以“随需应变”的美名。
传统的分层架构有助于将大系统分解成子任务,每个子任务限制在一个特定的层次上,层间从上到下依赖,从下到上是松耦合。在分层模型中,一般都非常强调接口,因为可以让上层只依赖于下层的接口。
黑板系统主要由三部分组成,知识源、黑板数据结构和控制。
知识源中包含独立的、与应用程序相关的知识,知识源之间不直接进行通讯,它们之间的交互只通过黑板来完成。黑板数据是按照与应用程序相关的层次来组织的解决问题的数据,知识源通过不断地改变黑板数据来解决问题。控制完全由黑板的状态驱动,黑板状态的改变决定使用的特定知识。
换一种说法,过去的技术好比是结合,而SOA是松散耦合。以前好比男孩和女孩想一起出去玩,需要结婚,万一感情不合不想再在一起还需要离婚。而SOA的架构则像朋友交往,可以任意组合。
还有这样一个比喻能帮助你简单的了解SOA,SOA就是邮购。当你从报纸上看到一个邮购广告,然后你剪下来,添上你的需求、型号、递送时间和你的地址,把钱放到信封里然后寄出去。不久你收到了你需要的商品。整个过程首先是异步的,其次不需要了解对方对你的订单的传递和处理过程,整个过程还包括了交易和结果的递送。而报纸上的广告可以看作软件服务对外暴露的接口。