Skip to Content

— UPDATE 03.02.2017 —

The steps outlined below are no longer required. SAP HCP, API management has now a direct support for SAP HANA Cloud Connector. For more details on how to use it, check out, SAP API Management – Connecting on-prem made simple

— UPDATE —

Ever since we released SAP API Management on Trial we got some very good feedback. The scenarios to connect to an OData service, or to consume SOAP service, protect these service, … are very well received. We have started to collect all the information here,SAP API Management – Overview & Getting started

 

However, there is one piece missing: how can I — easily — connect to my on-prem system?

Unfortunately SAP API Management does not yet “natively” support SAP HANA Cloud Connector. We are currently working on a scalable solution. Until that (and mainly in order to get you unblocked) I want to outlined steps on how you can still use SAP API Management together with SAP HANA Cloud Connector. We will do this by using a small workaround 🙂

Since SAP API Management does not have a proxy which can use SAP HANA Cloud Connector based Destinations we will use a proxy that is created by WebIDE and used by a simple SAP UI5 app . Then SAP API Management will connect to the services used by this app and connect from there to the backend system. This is not supposed to be a productive solution, but it should be good enough for a test on HCP trial or for a POC.

With that: lets get started!

Connecting on-prem system to HCP

At first you need to install and connect SAP HANA Cloud Connector to your HCP Trial landscape. I will not go through the installation, the official documentation is here and there are also some blogs / and multi-part blogs to get you started with this.

As a result you should have a working Connectivity in your HCP Trial Cockpit:

01 - CCConnection.png

Now lets create a Destination which can be used in WebIDE. For me the resulting destination looks like this:

 

02 - Destination.png
Value Properties
Name MeinInternesSystem
URL http://meininternerhost:7000
ProxyType OnPremise
Type HTTP
Authentication NoAuthentication
WebIDEEnabled true
WebIDEUsage odata_abap
With these settings we can start SAP WebIDE and create a very simple SAP Fiori App

Again I will not outline the steps, there are plenty of good blogs out there, like:

 

Once you have your SAP UI5 project in WebIDE, there is one step that we need to do in order to make the setup simpler. Right now the project is protected by SAML. Since I don’t want to add the required policies in SAP API Management to enable SAML, I will just change the authentication to None.

For this open the neo-app.json and add the line

"authenticationMethod": "none",


02a- AuthenticationNone.png

Once that is done we can deploy the application on HCP:

03 - Deploy.png

You will get some pop-ups to authenticate, but in the end you just need to click on Deploy.

04 - Deploy2.png

Once the deployment is finished, you can start the active version of the application…

05 - OpenApplication.png

… and see the UI in the browser.

06 - DeployedFioriApp.png

What we are interested in is actually not the UI, but the underlying services. So start a network trace (-> “F12 Developer tool”) and look for the call to the backend system:

07 - Networktrace.png

This is the URL we are interested in:

https://connectionviawebidetocctobacke-p1941782771trial.dispatcher.hanatrial.ondemand.com/sap/opu/odata/iwbep/GWSAMPLE_B…

via this URL we can connect to our backend system.

SAP API Management

Now we can open SAP API Management and use this URL to connect. I will use the direct route, but of course you could create a system, add resources, documentation, policies, … and all the fun stuff that SAP API Management provides.

08 - CreateAPI.png

09 - CreateAPI2.png

When you now click on Save

10 - SaveAPI.png

You have the API Proxy URL that you can use to connect to your on-prem backend systems:

11 - API Proxy.png

When you call this URL now then SAP API Management will use the service used by the SAP Fiori WebIDE project that we created, leverage the SAP HANA Cloud Connector to connect to the SAP Backend system and of course require you to authenticate there. Once you do that, you get the data from your on-prem SAP system:

12 - Results.png

That’s it! Now you can use SAP API Management to connect to your on-prem systems. I want to highlight that this setup should not be used in a productive environment — but should get you started connecting your on-prem systems to HCP Trial (without having to open ports in your firewall and installing a reverse proxy!)

To report this post you need to login first.

16 Comments

