2008-4
29
说句实话,到底SOA是个怎样的东西,我一直认为,SOA是概念大于实际的东西。
SOA的全程是Service oriented architecture,基于服务的架构。
听起来还是比较玄乎的。其实,真正想理解所谓SOA的话,我来举个例子好了。
比如腾讯的拍拍网,产品需要搜索是吧?腾讯有自己的SoSo,那么想当然拍拍网的搜索肯定是用Soso的。但是问题出在,是否需要从Soso抽调人手到拍拍网来帮助拍拍做自己的商品搜索?或者拍拍网自己来做搜索?
想当然的不用。正确的过程应该是,SoSo给拍拍网一个网络接口接受一定格式的数据,并且根据数据返回需要的值。拍拍网所需要做的就是将用户提交的搜索信息,整理成Soso接口所能接受的信息并且将SoSo返回的结果显示给客户。至于SoSo如何得到这些结果,拍拍网不需要知道或者了解。
如果那天SoSo调整了算法,拍拍网不会知道。因为拍拍网从头到尾并没有对SoSo进行任何的操作,他们所使用的就是SoSo给的一个接口。至于这个接口内部如何实现,他们不知道,也不需要知道。
现在是不是有些明了了呢?所谓SOA,本质上来说,就是一种接口,一切以使用为根本的接口。使用者不需要知道内中如何实现,只需要知道如何去使用。
使用SOA的好处不言自明,对于使用者而言,省事,轻松,不需要管实现过程。对于开发者而言,他们所需要更改的仅仅是这些Service的实现过程,而对于数据结构、使用等等不需要了解。换言之,一种三层结构,最下面一层是数据,中间的就是SOA,SOA上面的为使用层。用户关心的仅仅是使用层面的东西,开发者关心的仅仅是SOA层,对于数据结构,就是架构的事情了~~
还没有任何评论。