(1)SAPABAP1.R/1时代1969年,IBM宣布硬件产品、软件产品和技术服务将独立定价。1972年,五名前IBM德国员工辞职创立了SAP。他们在开始之前就已经找到了一个客户:英国帝国化学公司的德国分公司。有钱,有需求,还有大型计算机。1972年,那是哪一年?UI:字符命令行界面(人类第一台商用图形用户界面是1983年苹果公司推出的Lisa个人电脑)业务应用开发语言:COBOL、Fortran(C语言也在1974年跟随Unix发布)数据库:IBMHierarchical数据库(1970年IBM研究所Codd发表关系数据库论文,1979年Oracle发布第一个基于SQL的商用关系数据库产品)操作系统:OS/360(Unix是1974年才发布的)服务器:IBMMainframeSystem/360所以想想当年开发企业应用,做大量的数据统计分析,是多么的艰难。1976年,R/1产品开发基本成熟。SAP成立了销售和支持子公司:SAPGmbHSystem。将产品开发与产品服务分开。2.R/2时代1979年,SAP准备开发R/2。希望是:最大的应用程序集成:财务、资产会计、采购管理、库存管理、发票管理、销售和分销。最新尖端技术:对话控制系统、C语言、关系数据库、Unix操作系统1981年,SAPR/2开发成功。不过R/2有一项SAP自己发明的新技术,那就是:ABAP。它用于统计报告。想一想当时做一个没有可视化UI界面的统计报表是多么的困难。而且,SAP也意识到:客户通过R/2录入数据后,最大的后续需求就是生成查询和报表。而每个公司的报表要求都不一样,这是每个客户个性化需求最多的地方。于是SAP在R/2时代又做了一次商业模式变革,那就是:产品开发和定制开发分离。定制开发主要以报表为主,所以使用难度较低的ABAP业务应用语言来做。SAP继续坚持产品研发,并向合作伙伴抛出定制化开发和销售。3、R/3时代1990年,Gartner从概念、功能特征、技术特征三个方面对ERP理论进行了定义。1992年,推出R/3软件。距1994年Netscape成立仅2年时间,距1995年Amazon、Ebay、Yahoo成立仅3年时间,而距1995年Java语言发布也仅3年时间。R/3是全球第一套符合GartnerERP定义的ERP软件,应用了全球最先进的技术:UI:SAP开发了跨计算机的图形UI界面,让SAP在Mac和WindowsERP上看到是一致体验的开发语言:SAP自己开发的ABAP。SAPERP需要运行在每台服务器和每一个操作系统上,它还可以简化业务应用程序开发的语言。那时候C很难写应用程序,COBOL和Fortran有局限性,Java还没有产生,SAP只能自己写商业应用开发语言。数据库:支持DB2,也支持Oracle。所以ABAP必须对数据库操作的API进行封装。操作系统:支持IBMAIX、HP-UX、MicrosoftWindowsNT……而且,在R/3时代,SAP再次改变了商业模式。1993年,SAP正式进入美国市场,并在加州设立研发中心。SAP将IT咨询服务、集成解决方案和IT实施服务移交给埃森哲。此后,SAP不断做产品研发,给合作伙伴销售、咨询、实施、集成、定制开发。(2)SalesforceAPEXSalesforce成立于1999年3月,一年后,第一个互联网泡沫破灭。亚马逊和雅虎都在1997年成功上市,Salesforce一开始营业,就和电子商务网站一样是大众化的。可以注册试用、刷卡购买(同亚马逊电商购物)、多租户使用(同亚马逊电商购物)、论坛问答。Salesforce创业之初,使用的是最前沿的技术:Java开发语言、WebServiceAPI、Oracle数据库。Salesforce于2004年上市。2004年,Salesforce也开始向全球发展:进入亚太市场时,第一站就是日本。我做的第一个客户是:日本邮政。日本是一个典型的具有儒家文化的东方国家。过去,企业的信息化主要是派遣NEC、富士通等公司进行专人上门、定制开发、专职服务。像Salesforce这样的公共、多租户和标准产品如何才能让日本客户满意?虽然Salesforce从一开始就考虑到多租户和不同客户的需求,但它已经开发了一套完整的BPM工具,从中可以定制数据对象和定制流程。定义,UI可以配置和定制。但这仍然不能满足日本企业的需求。他们想要深入的定制开发,他们想要与他们当前的本地安装系统深度集成。因此,Salesforce开发了一套完整的扩展开发平台:1.UI可编程:VisualForce。每个UI元素都有许多属性和许多事件。现在这套已经升级为Lighting,一种多端适配光应用UI技术。2、逻辑可扩展性:本来Salesforce的各个功能点都使用了WebServiceAPI技术,所以需要一套开发语言来方便地调用这些OpenAPI。并且必须控制这种开发语言,使其不能做超出Salesforce应用程序边界的事情。毕竟Salesforce是多租户的,几个租户共享一台服务器(CPU/内存/磁盘文件/操作系统)和一组数据库。因此,Salesforce的开发者将他们使用的Java语言做了一个阉割版,功能有限,这就是APEX。AP代表Application,EX代表Extend,扩展的意思。3、API开放平台:OpenID统一身份,OpenAPI管理平台,Connect数据集成。2018年,Salesforce还收购了MuleSoft,用于互联网电商和其他SaaS的各种集成连接。4、开发环境:2001年,Eclipse由IBM开源贡献,恰好被用作IDE,用于编辑、跟踪、调试。现在是SalesforceDX。2010年,Salesforce还收购了HeroKu,统一了这些扩展应用的全生命周期管理:代码管理、测试、部署、日志、监控……。5、应用商店:扩展应用模块,可展示、交易、购买、计费。这就是现在的AppExchange。(3)OracleAPEX如果搜索APEX,可能会找到两个APEX,一个是SalesforceAPEX,一个是OracleAPEX。其实Oracle的APEX也是2004年出的,现在版本已经进化到20.2版本了。OracleAPEX的本质是一个集合:一个快速构建多端统一轻应用的套件。其实OracleAPEX和Salesforce的LightingPlatform是一个定位。它由四部分组成:AppBuilder:前端应用构建工具。SQLWorkShop:SQL编写调试TeamDevelopment:团队协作,CI/CDAppGallery:应用商店OracleAPEX这套工具更方便数据录入Form,数据导入,统计报表图表,数据导出为PDF/EXCEL,以及印刷。其实微软的PowerApp工具套件也是主要针对这件事的。(4)总结SAPABAP是早期解决跨服务器、跨操作系统、跨数据库、跨开发语言问题的解决方案。从2004年开始,SAP也开始支持Java开发。虽然ABAP仍然是SAPERP上的主要工具,但这是因为过去20年SAP和生态合作伙伴用ABAP开发了大量的模块,现在客户还在运行。SalesforceAPEX旨在让客户在不侵犯其他租户的资源和信息的情况下进行深度扩展和开发,因此开发了APEX。他们都有开发自己独特的业务应用程序编程语言的背景。OracleAPEX、MicrosoftPowerApp、OutSystems都是多终端适配的轻应用快速开发工具。使用常见的前端开发技术,如HTML、CSS、JavaScript、JSON/XML……没有为业务应用创建自己独特的编程语言。以上所有工具都需要专业的开发人员才能使用。这并不容易。但是,低代码开发平台直接开发成无代码工具,希望由用户或者用户IT部门的人来操作,这在国内比较奇怪。有OA、BPM工具厂商在做,也有钉钉、企业微信等新型协作工具厂商在做。也有一些厂商因为热衷于对外投资低代码开发平台,曾经从事多端适配前端技术。连一般人都傻傻分不清:开发平台开放平台集成平台配置平台甚至国内厂商,明明是扩展配置平台,连代码开发调试都不能,还号称是免代码开发语言。既然没有代码,我们怎么去开发语言呢?奇怪的。
