Verbindung der SAP BTP mit Nicht-SAP-Systemen wie Flottenmanager

Das Wichtigste zusammengefasst:

Der Cloud Connector kann mit internen Systemen wie Flottenmanagern verbunden werden.

Der Cloud Connector kann mit internen Systemen wie Flottenmanagern verbunden werden.

Voraussetzung dafür ist die Verbindung des SAP Cloud Connectors mit der BTP.

Voraussetzung dafür ist die Verbindung des Cloud Connectors mit der BTP.

Sobald der Cloud Connector mit der SAP BTP und einem internen System verbunden ist, kann eine sichere Verbindung zwischen beiden aufgebaut werden.

Sobald der Cloud Connector mit der SAP BTP und einem internen System verbunden ist, kann eine sichere Verbindung zwischen beiden aufgebaut werden.

Die SAP Business Technology Platform ist eine Cloud, die vom Internet aus erreichbar ist. Für manche Applikationen müssen Sie eine Verbindung zu internen Nicht-SAP-Systemen aufbauen. FlexGuide4 von Flexus kann beispielsweise eine Verbindung direkt zu AGVs oder zu Flottenmanagern aufbauen, um darüber das Verkehrsmanagement zu koordinieren.

Die Flottenmanager und AGVs laufen jedoch meistens in einer geschützten Zone, zu welcher aus Sicherheitsgründen nicht direkt vom Internet bzw. der SAP BTP eine Verbindung aufgebaut werden sollte. Um die direkte Verbindung zu vermeiden, können Sie den Cloud Connector als Proxy verwenden.

In diesem Artikel zeigen wir Ihnen, wie Sie den Cloud Connector und eine Destination konfigurieren müssen, um eine Verbindung zu einem internen System herzustellen. Voraussetzung dafür ist ein eingerichteter Cloud Connector, der mit dem Subaccount verbunden wurde. Eine Anleitung dazu finden Sie in diesem Artikel.

Die folgende Graphik illustriert die BTP-Architektur, die in diesem Tutorial eingerichtet werden soll:

Konfiguration im Cloud Connector

Hinweis: Die folgende Anleitung beschreibt das Verbinden eines Flottenmanagers (welcher ein internes System darstellt) mit FlexGuide4 von Flexus (welches eine Applikation in der SAP BTP ist).

Bei einigen Projekten verbinden sich AGVs nicht direkt mit dem MQTT-Broker, welcher in der VDA5050 vorgeschrieben ist, sondern werden von einem Flottenmanager des Herstellers verwaltet. Um diese AGVs dennoch zu integrieren, muss FlexGuide4 in der Lage sein, die API der Flottenmanager aufzurufen.

Dieser Schritt muss beispielsweise durchgeführt werden, falls im Projekt MiR- oder Agilox-AGVs eingesetzt werden. Das Prinzip von FlexGuide4 ist, dass alle ausgehenden Verbindungen, sowohl zu SAP-Systemen als auch zu Flottenmanagern, immer über Destinationen gehen.

Im ersten Schritt muss im Cloud Connector ein neues „System Mapping” hinzugefügt werden. Dazu muss zunächst der passende Subaccount ausgewählt und dann im Abschnitt Cloud To On-Premises ein neues Mapping angelegt werden. Bestehende Mappings sind unter Mapping Virtual to Internal System gelistet. Klicken Sie zum Anlegen eines neuen Mappings auf das Plus rechts oberhalb der Tabelle:

In den nachfolgenden Dialogen müssen folgende Einstellungen ausgewählt werden:

  • Back-end Type: Non-SAP System
  • Protocol: HTTPS
  • Internal Host: IP/URL des Flottenmanagers im internen Netz
  • Internal Port: Port des Flottenmanagers im internen Netz
  • Virtual Host: sollte für erhöhte Security vom internen Host abweichen, um diesen zu maskieren
  • Virtual Port: sollte ebenfalls vom internen Port abweichen
  • Allow principal propagation: aktiviert
  • Principal Type: X.509 Certificate
    • Hinweis: Dies gilt für Cloud Connector Version 2.15 oder höher. Für 2.14.2 oder niedriger muss „X.509 Certificate (Strict Usage)“ ausgewählt werden
  • Host In Request Header: Use Virtual Host
  • Description: optional
  • Check Internal Host: aktiviert

