过去我曾经对SOA的思想写的挺明白,但估计文章太罗嗦,N多人没看下去。今天和胡争辉在网上聊,他在他的blog上转载了许多关于SOA的文章,他也问了我一些问题,我说这些问题我都曾经写过啊,你也转载过我的文章,你应该能理解的。
所以我想单刀直白点
一、问:为什么要SOA?
答:因为SOA出现前,世界上有Corba组件模型、JAVA组件模型、COM+组件模型、.NET组件模型。其中,CORBA组件模型和JAVA组件模型属于IBM为首那一类阵营(一伙的还有BEA、ORACLE、HP、SUN之类的),而COM+组件模型和.NET组件模型属于微软这独个一家的,自古两个阵营是表面同行、暗地互掐。
IBM当然需要四海一家的解决之道。因为JAVA组件模型老受SUN的牵绊,而且江湖风传EJB已死。CORBA组件模型呢,一直没有当过老大主流流行过。其他两个组件模型都在微软封闭的圈子里,IBM就想在在这四大组件模型之上再加一层组件模型,这样就天下大同了,这就是SCA。
有了SCA组件模型,各个异构组件模型现在都被包装成一样的组件了,怎么数据传递?当然就是SDO来帮忙。
二、问:听说SOA主要优势是整合,但是我们既然有webService了,要SOA干吗?