SOA是面向服务的一种架构,他将许多模块共用的部分,都写成了一个服务,这样就避免了很多的重复工作,解决了大型企业多工厂,多地方办公但还还要统一更新的不足。优点很多很多了。
我给你举个例子:比如说你现在拥有一家快速发展的小仓卖。最开始可能客户很少的,你自己看管着就能照看过来。那么你自己直接面对客户,直接从货架取货就能完成所有的业务了,那么你的这种架构就是C/S架构的。你就是C,Client.你的后台就是货柜。就是server.
但是情况发生了变化。你的顾客突然增多了,并且是成数量级的增加。你该怎么办哪,你最初的想法肯定是增加人手。可是很快你就会发现,你增加了10个人,也只能同时面对10个客户,并且10个服务人员之间会有交叉,手忙脚乱的。你很快就知道了,这不是简单增加人手就能改变的,肯定是方法的问题。你就把这10个服务员分成了三拨,第一波6个人,只面对客户,他们的职责就是记录客户的需求,第二波2个人,他们别的都不作,就做统计客户的信息,分类的。第三波2个人,他们也就是到库房去取第二波人记录的顾客需要的物品,这个办法实行后,你发现虽然面对客户的只有6个人,但是他们同时接待的客户竟然可以达到了几十人。这其实就是B/S架构。第一波人就是浏览器。第二波人就是中间件应用服务器,第三波人就是数据库应用程序。
再后来,你的仓买变成了连锁,你发现,你的这种模式也不能满足你的需要了。因为你的仓卖业务扩大了,有的个别仓卖还可以销售其他的东西,甚至可以做到贩卖飞机的各种零部件了,当然不是所有的仓卖所有的零件都有,西部的仓卖有飞机头零件,东部的仓卖有飞机的引擎。但是客户的订单只有你总部统一获得,而东西部的仓买并不能统一的快速的获得客户订单的变化。怎么办,你就考虑是否能将这个订单有一个专人来管理。他就是一个服务。不论总部或是下面的仓卖,凡是涉及客户订单的都去问他也就是调用他,很快,你发现你的问题解决了。并且这个解决的方法就是一个简单的SOA的应用。
SOA通俗释义