从软件开发看SAP和用友ERP区别

内容分享2天前发布
0 11 0

生态比较

在IT行业,基本存在着一超多强局面。从最底层说起,PC芯片是INTEL一超,然后AMD和其它几个强;手机芯片是高通一超,联发科等其它几个强;然后是操作系统,PC是WINDOWS一超,LINUX和其它几个强;手机端操作系统,是IOS一超,安卓其它几个强;等等不少例子。

这一超属于软件的还有个特点,自己就是一套生态,列如IOS、WINDOWS等,而多强却是共享生态,列如安卓各厂商、LINUX各版本。

在ERP领域,也存在这个现象。SAP是一超,然后ORACLE和其它几个强,国内是用友和金蝶等。而且SAP是自己一个生态,其它不能算是完全自己一个生态。

SAP的开发语言是ABAP,开发工具是GUI,数据库是HANA,服务器是LINUX 。开发语言和数据库都是自己专用的,生态封闭。

而其它厂商开发语言基本使用JAVA(微软使用C#),数据库基本使用ORACLE(微软使用SQLSERVER,MYSQL在ERP领域应用还是较少),服务器WINDOWS和LINUX。用友属于此类,生态是共享开放的。

从软件开发生态上来说,SAP的确付出更多,虽然代码开源,但是由于自己单独生态,所以其它开源插件都无法使用,所有功能都要自己开发。而其它已JAVA为基础的ERP厂商由于有全世界的开源社区支持,许多基础插件或中间件以及各种问题都有成熟的解决方案,不必重复造轮子,只需要关注产品逻辑即可。

但从项目实施生态来说,二者正好相反。SAP原厂只关注软件本身,具体实施交给其它外部合作伙伴,而且多数著名咨询公司都是SAP的项目实施厂商。而用友之类的厂商则是大部分都由原厂团队负责,外部合作伙伴占比较少。

这样的结果就是SAP有更多的精力来研究完善软件,同时依靠强劲的合作伙伴提高产品知名度和项目实施成功率,还能规避自身风险。而用友之类厂商则会陷入项目实施的沼泽中无法脱身,更无暇顾及产品本身。

总的来说,SAP以一己之力对抗整个开源社区和其它所有ERP厂商,还能获得行业内最大利润,和苹果一样,主要还是依靠他的生态。

开发语言比较

SAP主要采用ABAP作为主要开发语言,部分插件如PO采用JAVA开发,部分模块前台页面采用FIORI开发(类似于VUE),早期使用WEBDYPRO(类似于JSP)。

这主要是由于SAP诞生时候,还没有JAVA,而其他的语言又由于种种缘由SAP没有看书,所以自研了一套开发语言。

用友采用JAVA作为后端开发语言,早期前端采用JSP,目前前端采用REACT。

ABAP和JAVA最大的区别就是ABAP是解释性语言,JAVA是编译性语言(虽然是先编译再解释)。解释性语言的最大好处是升级方便,无需重启应用。这点在实体产业超级重大,由于实体产业基本是24小时不停工的,如果每次升级系统都要重启,那会造成多大的损失。后期用友虽然增加了负载均衡,可以起到平滑升级的目的,但还是不如这种解释性语言方便。

之前做用友接口开发时,一旦有问题都要找晚上没人的时候停机,而SAP可以随时把代码发布。仅仅这一点,SAP的优势就很强劲。

虽然有质疑解释性语言性能不如编译性,但实则二者性能差距很小,多数环境下可以忽略不计,列如PHP写的许多网站,依旧可以支持较大并发量。尤其对于企业级应用来说,并发量远远达不到互联网级别,而稳定性和快速开发迭代更为重大。SAP和PHP也都证明了,解释性语言是可以满足性能需求的。

在语法和开发效率上,二者大相径庭,JAVA作为通用性语言,功能自然更多,但是对于企业级应用,ABAP已足够使用。

运行环境比较

SAP从开始一直到S4HANA版本,都是C/S模式,使用时需要本地安装GUI环境。有特点的是,无论是用户还是程序员,都是在GUI环境里操作,GUI既是操作工具也是开发IDE,只是通过权限来区分能否看到和编写调试源代码。

SAP云版本后,也改为了B/S模式,无论业务操作还是软件开发,都可以在浏览器中完成。

用友ERP开始也是C/S模式,后来虽然有B/S版本,但是浏览器兼容性做的并不好,一直到云版本出现改用REACT编写前端,才算彻底抛弃了C/S版本。

用友ERP的开发无法做到像SAP一样,必须安装开发环境,后端需要安装JAVA环境,前端需要安装NODEJS等,以及专门的IDE开发工具。

SAP之所以无需特殊的开发环境,也是和他的独立生态与解释性语言有关。

学习成本比较

ABAP本身开源,但是开发环境只能是SAP环境下,第一步开发环境搭建就挡住大多数人,尤其是FIORI和WEBDYPRO等技术使用人数很少,技术文档也超级少。总的来说,门槛较高,入门较难。只能是正好企业内有相关资源或者报培训班等。

不过在入门后的实际开发中,SAP虽然使用人少,但是产品知名度大,标准程度高,各种问题回答准确性很高,尤其是目前AI对SAP的辅助编程有效性比较大。

JAVA由于社区强劲,目前学习资料获取和问题解答也更为容易,所以入门相对更为容易。只要有必定耐心和脑力,自己一人就可以出师,如果有必定经验,无需太多付出就能上手工作。而JAVA虽然使用人多,学习容易,但是在已JAVA为基础的ERP上,却是学习文档很少,各种问题回答准确率很低,必须有老师培训,很难自学成才。

二者入门都很难通过自学完成,学习成本都较高,后期的成长也都更加依赖经验,经验越丰富,解决问题自然越快,而SAP在解决问题上相对容易一些。

二次开发比较

在企业级应用开发环境下,技术难度不会太高,远远比不上工业软件开发或互联网开发或其它基础通用软件开发,企业级应用更多时候是思考业务逻辑理解以及严谨性。

而对于ERP开发来说,难度进一步降低。由于整体架构都已经搭建完成,各个模块标准功能都已经完善,所以只需要掌握相关的常规技能开发就可,多数时候只是做修补完善。无论是SAP还是其它厂商的开发人员,实则技术要求并不高。

当然,ERP开发容易并不代表开发ERP容易,如果从头开发一个ERP那肯定难度相当大,这时候甚至比开发一个互联网应用或者工业软件或者其它通用软件可能更难思考方面更多。

ABAP二次开发需要掌握基础语法、增强、BAPI、DIALOG、ALV、PO、SMARTFORM等工具,工作内容主要是报表开发、外围系统对接、功能增强等。在对标准功能开发上,主要是通过REPORT和DIALOG 开发自定义程序,SMARTFORM配置打印,通过各种增强来扩展标准化功能的逻辑,通过BAPI和内部各种功能交互,通过PO与外部接口交互。

用友ERP开发则是先要配置HOME环境,HOME里面包括了所有模块基础代码,通过反编译CLASS文件来增加逻辑以替代原油程序是主要开发方式,而具体查找哪个CLASS文件则依靠经验和耐心,文档支持较少。早期许多通过SERVLET来和外部系统交互,后期更多通过OPENAPI模式与外部系统交互。

ABAP的在线调试功能也比较方便,可以很方便在生产环境服务器设置断点,而用友ERP要设置支持生产环境调试很麻烦,更多还是本地连接生产数据库模式。

部署方式比较

SAP内置了自己的源代码管理工具,部署时基本默认强制要求配置DEV-TEST-PROD环境,发布源代码必须一步步来,不可以跳过TEST环境直接到PROD,这也保证了服务器源代码的严谨性。同时,由于其为解释性语言,服务器可以确保看到的就是真正的源码。

用友ERP是否使用源代码管理工具看实施团队心情,部署也是随意性很大,可以跳过TEST环境,也可以不通过发布工具,直接把CLASS文件复制到服务器,对于中途接受的程序员,基本要从CLASS文件反编译才敢确认源代码合规性。

从这点上看,SAP在上个世纪就遵循了严谨的工作作风,不愧是德国企业。而到今天,用友的源代码管理和部署管理许多时候更依赖甲方管理,如果管理有问题都是一笔糊涂账。

发展前景比较

ERP是制造业的核心系统,学习ERP相比其它自研管理系统,虽然学习门槛过高,但有下面优点:

l 不用思考整体架构,技术相对简单,不牵扯复杂算法。而自研系统需要掌握的内容太多了,从详细设计到数据库设计,从前端vue到后端java,从redis到mysql,从nginx到tomcat,从单体到微服务等等。

l 标准化程度高,换工作更容易上手,经验更加有用。毕竟没到一个新公司如果都要从头熟悉各种框架是超级耗时的,尤其是java世界里,每家公司都有自己的架构设计和业务领域。就算是技术大牛从erp公司跳到做srm或crm的公司也无法发挥全部才能。而除了erp,其它供应链管理系统基本都达不到产品标准化程度,从一个srm公司调到另一个srm公司也是无法发挥全部才能。

l 后期无论是继续从事软件开发还是转为咨询顾问或者甲方运维,都可以继续在一个领域内深耕扩展,从而减少35岁危机的风险。

l SAP由于项目实施交给外部顾问,从而诞生了一个free的工作,就是不隶属于任何一家公司,自由穿梭于各个项目中,凭个人技术吃饭,更适合追求自由的人群。早期free顾问的人天工资较高,能达到五千一天,目前虽然大幅回落,也能维持在一千一天左右,实在不行了,也可以找个甲方做运维顾问。用友erp开发虽然没有SAP这么值钱,但是能够凭借这门技术找个吃饭的工作还是容易,如果有运气被一个好公司录取也是超级不错的。

总得来说,从事ERP开发相比互联网开发虽然待遇不如,但是抵抗风险能力更强,相比其它外包型软件公司更有竞争力,也更加轻松,是普通人可以选择的不错方向。

—摘自《杀雕英雄传》

© 版权声明

相关文章

11 条评论

  • 头像
    情常纸短 读者

    经常碰上sap 一发布程序,生产业务立马出问题,中断,这也是sap 优势

    无记录
    回复
  • 头像
    重生之永远爱喝酸梅汤 投稿者

    算了吧,金蝶用友比烂,没资格跟SAP比,比的勇气都没有

    无记录
    回复
  • 头像
    高兴的牙齿 读者

    谁说SAP的数据库只能用HANA?

    无记录
    回复
  • 头像
    码字使人头秃 投稿者

    你自己把这篇文章发给AI看看。

    无记录
    回复
  • 头像
    逆转关于爱的定义 投稿者

    从这里学习到解释性语言比编译型语言的优势,

    无记录
    回复
  • 头像
    印堂装饰 读者

    我用的是pg数据库

    无记录
    回复
  • 头像
    雏莓是我 投稿者

    oracle使用form开发

    无记录
    回复
  • 头像
    爱德华医生 读者

    你这资料,祖上传下来的吧

    无记录
    回复
  • 头像
    阿凡提 读者

    真的老掉牙了,狗屁不通。都什么年代了,还半夜重启? 懒得解释

    无记录
    回复
  • 头像
    丫丫冰瓷牙齿塑形修复美白 读者

    这哥们还活着清朝

    无记录
    回复
  • 头像
    傻子弓长_74882 投稿者

    收藏了,感谢分享

    无记录
    回复