Question

We are using SAP ECC 6 as backend and our requirement is to call BAPI/RFC from the browsers and mobile devices. Our constraint is that we do not want to open the ports of the ECC environment.

The solution we thought is as follows : To create REST SERVICE in the backend(SAP ECC) which will call the BAPI and the same can be used from internet by creating the REST client. I think in this case there is no need to open the ECC ports. Is my assumption correct ?? please suggest.....

We do not want to use the webservices since to access the BAPI from the webservice in the internet environment we need to open the required port of the SAP ECC which will be a security issue.

Is this a correct approach?

Was it helpful?

Solution

seems like a good idea, though you will still have to open the HTTP port on which the ICM server listens. The exact port will depend on your installation, though often it's 8080. For added security, you might want to add a reverse proxy between the internet and your ECC system, though this is really no different to SOAP web services. Both work over HTTP so there will need to be some path from the internet to your ECC system over HTTP.

In terms of implementing the REST API on the ECC side, you have 2 options:

  • use NetWeaver Gateway, which can provide OData (AtomPub) and JSON formats via a RESTful API.
  • build it yourself, using ABAP HTTP Handlers (registered in transaction SICF).

Be sure to check with your SAP Account Executive whether there is a potential licensing impact. NetWeaver Gateway helps a lot with licensing additional users which otherwise don't access your system at all. You can also have a look on SCN for more info, or even check some of my presentations on SlideShare.

Hope this helps,

Sascha

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top