关于中间件的定义,各个中间件厂商可能都有不同的解释,它们的产品往往推出时就打上了“中间件”的标签。业内比较认可的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
 
高端ERP的主要厂商是SAP和Oracle,在中间件的研发和应用方面,Oracle略胜一筹。Oracle本身除了是数据库和应用系统的领先企业外,自从收购BEA后,在中间件技术方面实力大增。Oracle ERP构建在J2EE(WebLogic)环境下,这个软件环境本身就是中间件的集中应用。Oracle在应用网络构架下,所涵盖的产品包括WebLogic Server、Tuxedo、Coherence以及JRockit等,不论企业的应用系统是由Java或是C++编写,Oracle都有相对应的中间件解决方案。
 
Oracle的整合能力,可能软件界无出其右者,收购BEA后,Oracle花大力气整合了重叠的中间件资源。Oracle开始逐渐放弃原有的J2EE容器,开始推广源于BEA的WebLogic,同时将ERP等重量级的应用切换到这个平台上。Oracle使用Fusion技术推出融合中间件,在应用服务器、商务智能、业务流程管理、协作、内容管理、企业门户和Portal、SOA等方面重新定义了新一代企业级应用的中间件产品。
 
在ERP、CRM等信息产品以及SOA的竞争中,SAP也紧随着Oracle中间件发展的步伐。Oracle推出Fusion技术,SAP开始定义了类似的NetWeaver平台,这个平台说简单点,就是一个类WebLogic的中间件容器,SAP在中间件的技术浪潮下,开始逐步放弃ABAP、BSP等旧有的开发技术,开始向Java正式切换。SAP现在很多新的应用,已经在Java下开发,为了向下兼容,中间件起到了兼容海量ABAP代码的作用。Java和ABAP在SAP的NetWeaver平台和平共处,不得不让人感叹中间件的神奇。现代ERP的一个明显示的技术标志,就是中间件技术的大量应用。ERP产品通过中间件技术实现了面向服务架构(SOA),将为企业用户带来实在的好处,最明显的就是增加了流程管理的灵活性,管理者能方便的将设想转换为业务流程。
 
Oracle利用Fusion中间件组件,不仅可以整合ERP资源,同时整合收购的J.D.Edwards、PeopleSoft和Sieble等产品线。Fusion中间件已成为Oracle发展其现有应用产品以及开发下一代应用产品的平台,该中间件产品被称为Project Fusion。不管怎么说,众多的Oracle企业应用软件已经采用了这种中间件。同时,在SAP客户中,采用Oracle Fusion中间件的客户比采用SAP NetWeaver平台的客户还要多(——Oracle公司总裁Charles Phillips)。
 
SAP将NetWeaver定位为一个业务流程平台,而不是各种中间件功能的集合。在这个平台上,XI和xApps是负责数据接口和应用接口的中间件。
 
从中间件技术的先进程度看,我更看好Oracle,除了其中间件的研发能力外,收购的多家第三方应用软件服务商,有多年的整合其它系统的经验。不过从应用方面来看,SAP积累的多年行业经验,以及相对较封闭的系统和NetWeaver环境,使其中间件也将在实施过SAP系统的企业大行其道。
 
中间件技术已经成为企业信息化不可或缺的基石之一,希望将来能看到更多国人自主知识产权的优秀中间件出现在Oracle、SAP以及国内的ERP平台上。
 
——转自冯强blog