技术开发 频道

理解SOA概念的三个最形象比喻


【IT168 专稿】笔者从第一次听说SOA到现在有几年的时间了,其间和各种各样的人士进行了多次讨论,但是越讨论,越发觉这不是个可以用定义来说得明白的概念。

 之前,在软件行业里还没有某个词语会引起如此多的非议与争论,笔者有时觉得SOA很像禅宗里讲的:“说是一物即不中”。对于我们来说最难做的,就是把这样一个抽象的概念说给没有技术背景的人去听。笔者认为建立概念唯一的办法就是利用比喻。

 在我听说过的几十个关于SOA的比喻之中,有几个比喻得到很多人的认同。建议那些想把这个概念说给业务人员和管理者的技术人员不用再冒险了,用以下这三个比喻试一下。

玩乐高玩具,体会SOA概念

 SOA的理念与乐高玩具的设计思路很相似,这是最早的一个关于SOA的成功比喻。

 传统的应用好比是普通的玩具,不可拆卸和拼接。而乐高玩具与众不同,可以按照用户自己的想法随意组装,就是因为它是由标准的微小的组件构成。

 基于SOA的应用都是由更小的服务组件组成的,如同乐高玩具的模块;用乐高玩具可以搭建各种不同的形状,就好比SOA架构可以实现不同的应用;乐高玩具的模块式是基于标准化的,因此可以反复利用,SOA架构也是这样。

 这个比喻的好处,是能很快帮助非技术人员在头脑中建立形象的概念,在一个研讨会里面,组织者发了一些乐高玩具的模块让客户们自己做出一些东西来。由此很快让听众明白,他们就是在做和软件开发类似的事情。

 也许有人会说,SOA那么复杂,用小孩玩具来比喻是否太浅显了,这时,进入深层次探讨的机会来了。

 看上去,乐高玩具这么简单,似乎没什么深奥的,但其实这背后隐含了一种设计哲学。设计乐高玩具的团队都是一群拥有博士的设计专家,他们必须解决的一个矛盾是,如何把标准,松耦合、模块的功能以及力学等要素在设计和规划的时候统统解决,留给使用者的,只是纯粹玩的乐趣。一个有趣的事实是,乐高玩具这样一个看上去如此简单的东西一直没有模仿者。

 通过这个比喻,大家可以在10分钟内就明白SOA是怎样一回事,就像所有人看到乐高玩具时就马上能找到玩法一样。然而,当一个人从设计者的角度来理解乐高和SOA类似的设计哲学时就会发现,两者的服务对象其实正是不需要关心技术的人,而且,他们都是为技术买单的人。

 工程师的位置,到底是个玩家,还是设计者?作为玩家,工程师懂得似乎多了一点,作为设计者,他还有太多东西要学,就像要成为乐高玩具的设计者一样。

看看电视与电脑的区别,理解SOA的特点

 修电视比修电脑难多了,虽然电脑比电视要复杂多了。SOA就像电脑,结构复杂,但容易管理、容易维护、容易升级。

 电脑有一个基于标准的结构——总线结构,还遵循即插即用的契约标准,这些IT界的流行语塑造了PC行业。SOA也拥有几个标准的参考结构,总线,松耦合这些理念和PC行业的基本理念完全相同。

 看一看身边那台可以随时拆开修理、更换显卡、升级内存的台式机,任何一个同行都能马上体会到具有相同理念和优势的SOA的好处了。

0
相关文章