前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ABAP平台(第二部分:新的编程模型)

ABAP平台(第二部分:新的编程模型)

作者头像
用户5495712
发布2020-10-22 10:17:15
7550
发布2020-10-22 10:17:15
举报
文章被收录于专栏:SAP ERP管理实践SAP ERP管理实践

本文是ABAP Platform系列的第二篇,作者从传统ABAP编程开始,一路介绍到最新的RAP和CAP两种编程模式。

——大话君

作者:Juan Tena

翻译:大话君

这是ABAP平台(ABAP Platform)系列文章的第二篇。

在上一篇文章里,我们说了从SAP Netweaver平台到ABAP Platform的演进。现在我们来聊聊另一个话题,也就是基于ABAP Platform以及SAP云平台ABAP环境(SAP Cloud Platform, ABAP Environment)上的新的编程模型。

ABAP编程语言的演进

在过去的40多年里,多数的SAP功能都是用ABAP开发的。ABAP语言是SAP的旗舰编程语言,也是千锤百炼的企业软件编程平台。

当然,SAP也在不断对ABAP语言进行着更新,我们能区分出三个主要的阶段:

  • 传统ABAP编程 (截至Netweaver ABAP 7.50)
  • 针对Fiori的ABAP编程模型 (从Netweaver ABAP 7.50开始)
  • RESTful ABAP编程模型 (从ABAP platform 1909开始)

ABAP编程模型的演进

有件事并不是秘密,那就是很多SAP客户依旧在基于SAP Netweaver 7.40甚至更古早的版本,使用传统的ABAP编程模式,来运行和开发SAP应用。

随着ABAP 7.4版本的推出,SAP开始针对SAP HANA内存数据库进行ABAP平台的优化,但那时候很多应用依旧是基于传统的Dynpro, Web-Dynpro,Floorplan Manager和WebClient UI框架。

针对Fiori的ABAP编程模型是从SAP Netweaver 7.50开始面世的,它提供了一种标准化的方式来高效开发基于SAP HANA和Web的应用。

为什么需要一个编程模型?因为它提供了一种标准化的、有良好文档支持的、模型驱动的编程模式,它能够让你快速完成开发任务。当然,你也可以选择不使用编程模型。然而,这可能导致在不同的开发项目里,采用了五花八门的开发方式,例如没有统一的集成测试方法,也没有端到端的追踪和支持工具,独立的UI层开发也无法保证,等等。

再说一句,针对Fiori的ABAP编程模型都是基于很成熟的技术,包括CDS (Core Data Service), BOPF (Business Object Processing Framework)和SAP Gateway。

针对SAP Fiori的ABAP编程模型

随着SAP Netweaver 7.51的发布,针对SAP Fiori的ABAP编程模型也得到了进一步的提升,新特性被加入,包括支持无状态应用(Stateless application),它规避了传统C/S模式对于服务器的依赖,应用程序能很容易地从一个服务器迁移到另一个服务器,应用程序的一些环境参数并不存储于服务器层面。

ABAP Platform上的一个重要变化就是RESTful ABAP编程模型(RESTful ABAP Programming Model – RAP),它从SAP云平台1808开始发布,现在你也可以在SAP S/4HANA OP 1909版本对应的ABAP Platform上使用。

RESTful ABAP编程模型可以被认为SAP Fiori的ABAP编程模型的进阶版。它包括了ABAP语言的基本扩展、开发工具和框架,它提供端到端的开发能力,从底层支持针对HANA优化的Fiori应用和Web服务的开发。

ABAP RESTful编程模型-核心支柱

它重点着眼于Query的使用(针对只需要读取后台数据的应用),以及基于现有后台程序逻辑的业务应用开发。

ABAP RESTful编程模型-构件

通过这一全新的RESTful ABAP编程模型,你可以使用最新的技术来扩展现有SAP ABAP应用,或者开发新应用。

但有时候,客户会希望使用不同的编程语言、工具以及框架,这就是为什么SAP也提供了一种新的编程模式——CAP (SAP云应用编程模式 SAP Cloud Application Programming Model)。CAP既开放,又有自己的偏好,它是编程语言框架,是程序库,也是打造企业级服务和云原生应用的工具。

跟RAP一样,CAP也是基于CDS的,但它提供了对Java和Node.js的支持,它也能更灵活的继承其他框架,程序库和工具。

觉得一头雾水?我们来总结一下。SAP提供了两种基于REST的应用程序开发模型:Confused? Let’s try to summarize the current solutions provided by SAP to develop/extend SAP applications. SAP offers two REST-based application programming models:

ABAP RESTful编程模型 (RAP)

  • 它是针对Fiori的ABAP编程模型的进阶
  • 从SAP云平台, ABAP环境1808版本开始提供
  • 从S/4HANA OP 1909版本以后开始提供(目前提供有限的功能)

SAP云应用编程模式 (CAP)

  • 基于CDS但是支持Java和Node.js

有趣的是,CAP和RAP其实从概念上来说非常相似,它们都基于CDS,不同之处就在于CAP支持的是Java和Node.js,而不是ABAP。也许需要过几年,我们才能知道哪种模式才是整个SAP生态圈,特别是程序员们的真爱。

版权归原作者所有,如有侵权请联系删除。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-10-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ERP管理实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档