探索中国CIO人才现状 | 第四季调研报告
Oracle与SAP两种ERP的六维度比较
2014-03-12  作者:畅享网 

  1.软件产品的成熟度


  经过近30年与全球大企业用户的合作,SAP系统积累了大量先进企业的业务管理流程。对于用户来说,只需根据在系统中挑选适当的业务流程,在软件中进行配置。而对软件的二次开发工作量极少,用户能够把主要的精力都花在企业业务流程的优化上,真正起到“上一套系统,管理提高一个层次”的作用。


  由于缺乏足够的业务流程模板和软件功能的支持,Oracle软件经常在实施中被发现无法满足企业管理上的要求。比如在大型制药企业中必须的批次管理、质量管理、设备维护管理等,而Oracle软件根本没有此类模块。虽然Oracle公司一再的夸大告诉客户其软件的二次开发技术十分灵活,但是这实际上也就是在告诉用户这套软件功能不够,用户得自己去编程序。


  SAP秉承德国企业严谨的文化,所有发布的产品都是经过严格的测试和质量认证,只有在软件产品真正完备后才向用户推出。Oracle则是一个非常注重市场效应的企业,经常是一有概念就马上宣称产品完成,然后快速推向市场。


  作为ERP系统的重要组成部分,SAP花了2年的时间进行汉化和按照中国政府的人事管理要求进行本地化,使得SAP的中国用户不仅能够使用国际化的先进软件,同时也满足本地化的要求。而Oracle对ERP软件产品本地化重视不足,至今在中国地区,Oracle的用户还没有一家能够使用Oracle软件的人力资源管理模块。


  2.技术的先进性


  Oracle应用系统11i版本是真正完全基于互联网INTERNET架构,并且采用开放的JAVA语言和技术标准进行编写的应用软件.这种技术的开放性使Oracle应用系统11i版本有越来越强的生命力。开放的标准意味着应用系统软件不受硬件平台,不受企业规模大小,不受地域限制等因数的影响。


  而SAP软件的主体部分还是完全用其私有的ABAP语言编写的,学习和使用都很困难,且与INTERNET或网络应用WEB技术不兼容(JAVA目前已经成为全球INTERNET应用系统的应用开发标准,而懂ABAP语言的开发人员非常少),虽然SAP也在试图转向JAVA标准,但由于其目前的系统过于复杂和庞大,完全的转型几乎不可能。非INTERNET结构上的应用系统,基本是基于客户/服务器(C/S)的结构,这在现在的INTERNET时代,是已经过时或被淘汰的技术,它将限制应用系统的规模和并发用户数,也不可能用于全球一体化的管理系统——即跨国或跨地区的大型企业将不可能应用一个数据库的管理系统。这将给这些选用该C/S系统的企业带来巨大的系统投资费用和系统维护成本,也使企业不可能在今后发展时,继续使用已投入的信息系统,即在原系统上增加新功能/系统的逐步实现企业信息化的设想成为不可能。


  虽然从表面上看,最终用户似乎感觉不到软件技术架构带来的变化,但事实上,是否选择符合发展潮流的技术方向会极大地影响到软件厂商及其应用客户的生命力。历史上,由于没能选择符合潮流的技术而迅速衰落的大软件厂商比比皆是(曾经在ERP领域领导潮流的SSA,由于不能将系统及时转向开放的UNIX平台,而迅速衰落),而这同时也给选择这些厂商产品的客户带来了极大的风险。


  Oracle应用系统充分采用了数据库上的先进技术,将有些系统功能放到数据库中去实现,而不是通过编程的方式,因而大大简化了程序,提高了效率。而SAP系统为支持多种数据库,不可能采用数据库技术去实现数据库端的功能,只是将数据库用来储存数据。其原因有两方面,一是SAP公司不是数据库技术公司,不专注于数据库技术,二是SAP也不愿意将自己的产品捆绑在一种数据库上,但这种做法牺牲了客户的利益。


  Oracle系统具有强大的查询功能,在其输入数据的界面中,输入的任何数据都可做为其查询条件。SAP则需要专门定义查询界面。


  3.在新兴应用领域的发展


  Oracle能够根据各行业的发展变化趋势,迅速将产品拓展到各种新的应用领域。其在客户关系管理、电子商务、产品协同开发等各行业的新兴领域都要领先于SAP。而SAP由于本身体系的复杂性和技术的封闭性,使得其在各种新的应用产品领域进展缓慢,例如,SAP虽然已经拥有庞大的制造业客户群,但在客户关系管理领域一直碌碌无为,在B2B电子商务方面也不得不依靠与CommerceOne的合作,直到2001年才解除与CommerceOne的合作,推出自己的产品。


  4.业务数据的共享和分析


  随着企业应用管理领域的不断扩展,企业应用系统涉及的范围也越来越广泛,从传统的制造、财务、人力资源系统管理,开始延展到客户关系管理、供应链管理、电子商务等方向,在这种情况下,系统之间数据的一致性和数据交换,就变得非常重要。


  Oracle11i整个系统基于一个统一的数据库,并且共享统一的数据模型。企业内所有的用户都可以根据自己的角色和权限对系统中的数据进行不同维度的分析。而SAP的ERP、供应链、客户关系管理、数据挖掘等应用系统分别构建在不同的数据库上,不同系统间的数据模型也不相同,这使得各系统之间的数据共享变得非常困难或者不可能。


  5.软件功能的比较


  SAP体现了德国人的管理风格:求严求全;Oracle体现了美国人的管理风格:求实求用。


  SAP功能复杂、全面,特别在传统的ERP功能方面,系统功能设计比较细致。SAP通过复杂的参数表、层层定义来实现各中功能。系统可以通过6000个“开关”设置,调整软件的业务流程。SAP参数设置是非常复杂的,例如,对采购定单下达过程的管理,SAP需要预先定义:先定义定单特征码,再定义相应的特征(如金额大于100圆)、分类、下达组(Releasegroup)、下达编码(Releasecodes)、下达标志(Releaseindicator)、下达策略(Releasestrategy),工作流标志等,再通过一系列规则表值的设置,才能实现采购定单批准下达的过程。如果需要修改下达过程,则必须从定单特征码开始修改。


  SAP的参数设置实际上包括了软件的底层数据结构,功能较强,但实施非常复杂,不够灵活。如果企业的业务需要调整,就会涉及非常多的底层数据设置,参数和规则的调整,甚至可能影响已有业务数据。


  Oracle软件的业务流程控制结构非常灵活。它充分利用工作流的功能来控制软件的业务流程,可以灵活地调整软件的业务流程。例如,对采购定单的下达过程,Oracle利用采购定单的数据(不须设置特征参数),通过工作流引擎自动检查采购定单的数据,根据条件判断实现不同的采购定单批准下达的过程。如果需要更改业务流程,无须更改特征参数,只需更改判断规则或控制规则。


  Oracle的控制参数设置不须修改数据结构,而是通过采用不同的控制参数来调整程序的逻辑。这是因为Oracle采用公共的数据模型,程序中充分利用现有的业务数据,通过灵活的规则设置来实现灵活的业务流程。


  6.软件的开放性和集成性


  SAP的软件各模块在搭建上采用的是传统应用软件的模式,即在程序中用包含头函数以及子程序等模式。这种模式在与第三方软件交换数据时,只能通过编写接口程序来实现。SAP软件的应用层是使用ABAP语言编写的程序,ABAP是比较复杂和只有SAP软件使用的语言,比较难掌握,又由于其只能在SAP的软件中才能发挥用途,掌握的人也很少,IT专业人员学习它的积极性也不高。SAP系统在与外界交换数据时,其接口程序也要求用ABAP语言来编写,具体是用ABAP语言中的函数来向系统中导入数据,其对数据的格式要求也很高,要求的数据必须是带分格符的文本文件。SAP的这些做法导致其软件系统在同第三方软件集成上远远落后于Oracle,同时这些做法也阻碍了其自生软件的进一步发展,这也是SAP的ERP与CRM不能完全集成的原因之一。


  Oracle公司凭借其在数据库方面的优势,其应用软件在模块的体系搭建上采用了一种先进的模式,各模块之间以及与外界交换数据都必须通过接口表来完成,具体的做法是数据要进入各模块时,都必须先到各模块自己的接口表中(每个模块都有自己的接口表),然后再通过并发等方式导入该模块中,这种模式很容易将第三方的软件融入Oracle的系统中,用户在使用时很方便,感觉象是一套软件,因为在交换数据时第三方的软件与Oracle的产品各模块间交换数据的模式是一致的,同时用户可以以自己熟悉的数据库语言(VB,PL/SQL等)来编写应用程序与Oracle系统集成。凭借软件系统体系上的优势,Oracle将ERP、CRM,SCM,EB等系统完全集成为一体,形成今天的电子商务套件。


  结论


  企业的多样性和复杂性使得任何ERP软件都不可能覆盖企业的方方面面。Oracle较能适应企业的业务的个性化,便于调整;而SAP较适应稳定、标准的业务流程,难以改变。这也是SAP强调,SAP代表了先进业务流程,要求企业适应软件的原因。