注:在此声明,先感谢梁爱虎编著的《SOA思想、技术与系统集成 应用详解》,此书帮助我很多东西,写这些文章只是纯粹是在学习此书的知识中,根据实践过程归纳下知识要点而已,别无其他东西
,另外的是之后出现的书中,没有特别说明,都是来自于《SOA思想、技术与系统集成 应用详解》,毕竟是根据它的学习笔记嘛。
SOA,听是我们听得多了,各种厂商不断推广他们的方案,但是它实际是什么呢?让我们通过书本来慢慢揭开它的神秘面纱。
SOA的英文全称为“Service Oriented Architecture”,中文翻译为“面向服务的架构”①。那么它就是Web Service吗?还是说是服务总线架构技术吗?其实,这两者都不是。书中明确指出:SOA本质是一种思想,它超越了所有的具体技术(如Web Service组件技术),也超越了所有的具体架构(如服务总线架构技术);同时SOA也包容这些具体的技术和架构②。
也就可以这样理解,实际上SOA不是一个具体的技术,而是一个抽象的思想或是一个框架,因此作者就提到“SOA只是一个代号或者标记而已,它代表的是一种新的思想,不要局限于对原始的英文单词‘Service Oriented Architecture’的理解之中,它只是‘以服务为向导的新的IT时代’的IT方向指导的一个标识而已,其内涵将会越来越丰富”③。
弄清何谓SOA,必须还要了解的是它的做什么。举个例子:一个客户端要获得一个“加”的方法(即服务),如果是组件调用方式(如图1-1),调用Web Service时就必须知道,服务所对应的URL,而且需要传输的协议是SOAP/HTTP。

而在SOA的服务调用方式中(如图1-2),客户端无需知道服务所需要的URL和传输协议,通过任意一种传输协议告知服务总线我要调用“加”的方法,那么服务总线就会找到其对应服务的URL和协议,通过服务总线来调用其服务,再将返回结果送回客户端。
图1-2 SOA的调用方式
那么SOA的目的是什么呢?那就是敏捷、不受限制的集成,从而使IT能够随着业务需求的变化而自由调整,达到所谓的“随需而变”④。这个就是我们的终极目标了。
后记:由于本人对概念的东西是很弱很弱的,所以引用了书中大量的字段(即那些下横线的文字)。不过呢,由于SOA含有的信息量实在是太大,所以很值得去研究研究,但是不一定就只是看一本书就可以了,我个人觉得还要借鉴其他书籍,再来实际实践下,最后再来总结经验。
注:序号为引用书中文章出处
①第三页,第一段。
②第三页,第二、三段。
③第四页,第七段。
④第十一页标题