从SOA概念诞生之日起,围绕SOA与EAI(企业应用集成)的重合、关联及差异所展开的争论一直没有平息。“把EAI包装成SOA再卖一遍”或许只是个IT圈子里的笑谈,但是对于企业中实施过EAI项目的IT人员而言,“SOA与EAI到底有什么不同?”,这样的疑问是他们刚接触到SOA时便会立即产生的。而在一个被冠名为SOA解决方案的产品被一步步地拆解之后,它和EAI的确是像得不能再像了。
顾名思义,EAI以集成应用为己任,通过接口标准化整合企业应用,贯通应用孤岛。而这部分恰恰也是SOA的核心任务。在SOA概念普及的初期,倡导者往往会先把SOA的一些核心理论和功能介绍给用户,同时结合一些早期技术进行比较,EAI便由此和SOA紧密地联系在一起了。其实,SOA和EAI并不是很难区分开来,一种是软件开发和管理的构想,一种是具体的技术实现方式,两者的整体交集并不太大。但是不要忘了现在是SOA的初级阶段,在理论框架不断完善和扩充的过程中,两者实现结果上的相似性很容易让用户产生混淆。尤其是在用户从IT视角向业务视角动态转换的敏感时期,这样的疑问一定是非常普遍的。
用户的困惑敦促SOA服务的提供者寻找更加形象地阐述SOA理念的方法。而在鱼龙混杂的SOA厂商之中,“老瓶装新酒”的可能性尚无法排除。在新概念出现时,打包旧产品并改头换面,迎合市场炒作,这样的营销伎俩在业内早已屡见不鲜。而这也正是造成SOA和EAI今天的微妙关系,以及这种状态将持续的关键原因。
现阶段在技术层面,SOA和EAI的差异究竟体现在哪里?一位多年从事金融应用开发的朋友认为,SOA将一些EAI功能模块进行封装,并使之标准化,以满足企业在应用整合、服务拼装、服务复用的需要。这是目前SOA相对EAI的最合理进化。