When I saw the question of whether “when the RESTful ABAP Programming Model (RAP) is rolled out, will there still be a central Gateway hub deployment model in place?” I thought it would be better to write a small blog rather than trying to answer in this detail in the Q&A section.
In short the answer is, yes, a central SAP Gateway Hub can still be in place if you want or have to use it.
However, since the SAP Gateway Hub is used mainly as a SAP Fiori Frontend Server a central hub deployment might not be possible as described in the blog Fiori Deployment Recommendations if your system landscape contains several SAP S/4HANA backend systems with different releases. Because of this the recommended deployment option in SAP S/4HANA systems is the embedded deployment.
However , the root cause of the question was that it was not clear which role Service Definitions and Service Bindings play in a hub based deployment. For this we will have a look at a simple OData service using the un-managed scenario which is available as of SAP S/4HANA 1909 also on premise. In such a system we can nicely compare how service binding relates to the service activation using transaction /iwfnd/maint_service.
So we will take a look behind the scenes of the ABAP RESTful Programming Model.
The sample service is based on the following tutorial: Define and Expose a CDS-Based Travel Data Model
I here omitted the step to publish the service.
As you can see there is a push button called Activate which would activate a Local Service Endpoint. This already clearly shows what this button is meant for namely to publish the service locally in the development system.
In a SAP S/4HANA 1909 system we can still call the transaction /iwfnd/maint_service and we can select the service ZUI_C_TRAVEL_M_XXX, the service binding and publish it.
After getting the usual dialogs the service is activated (here locally on my SAP S/4HANA 1909 system).
If we now switch back to ABAP in Eclipse and refresh the tab where I have activated the Service Binding we see that the Local Service Endpoint is now active.
So the Service Binding does create the service in the backend. To publish it locally in your system you can use the Activate button provided in ABAP in Eclipse.
If you want to use this service in a hub based system you can still used transaction /iwfnd/maint_service.
At this point I have also to point out that the new programming model is called “ABAP RESTful Programming Model” and NOT “RESTful ABAP Programming Model”.