这些都不是SOA
在和同事们讨论我们的服务化过程中,以及网上看到的一些帖子,甚至在某些SOA的宣讲会中,把以下情况都认为是在搞SOA:
- 使用web服务的应用就是SOA
- 使用RESTful的应用就是SOA
- 使用了分布式计算就是SOA
- 使用WS-*扩展的web服务应用就是SOA
- 使用了ESB产品,就是SOA
- 使用了SCA产品,就是SOA
- 使用了IBM,Microsoft等公司提供的SOA产品,开发出来的应用就是SOA
以上这些情况都不是SOA。SOA是以业务入口点,来自于实际的业务需求,以下例子才是真实的SOA。
XX航空集团开发的独立系统很多,现在需要把信息流整合起来,制作更全面的报表、提升信息流转的速度、方便信息分享、提高信息检索速度等,此时从业务信息整合的角度出发,以服务的思想构件了一个新的统一信息平台。
我们公司存在同样一个业务逻辑,会用在WEB平台,手机平台,管理平台,开放平台(还有其它原因,参考SOA,想说爱你不容易),原有的做法是共享类库,直接操作SQL等实现,现在利用SOA的思想,把这个业务逻辑封装为服务,供所有平台使用。
Yahoo中国和口碑合并,内部系统必然涉及到人员,业务流程的变化,采用SOA就能够化解之(我们常常看到一些报道,某公司收购另外一个公司,信息化系统的整合往往花费几年时间[当然还有其它原因,例如文化],甚至会失败。案例表明:采用SOA的公司,成功率高于不采用SOA的公司)。
参考资料:
http://www.infoq.com/cn/news/2007/07/soa-ws-relation
IBM提供的实践文章
IBM 内的 SOA 应用,第 1 部分: SOA 案例研究
IBM 内的 SOA 应用,第 2 部分: SOA 案例研究
IBM 内的 SOA 应用,第 3 部分: SOA 案例研究
IBM定义的SOA入口点:

2 Trackback(s)