You must be Logged on to comment or reply to a post.

  1. Murali Shanmugham

    Hi Holger,

    I was wondering if we could use the Cloud Connector along with HCI-ODP to consume the OData services within API Management. The end points which are generated by HCI-ODP can be used in API Management. HCI-ODP would act as hub and be the component where a customer would register all their backend OData service which they are looking to expose to other services in HCP and the external world. I have written an article on how to use HCC and HCI-ODP.

    (0) 
    1. Elijah Martinez

      Hi Murali,

      Yes, this scenario, ERP/SRM/etc. -> HCC -> HCI-ODP -> API Management is a valid scenario. This was what was done in the past, prior to the development of the technique which Holger has outlined, as the method of utilizing HCC to tunnel through a firewall, when no reverse proxy was enabled; although the management of credentials can get complicated depending on the scenario.

      Although it does not specifically work through using HCC, I have created a walk-through which outlines connecting SAP API Management HCI-ODP, which is exposing a Gateway backend – here

      Perhaps someone can combine the two walkthroughs 🙂

      (0) 
  2. Rajiv Asher

    Hi Holger,

    This is a great example for connecting to backend services using HCP Cloud Connector to on premise services. The challenge with the approach is that it is not recommended for productive use. Is there any near term plans (in 2016) to have HCP Cloud Connector be used with SAP API Management. Our requirements is to use API management platform to connect on premise SAP/Non-SAP systems with internal and external partners.

    Thanks.

    Rajiv

    (0) 
    1. Holger Bruchelt Post author

      Hi Rajiv,

      thank you! Yes, we have absolutely planned this. We are currently working on high-priority to bring native Cloud Connector support to SAP API Management.

      So hopefully we can share some good news in upcoming months.

      Regards,

      Holger.

      (0) 
        1. Elijah Martinez

          Hi Hilco,

          Apologies for missing your question, with the SCN transition we’re still trying to adjust and keep on top of things.

          Cloud Connector in API Management was taken up, and is slated to be released by end of Q4 2016, so keep checking back for Good News soon!

          Regards,
          Elijah

          (0) 
  3. Craig Davis

    Hi All

    I see the ‘On-Premise’ option is available since the 2016-11-15 release, but if I use the same working values as my Web IDE connection I get the following error when saving my API Provider.

    Unable to Configure API Provider, There is a configuration issue for ON_PREM Destination System. Please contact SAP API Administrator to fix the issue.

     

    I’m using SAP HANA Cloud Connector 2.9.0.2 on a trial account – does anyone have any pointers?

    Rgrds
    Craig

    (0) 
    1. Elijah Martinez

      Greetings,

      Apologies for delay in reply, as we are still adjusting to the new Community format as well.

      OnPremise option is enabled on Productive and Trial tenants and should be working. Although I know it can be dicey to share details of your settings, can you provide a little bit more detail on what you have set up? If you do not wish this information to be public you can email the details to  sapapimanagementinfo@sap.com .

      We will try to generate a Blog around how to properly set up an API Provider via HCC, but in the meantime hopefully the following will be helpful.

      Setting up HCC API Provider

      Step 1) Set up HCC as normal
      Step 2) Add (Global) Destination in HCP for HCC as normal

      e.g. for my HCC destination

      3) Open API Management
      4) Add API Provider with same host/port as HCP destination and select On-Premise

      e.g.


      Add credentials as necessary, and for Gateway systems add path to Catalog if desired. You should see something like:

      From there you should be able to create an API based on the API Provider. I hope that this helps, and we will try to get a more detailed walk through of this up soon.

      Regards,
      Elijah

      (0) 
      1. Hoang Vu

        Hi,

        I am also getting an error when creating an API Provider.

        I followed the steps above.

        My error however looks different:

        [Request ID: f6705a3b-d487-444e-8e95-a9a8d22216aa]
        XCSRF_FETCH_FAILED_403_ON_PREM

        Pinging the ON_PREM destination works.

        Does anyone know what I am missing?

        Thanks in advance for the help.

        Kind regards,

        Hoang

         

        (0) 
  4. Elijah Martinez

    To all, the migration was supposed to happen last week, but we have run into a bit of a snafu. I hope to put out an update when it is migrated to all existing HCP Trial accounts (it is working in Production and for New Trial Accounts).

    (0) 

Leave a Reply