Der virtuelle Host und Port sind die Daten, die nach „draußen“ bekannt gemacht werden. Dies kann genutzt werden, damit die IP oder URL des internen Host nicht von außen einsehbar ist. Jedoch können Sie als virtuellen Host auch den gleichen Wert wie beim internen Host setzen.

Principal Propagation meint die Möglichkeit, dass ein Nutzer, der bereits in der BTP eingeloggt ist, sich nicht erneut im Ziel-System einloggen muss.

Die Option Check Internal Host löst einen Check aus, ob der Cloud Connector das On-Premise-System über TLS-Protokoll erreichen kann. Dieser Check kann auch jederzeit durch einen Click auf die Aktion Check availability of internal host in der entsprechenden Tabellenzeile ausgelöst werden:

Nachdem Sie im letzten Dialog die Einstellungen kontrolliert und den Check des internen Hosts aktiviert haben, kann das System Mapping gespeichert werden.

Nun kann zu diesem System eine Ressource angelegt werden. Dies können Sie durch Klick auf das Plus-Symbol rechts neben Resources of <URL des Flottenmanagers> tun:

Was ist eine Ressource?
Aus Sicherheitsgründen blockiert Cloud Connector pauschal alle Anfragen aus dem Netz. Um dennoch eingeschränkten Zugriff zu ermöglichen, können so genannte Ressourcen konfiguriert werden. Diese Schnittstellen sind dann von der Sperre ausgenommen und von außen aufrufbar.

Der folgende Screenshot zeigt eine Beispielkonfiguration, welche sowohl für den MiR-Flottenmanager als auch Agilox empfohlen wird:

Bei Bedarf kann der URL Path auch noch weiter eingeschränkt werden, um beispielsweise nur bestimmte Subpaths aufrufbar zu machen. Mit der oben dargestellten Konfiguration können alle Pfade auf diesem Host von außen aufgerufen werden.

An diesem Punkt ist die Konfiguration im Cloud Connector abgeschlossen. Wie in dem folgenden Screenshot zu sehen, sollte ein zusätzlicher Virtual Host im Cloud To On-Premises Abschnitt mit einer Ressource angelegt worden sein:

Konfiguration im SAP BTP Cockpit

Sobald Sie den Cloud Connector konfiguriert haben und sowohl eine Verbindung zur SAP BTP sowie zum internen System herstellen können, können Sie eine Destination erstellen. Diese Destination kann im SAP BTP Cockpit erstellt werden.

Applikationen können Destinationen verwenden, um die sichere Verbindung des Cloud Connectors zu nutzen.

Im SAP BTP Cockpit sollten Destinationen auf Ebene des Subaccounts erstellt werden. Dazu muss dieser angeklickt werden, woraufhin in der Menüleiste der Eintrag Destinations unter Connectivity sichtbar sein sollte. Klicken Sie auf den blauen Create-Knopf, um eine neue Destination anzulegen.

Wählen Sie im nun erscheinenden Dialog die Option From Scratch. In der Destination können nun die URL und Authentifizierungsdetails für das entsprechenden System angegeben werden, wie in dem folgenden Beispiel zu sehen:

Wir empfehlen, dass Sie alle Destinationen nach einem einheitlichen Schema benennen. Beispielsweise kann der Name oder Typ des Zielsystems darin vorkommen.

Hinweis zum MiR-Flottenmanager

Bei der Konfiguration der Destination zum MiR-Flottenmanager müssen Sie beachten, dass für die Authentifizierung nicht das normale Passwort eingetragen werden kann, da hier die Basisauthentifizierung etwas vom Standard abweicht:

Anhand der Grafik können Sie sehen, dass das Passwort zum MiR-Flottenmanager nicht direkt in der Destination eingetragen werden kann, sondern erst in SHA256 umgewandelt werden muss. Die Umwandlung vom Passwort in SHA256 kann entweder mit Online-Tools wie zum Beispiel https://www.sha-generator.de/ durchgeführt werden oder mit beliebigen installierbaren Tools. Dies ist eine Standardkonvertierung, die von sehr vielen Programmen unterstützt wird.