In this blog post I will share my personal view on the importance of OData within the SAP ecosystem, how it enables us to easily integrate and extend our systems/applications and how you can produce and consume OData services.
From the OData.org website, OData (Open Data Protocol) is an ISO/IEC approved, OASIS standard that defines a set of best practices for building and consuming RESTful APIs. There are numerous explanations in SAP Commmunity on what OData is, so I will not repeat here what others have explained so well before.
As mentioned in the OData website… OData allows the creation and consumption of queryable and interoperable APIs in a simple and standard way. Its metadata, a machine-readable description of the data model of the APIs, enables the creation of powerful generic client applications and tools. Multiple SAP applications/services have OData APIs and it has become the preferred protocol to expose data that lives within SAP applications and make it available for other to use. Personally, I see OData as a “connecting point” that facilitates interoperability between SAP and non-SAP applications.
What I like the most about developing OData services is that they can be consumed by many different application types. It is possible to develop a mobile app, a web app, create a report or use it for integration purposes and all of these use cases communicating with a single OData service.
Producing OData services
So, how can you create OData services using SAP technologies/tools and non-SAP tools?
- SAP Gateway: Exposes data from SAP backend systems in the form of OData services, which can be consumed by mobile/web applications to extend system functionality.
- Cloud Application Programming (CAP) Model: Services created using the Cloud Application Programming model are OData services. Which means that you can easily create RESTful, queryable APIs by following CAP. Also, OData annotations can be specified in Core Data Services (CDS) models which allows us to specify UI labels/properties that can used by service consumers. See CAP OData documentation.
- SAP Cloud Integration: You can develop OData APIs that expose existing data sources, such as SOAP, as OData endpoints. These OData APIs can be consumed by SAP Fiori apps, SAP BTP Mobile