OData is a RESTFul service specification that is supported by most platforms across the enterprise landscape. It is similar to SOAP and XML in terms of standards. With enterprises going hybrid with applications hosted across cloud and on-premise, it becomes increasingly important to establish a trusted mechanism for applications to communicate with one another.
Enterprises then realized that the web of intercompany application communication was becoming harder to manage.
This led to administration issues between landscapes and ultimately the question of whether we could have a common interface between all applications like web services etc.
This thereby led to an explosion of web service API enablement and issues of authentication and security came up. The challenge of APIs was enforcing different authentication mechanisms and ensuring a smooth flow of information. There was also an added fear of exposing services to the outside world which could potentially leave the systems exposed.
With this in mind, SAP started provisioning the SAP Gateway as an entry and exit point for all services and along with it, standardized OData as the medium of information interchange.
Why OData in an enterprise landscape?
The question might come up as why OData and not work on the existing service framework? The reason is that OData was RESTful which was the new and easier way of doing things and it was hard to change an existing standard as opposed to working on improving a nascent one.
OData is something that every system understands or is capable of handling. This makes it an easy decision to look at OData as the glue that connects the systems together.
What is OData?
OData is a REST-based data access protocol originally released under the Microsoft Open Specification Promise (OSP) for querying and updating Data. To be precise, OData interface is an open standard that can be consumed by any application, program, software or device of the Non-SAP World that can connect with SAP using the HTTP(s) protocol and can manipulate (read, write, modify and understand i.e. parse and construct) an XML document. Since the protocol is HTTP based, any programming language with HTTP stack can be used for consuming OData services. In other words, OData is a Web protocol for unlocking and sharing data; freeing it from silos that exist in software applications.
What is ODP?
Operational Data Provisioning (ODP) is a technical infrastructure for extracting data from an application built on the Netweaver platform. It is a uniform data provisioning layer with rich metadata and analytical semantics. ODP supports different application scenarios like Operational Analytics that helps business in decision making and extraction/replication for various target applications supporting delta mechanism.
The earlier way to extract data reliably from SAP was to stage it in SAP BW and the key to identifying delta records were the extractors and the way the data was staged in the Persistent Staging Area (PSA). With ODP, the staging area was moved into the ECC system which made it possible for external applications to read the changed data in the ECC system. In addition to this, ODP was created on the lines of an Enterprise Data Bus with different systems that can subscribe to the same and get data at different delta timestamps depending on the subscriber.
We will be covering how to extract delta records using OData in our subsequent blog.