Skip to main content

Routing with Destinations

enosix Link allows for the configuration of route URLs using the SAP Destination Service. Routes are configured in link using User-Provided Environment Variables.

Configuring a destination to match sapcc on-premise configuration

note

Prior to these steps, your SAP Back-end should be exposed through the Connectivity service by following installation instructions through the Configure Connectivity service in SAP Cloud Foundry.

Configure Destination service in SAP BTP

The space Link is deployed to will need to have a destination service provisioned with the instance name of destination, although it can be configured to use a specific instance. Configuring the destination instance

The enosix Link product supports the following Destination values:

FieldSupported Property
Proxy TypeOnPremise
TypeHTTP
AuthenticationNoAuthentication,PrincipalPropagation
URLvirtual host and path you configured in Cloud Connector. Example, https://ensx-dev-ecc:80/enosix/paca if following the steps on the installation page
Location IDblank or the Location ID of a cloud connector
info

The Location ID field can be used to identify which Cloud Connector Link will route the traffic through if multiple are connected to the same subaccount.
The Location ID can be found:

  • On the Cloud Connectors screen in BTP after the instance name in ()
  • On the Subaccount Overview screen in Cloud Connector

Sample Destination configuration

Configure the routing

Use the cloud foundry CLI with the following manifest.yaml template.

---
applications:
- name: enosix-link-<company-name> # Add your company name
random-route: true # Remove this line in the production space
memory: 128M
docker:
image: enosix/link:stable
services:
- connectivity
- destination
health-check-type: http
health-check-http-endpoint: /health
env:
#Logging__LogLevel__Default: Trace # Used to enable detailed trace logging for submitting issues
Routes__dev__ConcurrentRequests: 10 # Throttle link to a limited number of requests concurrently, in order to reduce memory constraints.
Routes__dev__Token: 3de65974f59e200ef27e8ecfb84437f7 # Rename to a unique secret token
Routes__dev__Destination: sap-ensx-framework # Should match to the name of the destination configured in BTP Subaccount

Sample output from cf push

Pushing from manifest to org ****** / space ****** as ****************...
Using manifest file /Users/******/link/manifest.yaml
Getting app info...
Updating app with these attributes...
name: enosix-link
docker image: enosix/link:stable
command: /bin/sh -c dotnet link.dll
disk quota: 1G
health check http endpoint: /health
health check type: http
instances: 1
memory: 128M
stack: cflinuxfs3
services:
connectivity
env:
Routes__ConnectivityInstance
Routes__dev__Token
Routes__dev__Destination

Updating app link...
Mapping routes...

Stopping app...

Waiting for app to start...

name: link
requested state: started
routes: enosix-link.cfapps.us10.hana.ondemand.com
last uploaded: Mon 1 Jan 12:00:00 EST 2000
stack:
docker image: enosix/link:stable

type: web
instances: 1/1
memory usage: 128M
start command: /bin/sh -c dotnet link.dll
state since cpu memory disk details
#0 running 2020-02-13T21:34:01Z 7.3% 23.3M of 128M 158.9M of 1G

Routing explained

The template above will set the following:

  • Cloud Foundry assigned route: enosix-link.cfapps.us10.hana.ondemand.com
  • Token: 3de65974f59e200ef27e8ecfb84437f7 Thus, the URL to access the sap-ecc-dev system will be:
  • https://enosix-link.cfapps.us10.hana.ondemand.com/3de65974f59e200ef27e8ecfb84437f7

That URL routes through the cloud connector to the SAP system:
https://enosix-link.cfapps.us10.hana.ondemand.com/3de65974f59e200ef27e8ecfb84437f7 -> [sapcc] -> http://sap-ecc-dev:80/enosix/paca