信息化 频道

如何深入浅出理解SOA?

通过超市的例子解释什么是SOA


    我们在小的时候家门口有很多的小卖部,大一点的小卖部会有柜台,营业员站在柜台里面,我们需要买东西的时候来到柜台外面,柜台里面有什么商品透过玻璃一目了然,找到想要的东西后直接向营业员要就好。小一点的小卖部更是只有一个窗口,我们通过窗口就可以看到里面大多数的商品,直接找老板要某一样东西就好。这样,每个小区或家属院门口都会有一到几个小卖部,满足了我们多数的日常需要。

    这就类似我们早期的IT建设,各个部门根据自己的需要,分别构建自己的应用系统,用来实现本部门业务的自动化(从手工方式变成电子方式),业务量和数据量都不大,基本上能满足本部门的需要。

    随着社会的发展,小卖部越来越不能满足人们日益增长的物质需要,于是,百货商店(百货大楼)就得到了大的发展,大家都习惯去百货商店购买东西。

    同理,各个部门的业务也在发展,分散在各个部门之间的业务系统也越来越不能满足企业日益增长的业务需要,于是,各种集成系统应运而生,就像从小卖部到百货大楼的转换一样。

    社会的发展还在继续,随着大卖场(超市)的出现,人们的生活方式有了一次大的转变,以往我们需要跑很多地方才能买到的物品,在超市里就都可以买到,从粮油副食品,到小商品,再到电器等等,真正实现了一站式购物。在超市出现以前,比如同学要过生日,我们需要买蛋糕、鲜花、生日礼物送给同学,同时蛋糕需要用漂亮的包装盒包装,生日礼物需要用包装盒以及丝带包装,那我们需要分别跑不同的地方才能买到我们想要的东西,而随着超市的出现,蛋糕、鲜花、生日礼物都可以在超市买到,同时还会赠送蛋糕需要的包装盒,生日礼物需要的包装盒和丝带。超市带来的另一个变化,就是我们可以自由的挑选我们想要的商品,所有的商品都摆在货架上等待我们挑选,相比于传统的百货商店和小卖部,要方便许多。

    企业基于全局构建的SOA系统同样给企业应用带来了一次大的转变,通过基于SOA的系统真正实现了对所有企业资产的集成(类似于超市的一站式购物),通过重用(REUSE)企业现有资产,构建更好的面向使用者的操作平台(而不是面向计算机的一个个孤立的应用系统)。基于SOA构建的系统(超市)可以很好的集成企业中已经存在的各种资产,从而使企业的现有资产得到了很好的重用。通过服务调用的方式,使得原有各个系统以及新构建的系统有机的结合成为了一个整体。

    大型连锁超市背后的重要支撑就是其现代物流,这就类似于SOA中的企业服务总线(ESB)的概念。现代物流中运输的是超市需要的各种商品,同样,ESB上跑的是各个系统需要的服务(Web Service)。超市可以把以前的小卖部以一个个货架(专区)的形式整合起来,而基于SOA的系统同样可以把以前一个个孤立的系统整合起来,这种整合是以松耦合的方式实现的,不再像集成系统那么通过点对点的集成技术来实现(当业务发生变化时,需要硬编码来修改系统以适应业务变化),就像货架上卖的货物可以随时调整一样,基于SOA的系统允许接入的服务也是可以根据需要进行变化的。


 

0
相关文章