SOA的好处有很多种,我绝不否认。但以我的阅历,能体会的只有以下几种。
1.
SOA的优点即分布式计算的优点
a. 解决信息孤岛问题,最大限度地利用现存系统
b. 业务层的复用,重用更好,冗余更少
c. 可重用性强,那么添加新功能就快
d. 冗余少,那么可维护性就好,适应需求变化的能力也就强
e. 相比于传统的分布式系统,SOA还提倡采用标准化的互操作性接口,并主张采用更大的业务组件粒度,这是它最大的创新之处。
2.从程序员的角度看,
SOA导致了分而治之的开发模式,提高了软件活动的敏捷性。由于一个系统被拆散成多个相对独立的子系统,开发/测试/部署/项目管理/组织管理 的对象都变小很多,应付起来也更容易。比如说,以前开发时要打一个巨大的EAR包,部署一次要10分钟,现在拆散了,1分钟就可以部好了。