SAP OData 开发教程 - 从入门到提高(包含 SEGW, RAP 和 CDP)


笔者之前的文章 SAP OData 编程指南 曾经提到过,OData(Open Data) 是 SAP 旗舰级产品 S/4HANA 里广泛使用的一种前台 Fiori 应用(SAP UI5 前端框架开发而成)同后台 S/4HANA ABAP 服务器通信的协议。通过这种交互方式,实现了 SAP Fiori 应用的前后端分离。

OData(Open Data Protocol)协议是一个开放的工业标准,用于 RESTFul API 的设计和使用。目前主流的编程语言,均提供了各自的软件开发工具包(SDK),对底层的 OData API 开发提供了封装,提高了开发人员编写 OData 服务的效率和代码质量。

在 SAP 产品里,也存在多种 OData 服务的开发方式,其中最典型的三类,就是笔者在本教程里会为大家分享和讲解的内容。

同笔者的另一个 SAP UI5 教程 SAP UI5 应用开发教程的学习目录 - 循序渐进,由浅入深,适合不同水平的 SAP UI5 开发人员一样,本教程笔者计划通过 300 篇以上的文章篇幅,分别介绍这三类 SAP 主流的 OData 服务开发技术。

SEGW - Gateway Service Builder

SEGW 是我们在 SAP ABAP 系统里开发 OData 服务的事务码。在这个事务码里,开发人员对 OData 服务的模型进行建模,使用 Builder 自动生成 OData 服务模型元数据类(Metadata Provider Class,简称 MPC),以及 OData 服务的业务数据提供类(Data Provider Class,简称 DPC).

使用 Restful ABAP Programming 编程模型(简称 RAP) 开发 OData 服务

SAP RAP 编程模型定义了在 SAP Cloud Platform ABAP 环境中进行高效的端到端应用开发的一种方式,支持针对 SAP HANA 优化过的 OData 服务的开发。

SAP RAP 支持开发所有类型的 Fiori 应用程序以及 A2X 服务。 SAP RAP 提供了一套技术和框架,包括用于定义语义丰富的数据模型的核心数据服务 (Core Data Service,简称 CDS) 和围绕 CDS 的底层基础架构。

使用 SAP RAP,开发人员可以快速和高质量的创建基于 ABAP 技术栈的 OData 服务,并使用基于 SAP UI5 的 Fiori 应用来消费这些 OData 服务。

关于 Restful ABAP Programming 编程模型,笔者曾经发表过这些文章:

本教程将用大量的篇幅进行展开,深入细节介绍这些详细的开发步骤。

使用 SAP Cloud Application Programming 编程模型开发 OData 服务

同 SEGW 和 RAP 相比,SAP Cloud Application Programming(简称 CAP) 同前两种基于 ABAP 技术栈的 OData 开发方式不同,它是一个包含语言、库和工具的框架,用于构建企业级服务和应用程序。 SAP CAP 引导着开发人员,沿着经过 SAP 验证的最佳实践,和大量开箱即用的重复性任务解决方案的 黄金开发路径 而前进。

从 SAP CAP 下面的架构图能够发现,SAP CAP 底层的编程语言是 Node.js 和 Java,并支持 Node.js 的 Express 框架和 Java 的 Spring 框架,这使得拥有非 ABAP 开发技能的开发者,也能加入到 SAP 开发这个大的生态圈。使用 SAP CAP 能开发符合企业应用标准的端到端应用,而用它来开发 OData 服务,只是牛刀小试。

笔者曾经发布过一些关于 SAP CAP 的概述和具体例子的文章:

本教程会详细介绍使用 SAP CAP 开发 OData 服务的步骤和实现细节。

2022-10-28 更新

有朋友私信:

我看您的实现是使用的什么语言 感应filter 和expend 这种信息 后端的服务支撑是否是相对固定的sql

答:这位朋友看到的应该是笔者 SEGW - Gateway Service Builder 系列的教程文章。这些文章介绍了如何在 SAP ABAP 环境里,使用 ABAP 编程语言加上 SAP 提供的事务码 SEGW 开发工具,来实现一个 OData 服务的详细步骤。

OData 是一种协议而不是一门具体的编程语言,我们可以用市面上流行的任何高级语言,比如 Java,Node.js,Go,Python 等实现 OData 服务。笔者上述提到的教程,使用的编程语言是 ABAP,使用的编程环境是 SAP ABAP 系统。

如果想用 Java 实现 OData 服务,推荐的框架是 apache olingo
在这里插入图片描述

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪子熙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值