If you are a UI developer, you probably have heard about OData by now. (If not, you can find a great overview on the subject here.) It is an abstraction layer between the complicated business data and the user interface. Also, it is the data format that powers many of the new and simplified UIs that SAP is rolling out in different products: SAP Fiori apps, S/4HANA, and the ability to build your own apps using the SAPUI5 framework demonstrate very clearly SAP’s commitment to this technology.
So now you probably want to know how you can free up your existing data from your SAP and non-SAP systems and convert them to the OData format, so that they can be easily consumed by these innovative new UIs? There are different SAP Products that help you to achieve this. My colleague Martin Bachmann has given a great overview on the subject here: SAP Gateway, SAP Process Orchestration, OData, SAP Mobile Platform – how does all this fit together?
In most cases, you would use SAP Gateway to create OData services in your SAP backend systems. SAP Gateway consists of two main technical components:
- Gateway Backend Enablement
- Gateway Hub
In short terms, the Gateway Backend Enablement is responsible for "gathering" the data for the OData service; the Gateway Hub is responsible for actually converting the service from the SAP proprietary format into the OData format and to expose the data for consumption by the user interface. For details on this topic, you might want to look into the various Gateway deployment options described in this blog.
However, since the release of SAP Process Orchestration 7.31 SP13 or SAP Process Orchestration 7.40 SP08 and the SAP Mobile Platform 3.0, there are further deployment options for exposing SAP Gateway services from your SAP backend systems as OData services.
In order to find the right setup for your environment, there are different aspects you should consider:
- If you already run an SAP Process Orchestration or an SAP Mobile Platform 3.0 server, you might save the operating cost for an additional Gateway hub server and thereby lowering your overall TCO.
- If you need to integrate 3rd party data sources like REST based web services, JDBC databases, JPA models or SOAP web services, and expose these as a unified OData service, then SAP Mobile Platfrom 3.0 might be the right choice for you.
- Some companies have policies in place that all services have to be routed via SAP Process Orchestration. In this case, you can now also expose your SAP Gateway services.
Also, there are some usage constraints you need to be aware of in order to make the right choice.
To help you out, we have come up with a detailed capabilities matrix showing the key differences between the Gateway Hub, SAP Process Orchestration and the SAP Mobile Platform 3.0:
OData Provisioning Capabilities Matrix
Feature Support | SAP Gateway Hub | OData Provisioning in SAP Process Orchestration | Integration Gateway in SAP Mobile Platform 3.0 | Description |
SAP Gateway OData Service (IW_BEP) exposure | Supported | Supported (1) | Supported (1) | Ability to expose SAP Gateway services created in SAP backend systems. |
Custom OData service on the Hub | Supported | Not Supported | Not Supported | An OData service can be implemented on the hub. For example, data can be retrieved from different legacy SAP backends using an RFC connection. This may come in handy if the source system is too old for SAP Gateway to be installed. |
Multi-Origin SAP Gateway services | Supported | Supported | Supported | The same service can be sourced from multiple SAP backends by appending the parameter ;mo to the service URL |
Rule based routing for SAP Gateway services | Supported | Not Supported | Not Supported | Routing a user request to a specific backend, depending on their assigned SAP roles or other critera. |
SAP Fiori App deployment | Supported | Not Supported | Not Supported | Deployment of SAP Fiori applications. |
Task Gateway service consumption | Supported | Planned (2) | Supported | Consumption of the Task Gateway (TASKPROCESSING) service from different task providers. |
3rd party data source integration and conversion to OData | Not Supported(3) | Planned(4) | Supported(5) | Ability to create OData services based on different data sources like REST services, SOAP services, JDBC databases and JPA models. |
Function Import for SAP Gateway services | Supported | Supported | Supported (6) | Support for the function import feature of the OData format. |
(1) Some restrictions apply: no soft-state, no eTags, no subscriptions, no push notifications, no advanced search on catalog service,… For a complete and always up-to-date list on the limitations, please refer to the corresponding SAP notes: 2169792 - OData Provisioning in SAP Process Orchestration - Known Constraints *This is the current state of planning and may be changed by SAP at any time. |