原文链接:The importance and value of OData in the SAP ecosystem
这篇博文中将分享OData 在 SAP 生态系统中的重要性,解释了如何将OData与SAP 的服务集成,以及如何创建和使用 OData 服务。
在OData.org 网站上,OData(开放数据协议)是ISO/IEC 批准的OASIS 标准,它定义了一组构建和使用 RESTful API 的最佳实践。SAP 社区里有很多关于OData的解释,所以本文不再重复阐述,请读者自行阅读OData.org 网站相关内容。
OData图
如果您想了解 OData 的历史和起源,建议您阅读 –周一早上的想法:DJ Adams的 OData 博客文章(英文)
正如OData 网站中提到的那样,OData 允许以简单和标准的方式创建和使用可查询和交互的 API。OData的元数据,提供了机器可读的 API的数据模型描述,,可以帮助创建强大的客户端应用程序和工具。很多SAP的应用和服务使用了OData APIs,其已成为SAP 系统中常用的用来与非SAP数据源用以数据交互的接口。。从个人角度来看,OData 可以被视为实现SAP 和非 SAP 系统的交互的 “接入点”。
OData 服务最为领先之处,在于它可以在很多不同种类的应用程序中使用。例如移动应用程序、Web 应用程序、创建报告等,这些用例都可以使用单个 OData 服务进行通信。
如果您想详细了解 OData 是什么,建议您观看DJ Adams的视频:回归基础:OData 系列。
创建OData服务
那么,如何使用 SAP工具和非 SAP 工具创建 OData 服务呢?
- SAP Gateway:将SAP 后端系统的数据以 OData的形式向外暴露,从而被移动端和Web 应用程序使用,进而扩展其系统功能。
- Cloud Application Programming (CAP) 模型:使用云应用程序编程模型创建的服务是 OData 服务。这意味着您可以通过遵循 CAP 轻松创建 RESTful、可查询的 API。此外,可以在核心数据服务 (CDS) 模型中指定 OData 注释,这允许我们指定服务使用者可以使用的 UI 标签/属性。请参阅CAP OData 文档。
- SAP Cloud Integration:您可以开发将现有数据源(例如 SOAP)公开为 OData 端点的 OData API。SAP Fiori 应用程序、SAP BTP 移动服务或任何其他自定义应用程序可以使用这些 OData API,以实现以用户为中心的场景。请参阅开发 OData API 项目。
- SAP API 管理:可以在 API 管理中创建 API 代理以公开 OData 服务。如果您想使用 SAP Cloud 连接器向外部世界公开内部 OData 服务,这是一种有趣的方法。请参阅API 代理。
OData不仅可以应用于SAP:OData 是一个开放的标准规范,它不是特定于 SAP 的。您还可以使用开源库创建及使用 OData 服务。如果您想了解如何使用您最喜欢的编程语言(例如 Python、.Net、Swift)来创建 OData 服务,请参阅可用的不同OData 库。
在了解如何创建OData后,本文还将教给您如何消费OData
消费 OData 服务
如前所述,OData 已成为暴露SAP 应用程序中数据的首选协议。SAP生态系统中的很多产品都可以接入OData来简化集成的开发。
- Fiori Elements:您可以使用 SAP Fiori 元素来创建基于 OData 服务和注释的 SAP Fiori 应用程序,详细信息请参阅如何使用 SAP Fiori Elements和SAP Fiori Elements 现在支持 OData v4。
- SAP 移动服务和移动产品:OData 服务将提供高质量的数据,以便移动应用程序可以直接使用这些数据。使用 SAP AppGyver、SAP 移动服务、适用于 iOS 的 SAP BTP SDK、适用于 Android 的 SAP BTP SDK 开发的应用程序可以使用 OData 服务,详细信息请参阅移动服务。
- SAP Analytics Cloud:您可以基于 SAP S/4HANA、SAP BW 系统、SAP HANA 系统和 SAP Business Planning and Consolidation (BPC) 系统定义 OData 服务,以对服务执行操作。您还可以使用 OData 服务进行报告生成,详细信息请参阅SAP Analytics Cloud – 使用 OData和导入数据连接到 OData 服务。
- 非 SAP:归根结底,OData 服务是 RESTful 服务,这意味着它可以被任何能够通过 HTTP 通信的应用程序/编程语言使用。例如,您可以开发与 OData 服务通信的 Python/Go/Rust 应用程序/服务。
总结:
如您所见,OData 被不同的 SAP 产品广泛使用。有多种生成 OData 服务的方式,许多 SAP 应用程序/服务公开 OData API,还有多种使用这些 API 的途径。感谢您阅读到这里,希望本篇文章能够让您对OData 在 SAP 生态系统中的重要性有所了解。同时欢迎您在评论处留下您的反馈和思考,如果您觉得这篇博文对您有帮助,欢迎关注我的主页!
更多关于OData的信息
以上的内容介绍了OData功能和使用方法,如您想了解更多OData相关信息,可以访问以下的学习资源:
- 如果您想了解有关如何生成和使用 OData 服务的更多信息,您可以查看SAP开发者中心上提供的不同教程。
- 在SAP API Business Hub中,您可以找到公开 OData API的不同 SAP 产品,例如SAP S/4HANA、SAP SuccessFactors、SAP Fieldglass等。
- SAP Graph旨在简化开发人员与 SAP 数据交互的方式。这将通过提供一个统一的 API 来实现,该 API 将 SAP S/4HANA、SAP Sales Cloud 和 SAP SuccessFactors 等数据源的数据模型整合为一个,请参阅SAP 图形文档。