本人正在开发一个号称基于SOA的企业级应用开发架构,其间很多感慨,于是成文,用以记录。本文不是什么非常学术的研究文章,虽然我的身边几个博士在搞这方面的研究,并且还有一个博士后在搞这个方向,但本人理论水平却着实有限,于是涉及到很理论的东西还请大家到相关的BEA或IBM的相关专题查阅。
我设计的架构却是希望能够将SOA落到地面上。不过,美女走在T台上,看起来绚烂多姿,但可能走到你的面前却可能是瘢痕点点,让人感觉不过如是。也可能是我本人水平不够,不能理解真正SOA之精髓,故本文漏洞一定颇多,也就是抛砖引玉。
第一次听到SOA大概是2003年,Sun的几个架构师(其中据说包括Sun中国区的一个主架构)来我公司技术交流,实际是售前的把戏而已。其间言之凿凿地讲,Sun的所有产品今后都将向SOA转型。我当时正和J2EE血拼,哪里知道什么SOA,只觉得晦涩难懂不知所云。幸好有一个英文单词本人背的非常熟练,那就是“Google”。之后对SOA的概念有所了解,但感觉距离过于遥远,所以轻轻放下。
******SOA怎么了
前段时间去XXX公司(业内圈子小,不能乱说话)的中国研究中心,研讨SOA方向的内容,在座的多是各大国内公司的CTO,主持的是业内的那个国际性的老大。老大提供了一个国内(50强)企业SOA实施成功的实例,我等怀着无比仰慕的心情听完之后却发现与我等对SOA的理解截然不同,老大将该公司的几十个异构应用统统整合,使用的方法是全都推到,使用老大提供的全套解决方案重来之。我听过之后只有感慨,50强的公司就是有钱啊。
我曾经为一个世界50强的企业作过一个大概有1500万RMB的项目,其间要和该公司的大概5-6个其它应用结合(注意不是整合),该公司是不允许把那几个应用推到整合的,我想这也是很有代表性的应用。当时整合的办法就是直接操作数据库,不要惊讶,在具备相关资源的情况下这是非常地道有效的绝招。我想到了使用SOA,但是我遗憾的发现,SOA在这种情况下并不实用,首先其它几个应用的开发方不可能妥协在你的解决方案中(大家都是对手,怎么可能妥协),然后就是即使妥协,谁来搞接口的开发测试,费用谁出???于是乎就有了我们前面的方案。
此时回想,老大提供的整体的SOA的解决方案反而可能是SOA实施的最好方式。可是这种解决方式不是普通规模公司可以承受的,类似于企业实施ERP,完全是抽筋拔骨式的应用。那么,各个大的软件商一拥而上的搞SOA的基础是什么呢?
-----------未完·待续