在这篇博文中,我将分享我对OData在SAP生态系统中的重要性的个人看法,它如何使我们能够轻松地集成和扩展我们的系统/应用,以及你如何能够生产和消费OData服务。
在OData.org网站上,OData(开放数据协议)是一个经ISO/IEC批准的 OASIS标准,它定义了一套用于构建和消费RESTful API的最佳实践。关于什么是OData,在SAP Commmunity有很多解释,所以我不会在这里重复别人已经解释得很清楚的东西。
OData图示
正如OData网站中提到的......OData允许以一种简单和标准的方式创建和消费可查询和可互操作的API。它的元数据是对API数据模型的机器可读描述,能够创建强大的通用客户端应用程序和工具。多个SAP应用/服务都有OData API,它已经成为公开SAP应用中的数据并供其他应用使用的首选协议。我个人认为OData是一个 "连接点",促进了SAP和非SAP应用之间的互操作性。
我最喜欢开发OData服务的地方是,它们可以被许多不同的应用类型所消费。可以开发一个移动应用,一个Web应用,创建一个报告或用于集成目的,所有这些用例都可以与一个OData服务进行交流。
制作OData服务
那么,如何使用SAP技术/工具和非SAP工具创建OData服务呢?
- SAP网关。以OData服务的形式展示来自SAP后端系统的数据,这些数据可以被移动/网络应用程序消费,以扩展系统功能。
- 云应用编程(CAP)模型。使用云应用编程模型创建的服务是OData服务。这意味着,你可以通过遵循CAP轻松地创建RESTful、可查询的API。同时,OData注释可以在核心数据服务(CDS)模型中指定,这使得我们可以指定服务消费者可以使用的用户界面标签/属性。参见CAP OData文档。
- SAP云整合。你可以开发OData API,将现有的数据源(如SOAP)作为OData端点公开。这些OData API可以被SAP Fiori应用程序、SAP BTP移动服务或任何其他自定义应用程序所使用,以实现以用户为中心的场景。参见开发OData API项目。
- SAP API管理。可以在API管理中创建一个API代理,以暴露OData服务。如果你想通过使用SAP Cloud Connector将内部OData服务暴露给外部世界,这是一个有趣的方法。参见API代理。
- 不仅仅是SAP。请记住,OData是一个开放的标准规范,它不是SAP特有的。你也可以使用开源库创建/使用OData服务。如果你想了解如何用你喜欢的编程语言(如Python、.Net、Swift)创建OData服务,请参见不同的OData库。
现在你知道了如何创建OData服务,让我们来看看你如何使用这些服务。
消费OData服务
如前所述,OData已经成为暴露SAP应用程序中的数据的首选协议。你可以想象,有各种工具可以 "理解 "OData(通过消费服务元数据)并简化我们的扩展/集成的开发。
- Fiori元素。我们可以使用SAP Fiori元素来创建基于OData服务和注释的SAP Fiori应用。参见如何使用SAP Fiori Elements和SAP Fiori Elements现在支持OData v4。
- SAP移动服务和移动产品。OData服务提供高质量的数据,因此它们可以被移动应用直接消费。使用SAP AppGyver、SAP Mobile services、SAP BTP SDK for iOS、SAP BTP SDK for Android开发的应用程序可以消费OData服务。参见移动服务。
- SAP分析云。可以基于SAP S/4HANA、SAP BW系统、SAP HANA系统、SAP业务规划与整合(BPC)系统定义OData服务,在服务上执行操作。还可以为报告目的消耗OData服务。参见SAP分析云 - 使用OData和导入数据连接到OData服务。
- 非SAP。最后,OData服务是一个RESTful服务,这意味着它可以被任何能够通过HTTP通信的应用程序/编程语言所消费。例如,你可以开发一个Python/Go/Rust应用程序/服务,与OData服务进行通信。
更多OData....
你在哪里可以找到更多关于OData的信息?
- 如果你想了解更多关于如何生产和消费OData服务的信息,我建议你看一下developers.sap.com 上的不同教程 。
- 在SAP API Business Hub中,您可以找到暴露OData API的不同SAP产品,如SAP S/4HANA、SAP SuccessFactors、SAP Fieldglass 等。
- SAP Graph旨在简化开发人员与SAP数据的互动方式。这将通过提供一个统一的API来实现,将SAP S/4HANA、SAP Sales Cloud和SAP SuccessFactors等数据源的数据模型整合为一体。 猜猜它遵循什么标准....,是的,OData。请看SAP图表文档。
正如你所看到的,OData被不同的SAP产品广泛使用。生产OData服务有多种方式,很多SAP应用/服务都暴露了OData API,也有多种途径来消费这些API。我希望这篇博文能让你了解OData在SAP生态系统中的重要性,以及它在整合/扩展你的SAP应用时提供的价值和灵活性。