cancel
Showing results for 
Search instead for 
Did you mean: 

On what basis APIs are made SOAP or ODATA?

former_member184948
Active Participant
0 Kudos

Hi Experts,

We see that on SAP API hub , there are APIs listed for Cloud and on premise S4HANA but on what basis does SAP decide which API to make ODATA and which ones to make SOAP?

Ex : I see for Service Order creation there is an asynchronous SOAP API but for reading Service Order there is Odata API.

Thanks in advance.

Accepted Solutions (0)

Answers (6)

Answers (6)

Sriprasadsbhat
Active Contributor

Hello Dilip,

I think consideration would be reusable factor and due to prioritized request coming from customer ( to decide which API should be released soon ).

Reusable Factor: There are multiple standard SOAP APIs already available and broadly used across multiple integration by enabling those SOAP APIs it gives extra support I feel. And gradually these SOAP APIs get deprecated once ODATA apis released ( this is what I have observed ).

May be you can wait for expert comments from fellow community members.

Regards,

Sriprasad Shivaram Bhat

lynap
Explorer
0 Kudos

Dear friends,

does somebody knows if we can write custom soap API or plain API for s/4hana cloud? I find only example where OData API is created. But we see in the sap predefined communication scenario soap, RFC and IDoc. While looking to the sap communication scenario we see that sap still use the old protocol. But how can customer also use old protocol to develop API in s/4hana cloud?

Thanks,
Ly-Na

Jerry_Lowery
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Colleagues,

Another consideration is performance and mass data.

For example, SOAP will be used more often for replication tasks and mass data processing where the payload can be handled/processed asynchronously. In this example, a mass amount of data is sent to the system (say for example a lot of user imports or changes) and the system can immediately respond to the requesting system. The system will then process the data and later send a confirmation as each record is processed (or a summary). Then benefit being that the requesting system is not sitting a waiting (and possibly timing out the request) while the system is processing a mass amount of data.

So there are different use cases for ODATA and SOAP and each interface is designed based on the requirements.

Please also reference this previous answer:

https://answers.sap.com/questions/13248461/i-want-to-consult-the-difference-between-odata-and.html

Which also points to this blog:

https://blogs.sap.com/2015/03/30/soap-rest-based-webservices-what-are-they-when-to-use-each-of-them-...

Thank you

Jerry

lynap
Explorer
0 Kudos

Dear friends,

SAP will provides more OData API because. of their strategic bit on this technology. The Graph API based on the ODM (One Data Model) concept is arising ...

SOAP API is slowly going down, as mentioned above, and is only made available because there is no OData API developed for the required functions. Based on the RAP model, people can easily create the OData API for public web access.

But I would like to know, for example, if it is still possible to create a custom API for the s/4hana cloud using soap or plain HTTP with the sicf because imagine that you still have old client software and that it can only consume soap and you have no choice to change the client software. Then you still need to develop a soap-based custom API. So how to do that with s/4hana cloud? I am not asking for the s/4hana on-premise because here, you can do it.

Thanks

Ly-Na

saisreenivas
Participant
0 Kudos

Hi dilip.mehra,

I am no expert in telling why SAP used two different standards in SAP API hub. But I would like to mention that, OData and SOAP are completely two different Ways of sending data not only in structure but in protocol also.

ODATA uses HTTP/HTTPS protocol to send data between devices.

SOAP uses SOAP protocol to send data between devices.

So, APIM is designed in such a way that if you declare it wrongly while creating a API, then it will not work as the protocols will not match. I have learned it the hard way. So, maybe by placing ODATA APIs and SOAP APIs in API Hub, SAP wanted to display that it can handle both of them in API Management.

Hope this helps!

Br/ Sai Sreenivas Addepalli.

ElijahM
Active Contributor
0 Kudos

Hi Dilip,

As Sriprasad mentioned, SOAP APIs are typically ones that were already available and brought over from existing deliveries (often from ECC). SAP has made a strategic bet on OData as the modern API delivery format for most services, so you will see all newer APIs being delivered in OData format.
This is partly due to the metadata construct allowing for discoverability and auto-generation on top of an API, as well as the RESTful nature of OData being the defacto standard for APIs currently.

Regards,
Elijah