当前位置: 首页 > 后端技术 > Java

从ABAPNetweaver到ABAPPlatform,我们一直在努力

时间:2023-04-01 18:33:40 Java

Jerry上一篇文章ABAP真的会过时吗?谈谈ABAP的过去、现在和未来,简要回顾ABAP作为一种编程语言的发展历史,展望其未来。之后收到一些读者的反馈,询问ABAPNetweaver和ABAPPlatform这两个名词的区别和联系。本文将一一讲述。让我们以两张图片开始本文的讨论。使用SAPGUI登录系统,选择菜单System下的Status菜单项,可以看到当前SAP系统的产品版本号(ProductVersions)。在CRMOn-Premises系统中,版本号如下:SAPCRM7.0EHP3FORSAPCRM7.0在S/4HANAOn-Premises系统中,可以看到如下三个产品版本号:S/4HANAONPREMISE2022ABAPPLATFORM2022SAPS/4HANAFOUNDATION2022这个ABAP平台是什么意思?Jerry之前的文章《浅谈C语言与ABAP》曾经提到,SAPKernel(内核)是任何基于ABAP技术栈的SAP系统的核心组件。随着1992年SAPR/3的正式发布,在过去的30年里,SAPKernel已经成为几乎所有基于ABAP技术栈构建的SAP产品的基础平台,例如包括SAPCRM、SCM、SRM、PLM、SAP商务套件ERP商务套件。作为SAP产品的基础设施层,SAPKernel多年来不断发展。为了跟上时代发展对企业管理软件提出的新要求,SAPKernel中加入了越来越多的功能。2002年,随着SAPR/34.7和SAPWebApplicationServer的加入,SAP内核经历了第一次重大变化。我们可以回忆一下2002年的时间节点,那是互联网技术第一次风起云涌,席卷全球科技领域的.COM时代。SAP紧随其后,通过引入InternetCommunicationManager(ICM)和InternetTransactionServer(ITS)扩展了SAP核心,使其能够管理HTTP连接并提供对XML、BSP和Java的支持。SAPNetWeaver于2004年正式发布,作为一个通用的技术平台,Netweaver可以帮助客户将来自各个渠道的数据和业务流程等企业运营要素整合到一个统一的SAP环境中。在过去的16年里,SAPNetWeaver一直是基于ABAP技术栈的SAP应用程序的技术基础。2008年,SAP发布了SAPBusinessByDesign,这是SAP开发的第一款SaaS产品,也是Jerry在2007年大学毕业后加入SAP成都研究院后开发的第一款SAP产品。由于SAPR/3Kernel代码庞大,复杂,不适合直接应用于SaaS软件开发领域。因此,SAP在此基础上又进行了一次重大改造,开发了新版本的内核。这个内核改造项目叫做NGAP,是NextGenerationABAPPlatform的缩写。SAPHANA的诞生也是SAP产品发展史上具有里程碑意义的事件。SAPHANA于2011年正式发布,一年后,SAPHANA1.0上的SAPBusinessSuite发布,SAP应用首次能够运行在自有的HANA数据库上,完成了历史性的双剑合璧。此版本基于SAPNetweaver7.40SP2,包括对HANA和Fiori的支持和创新。2012年,Jerry告别工作五年的SAPBusinessByDesign,加入了SAP成都研究院CRM开发团队。我的开发团队还为后续由SAPHANA提供支持的SAPCRM做出了贡献。SAPKernel的演进一直秉承Innovationwithoutdisruption(非破坏性创新)的原则,即在引入新功能的同时,尽量保持向后兼容,从而确保客户不仅可以利用新推出的内核技术特点,更要借鉴企业的实际情况。按照自己的步调前进和创新。基于SAPNetweaver的SAPBusinessSuite在企业管理软件领域的巨大成功,是SAP核心非破坏性创新原则完美实践的典范。该指南使SAPNetweaver成为运行复杂业务软件的可靠平台,并为SAP客户利用新技术进行创新提供了坚实的基础。需要强调的是,SAPNetWeaver是一个产品系列的集合。除了ABAP和Java应用服务器外,它还包括其他组件,如BI内容扩展、高级适配器引擎(AdvancedAdapterEngineExtension),以及由BusinessWarehouse、EnterprisePortalNetweaverHub组成的SAPProcessOrchestration。作为完整和独立产品发布的最后一个SAPNetweaver版本号是SAPNetweaver7.50。2015年,SAPS/4HANA发布,从此进入第四代ERP产品时代。SAPNetweaver的组件之一,SAPNetweaverApplicationServerABAP组件,也进行了相应的更新,支持从R/3到S/4的一大步:SAPNetWeaverApplicationServerABAP7.50:forSAPS/4HANA1511SAPNetWeaverApplicationServerABAP7.51InnovationPackage:forSAPS/4HANA1610SAPNetWeaverApplicationServerABAP7.52:forSAPS/4HANA1709这三个NetweaverABAP组件版本的更新为Fiori应用程序开发引入了新的编程模型,基于核心数据服务是CoreDataService,也为以后诞生的RAP(RestfulABAPProgramming)编程模型打下了坚实的技术基础。另外,从这三个更新版本开始,其中包含的SoftwareComponentSAP_ABA的版本号不再采用经典的纯数字命名法,如下图所示:而是使用数字和字母的组合来标识版本数字。如下图所示:从SAP_ABA750到SAP_ABA75A,包含了一些重要的更新。最知名的ABAP开发顾问是MATNR数据元素的长度变化,从18个字符扩展到40个字符。此外,这三个更新版本进行了许多技术创新,对SAPKernel的关键组件进行了现代化改造,例如新的EnqueueServer(ENSA2)、对HTTP/2协议的支持和其他内部变化等。讨论到这里,我们可以纠正一个常见的不准确的说法:SAPS/4HANA是基于SAPNetweaver的。更准确的说法应该是,SAPS/4HANA1511、1610和1709,基于SAPNetweaver的组件之一,SAPNetweaverApplicationServerABAP。如上所述,SAPNetweaver还包括JavaStack和BW、Portal、PO等SAPNetweaverHub组件,这些组件不属于SAPS/4HANA产品。至此,本文标题中的ABAPPlatform终于问世了。SAPNetWeaverApplicationServerABAP7.50、7.51和7.52可以看作是ABAP平台登场前的序曲。从S/4HANA1809开始,在上图中红色分割线下方,ABAPPlatform取代了之前的SAPNetweaverApplicationServerABAP,成为S/4HANA的底层技术平台。ABAPPlatform是ABAPNetweaver的演变,是它的替代品。如本文开头截图所述,ABAPPlatform不会像之前的Netweaver那样单独发布,而是作为SAPS/4HANA的一部分供客户使用。要点总结(1)SAPNetweaver不仅是一个技术平台,还是一个产品系列家族,包括NetweaverABAP/JavaApplicationServerComponent、BusinessWarehouse、EnterprisePortal和SAPProcessOrchestration等。(2)SAPBusinessSuite基于SAPNetweaver的ABAPApplicationServer组件。(3)SAPS/4HANA1511、1610、1709三个版本分别基于SAPNetweaverABAP应用服务器组件7.50、7.51、7.52三个版本。(4)从SAPS/4HANA1809开始,底层技术平台被ABAPPlatform取代。后者作为S/4HANA的Foundry层,不会作为单独的产品发布。后续Jerry会继续介绍ABAPPlatform相对于SAPNetweaver的新功能和新特性,敬请期待。本文中的图4、7、11和12来自SAP社区博客:ABAP平台-第1部分-来自SAPNetweaver的演变,作者是我的同事TenaJuan。Jerry的ABAP话题Jerry的ABAP、Java和JavaScript炖煮ABAP开发者的未来Jerry的2017五一假期学什么:8种经典排序算法的ABAP实现ABAPOn-Premise系统中Connector调用函数ConsumesABAPOn-PremiseOData服务SAP云平台的CloudFoundry环境效率ABAP做过的那些无聊的事不喜欢SAPGUI?然后尝试使用Eclipse进行ABAP开发。使用VisualStudioCode编写和激活ABAP代码。你的ABAP程序悟佛了吗?下面我们来试试Jerry的小技巧,在SAP云平台ABAP编程环境下编写第一个ABAP程序。SAP官方发布的ABAP编程规范ABAPCodeInspector的隐藏功能你知道吗?还在用ABAP进行SAP产品的二次开发?一起来了解一下这个全新的二次开发理念吧。ABAPNetweaver中的寄生编程语言从SAP社区的一篇博客说起,说说SAP产品命名背后的感受。在云平台ABAP编程环境中,CDS视图暴露为OData服务。使用abapGit在ABAPOn-Premises系统和SAP云平台ABAP环境之间传递代码。使用RestfulABAP编程模型开发一个支持增删改查的Fiori应用。你看懂RestfulABAP编程模型系列二:Action和Validation的实现Jerry带你看懂RestfulABAP编程模型系列三:云ABAP应用调试SAP云平台ABAP编程环境如何消费第三方服务在如何消费第三方服务ABAP开发者上云时间到了——现在大家可以免费使用SAP云平台ABAP环境试用版了。学而不思则无用——SAP云平台ABAP编程环境的由来及适用场景SAP云平台如何在Trident应用中基于RestfulABAP编程模型开发部署支持增删改查的Fiori应用。SAP2019TechEdKeyNote解读:云时代SAP从业者如何进行二次开发?ABAP云环境中不能使用的ABAP关键字和语法有哪些?ABAP开发环境终于支持驼峰式ABAP变量名自动格式化。使用ABAP740的新关键字REDUCE来完成一个真实的任务。一段让人瑟瑟发抖的ABAP代码。ABAP内核模式下高效复制内表的方法SAP云应用程序模型开发OData实例当ABAP遇上Prometheus用ABAP绘制可缩放矢量图ABAP开发环境语法高亮那些事SAP错误消息调试的七大武器:让所有错误信息定位SAPGUI中使用ABAP操作Excel收藏夹的几种方法小心,你的一举一动都在系统监控中ABAPCCDEF,CCIMP,CCMAC,CCAU,CMXXX这些都是什么鬼东西?ABAP条件断点实现的三种方式使用SATtrace监控从浏览器打开的SAP应用程序的性能以及调用栈13年ABAP老手的忠告:了解这些基础知识有利于ABAP开发无损SAPABAPNetweaver容器化,不可能完成的任务?SAP产品增强技术回顾SAPAPI开发方法大全浅谈Java与SAPABAP静态代理和动态代理,以及ABAP面向切面编程的尝试SAPABAP应用服务器HTTP响应状态码(StatusCode)JavaList存在于SAPABAP中吗采集工具类?CL_OBJECT_COLLECTION了解ABAP面试题系列:写一组会导致死锁(Deadlock)的ABAP程序SAPABAPNetweaver服务器的标准登录方式详解SAPABAP关键字语法图和ABAP代码自动生成工具CodeComposerSAPABAPSM50的另类用途——检测ABAP工作进程的数据库表读取操作SAPABAP字符变量和字符串变量中字符数的知识点,血案SAPABAP关键字集ISBOUND,ISNOTINITIAL和ISASSIGNED的用法分析SAPABAP和Java中的弱引用(WeakReference)和软引用(SoftReference)编程语言中空引用的美元错误ABAP开发工具代码模板等实用技巧SAPABAP开发工具总结提高开发效率的十个技巧如何在SAPBTP平台ABAP编程环境中使用基于SOAP的Web服务ABAPTrueWillit变得过时?说说ABAP的过去、现在和未来基于abapGit和abaplint的ABAP持续集成实例不使用任何框架,手写纯JavaScript上传本地文件到ABAP服务器使用JavaScript上传PDF和abaplint等二进制文件Excel到ABAP服务器并解析Jerry更多原创文章在这里:《汪子熙》: