看到最近SOA又火了起来,呵,我从刚进这家公司的第一个项目开始,就是号称用SOA来进行一个大型系统的rewrite,一个从顶向下重新开发设计的一个系统,最终开发刚开始,就由于budget的原因而被董事局喊停。
 
我在这里想说的是,采用SOA的好处我们大家都知道,
1. 利用现有的资产,不必重新从头开始构建。
2. 更易于集成和管理复杂性,因为集成点是规范而不是实现,从而提供了实现透明性,复杂性隔离。
3. 更快的响应和上市速度,通过利用现有的组件和服务,可以减少完成软件开发生命周期所需的时间。
4. 减少成本和增加重用,因为SOA之所以成为SOA,关键一点就是通过松耦合的方式公开业务服务的。
5. ......
 
问题是有哪家公司的决策者有足够的魄力来推行SOA呢,对于一个全新的系统来说还好一点,但是对于一个旧有的系统,而且是公司命脉所在的大型系统,推行SOA必定导致对整个公司的infrastruture的大改动,包括EA,所花的成本和风险决不是一个全新的系统,从顶向下进行开发所能比拟的。
 
我这里强调的是,在中国推行SOA,一定得符合中国国情,浮躁,激进,注定会让SOA成为过客。我个人认为,现在在鼓吹SOA的大部分都是大型服务供应商,像BEA,IBM,Oracle等等,原因何在,因为SOA的出现与成熟,终将导致更多的业务专家而不是技术专家,从而大型厂商在SOA的领域再一次出现垄断局面。但是,作为一个IT界人员,从学新事务的角度来看,我倒是蛮希望更多的小型公司能够采用SOA的思想构建自己的系统,尽管有点4不像,但是,能够为公司所用的,符合公司发展策略的系统,就是好系统。