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

SAPABAP平台的新编程模型

时间:2023-04-01 21:45:14 Java

ABAP编程语言的演变过去40多年开发的大部分SAP功能都是用ABAP编写的。ABAP编程语言是我们的旗舰语言,已被证明是用于开发业务应用程序的成熟且强大的平台。多年来SAP更新和现代化了ABAP编程语言,我们可以区分3个主要里程碑:经典ABAP编程语言(直到NetweaverABAP7.50)SAPFIORI的ABAP编程模型(从NetweaverABAP7.50开始)RESTfulABAP编程模型(可用自ABAP平台1909年以来)众所周知,我们的许多SAP客户仍在使用经典的ABAP编程模型运行和开发SAP软件,该模型可用于基于SAPNetweaver7.40及更早版本的SAP产品。在ABAP7.4版本中,SAP开始针对SAPHANA内存数据库优化ABAP平台(代码下推),但其中许多应用程序仍然基于经典的Dynpro、WebDynproABAP、FloorplanManager和WebClientUI框架。SAPFiori的ABAP编程模型与SAPNetweaver7.50一起发布,它提供了一种标准化方法来高效开发现代SAPHANA优化的基于Web的应用程序。为什么要有编程模型?因为它提供了一个标准化的、文档完善的、模型驱动的编程模型,可以极大地改进默认的实现任务。当然,可以在没有预定义编程模型的情况下开发应用程序。然而,这导致了跨不同应用程序领域的非常异构的方法(例如,没有用于集成测试、端到端堆栈可追溯性和支持工具的通用方法,无法保证UI解耦等……)SAPFioriABAP编程模型基于成熟的技术(CDS、BOPF和SAPGateway)。在SAPNetweaver7.51中,改进了SAPFiori的ABAP编程模型,增加了额外的功能来支持无状态应用程序(去除传统客户端-服务器模型的紧耦合以避免服务器粘性,使应用程序可以从一个应用服务器执行到另一个以便应用程序上下文不存储在应用程序服务器级别)ABAP平台的主要投资之一是RESTfulABAP编程模型(RAP),该模型自SAPCloudPlatform1808发布以来已普遍可用,现在也适用于SAPS/4HANA内部部署和ABAP平台1909-前提版本。RESTfulABAP编程模型是SAPFioriABAP编程模型的进化继承者。它包括对ABAP语言、开发工具和框架的基本扩展,支持在ASABAP中高效地端到端开发本质上针对SAPHANA优化的SAPFiori应用程序和Web服务。本次发货的重点是查询(只读应用程序)的使用和基于现有应用程序逻辑的非托管事务应用程序的开发:使用这种新的RESTfulABAP编程模型,您可以扩展现有的SAPABAP应用程序或使用state-of开发新的应用程序-最先进的技术。但我们知道,有时客户更喜欢或需要使用不同的编程语言、工具和/或框架……这就是为什么SAP还提供了一种新的编程模型,即SAPCloudApplicationProgrammingModel(CAP),这是一个开放的框架,其中包括用于构建企业级服务和云原生应用程序的语言、库和工具。SAP云应用程序编程模型(CAP)也像RESTfulABAP编程模型(RAP)一样基于核心数据服务(CDS),但提供了对JAVA和node.js的支持,以及更灵活地集成其他框架、库和工具。让我们尝试总结一下目前SAP提供的用于开发/扩展SAP应用程序的解决方案。SAP提供了两种基于REST的应用程序编程模型:(1)ABAPRESTfulProgrammingModel(RAP)FIORI的ABAP编程模型的演变自1808年以来可用于SAPCloudPlatform,ABAPEnvironment可用于S/4HANA(当前功能范围已缩小)(2)SAP云应用程序编程模型(CAP)是基于CDS但基于Node.js和JAVA值得注意的是,云平台应用程序编程模型(或CAP)与RestfulABAP编程模型(RAP)概念相似。两者都基于CDS(核心数据服务),但在CAP中,它是在Java或Node.js上实现的,而不是ABAP。更多Jerry原创文章在这里:《王子熙》: