Installation unter SAP BTP (Connect 2024)
Der Connect Server kann in einer SAP BTP Cloud Foundry-Umgebung gehostet werden. Dieses Kapitel beschreibt das Verfahren zur Bereitstellung des Connect Server auf der SAP BTP.
Sie können entweder Ihr eigenes Image erstellen und in einem privaten Docker-Repository speichern oder das aktuelle Standard-Image aus einem Docker-Repository der Galileo Group AG beziehen.
Benutzerdefiniertes Image in privatem Docker-Repository
Als Voraussetzung benötigen Sie mindestens die Version 2022.1.0.1108 des Connect Servers und ein Konto auf Docker Hub mit einem privaten Repository. Zusätzlich müssen Sie das Cloud Foundry Command Line Interface cf CLI auf Ihrem lokalen Computer installiert haben. Das cf CLI kann von GitHub heruntergeladen werden.
Erstellung einer neuen PostgreSQL-Instanz
In diesem Abschnitt wird davon ausgegangen, dass bereits ein Space erstellt wurde, der einem Quota Plan zugewiesen ist.
Für das Hosting eines Connect Servers auf SAP BTP in Cloud Foundry wird derzeit nur Postgre SQL für die Speicherung persistenter Daten unterstützt. Um eine neue PostgreSQL-Instanz zu erstellen, navigieren Sie zu "Instances and Subscriptions" in Ihrem bevorzugten Subaccount.
Klicken Sie auf die Schaltfläche "Create", wählen Sie "PostgreSQL, hyperscaler option" als Ihren Dienst und "Cloud Foundry" als Laufzeitumgebung. Wählen Sie einen geeigneten Plan, z.B. den kostenlosen Plan, weisen Sie den zuvor erstellten Space zu und geben Sie den Namen für die Instanz ein, z.B. "connect-postgresql".
Auf dem nächsten Bildschirm können Sie die Engine-Version und das Gebietsschema konfigurieren oder die Erstellung durch Klicken auf die Schaltfläche "Create" abschließen.
Ein Service Key für die PostgreSQL-Instanz erstellen
Nachdem die PostgreSQL-Instanz erstellt wurde, können Sie Anmeldedaten für den Datenbankzugriff erstellen. Klicken Sie dazu auf das Meatballs-Menü (das Symbol mit den drei horizontalen Punkten) und wählen Sie den Punkt "Create Service Key", um einen neuen Dialog zu öffnen. In diesem Dialogfeld müssen Sie nur den Namen des Dienstschlüssels angeben. Wenn Sie fertig sind, schließen Sie das Dialogfeld mit der Schaltfläche "Create".
Wenn der Berechtigungsnachweis erstellt wurde, können Sie auf den Link in der Spalte "Credentials" klicken, um sich die Details anzusehen. Wechseln Sie im Dialog auf die Registerkarte "Form" und notieren Sie sich die folgenden Werte.
dbname
hostname
port
username
password
Anwendungseinstellungen konfigurieren und ein Docker-Image erstellen
Wenn Sie die Anmeldeinformationen für die PostgreSQL-Datenbank notiert haben, müssen Sie in den Anwendungseinstellungen des Connect Servers einen Verbindungsstring zur Datenbank definieren.
Entpacken Sie die Auslieferungsdatei der Docker-Version in einen temporären Ordner und navigieren Sie zu "/bin/server/
In der Datei "appsettings.json" können Sie die Einstellungen der Anwendung nach Ihren Wünschen vornehmen. Um von der Anwendung aus auf die PostgreSQL-Datenbank zugreifen zu können, nehmen Sie bitte die folgenden Einstellungen im Abschnitt "Workspace" vor.
Legen Sie "PostgreSql" als Wert für die Eigenschaft "DbType" fest.
Legen Sie "Database" als Wert für die Eigenschaft "Provider" fest.
Fügen Sie im Abschnitt "DataSource" eine neue Eigenschaft namens "ConnectionString" hinzu.
Setzen Sie die Eigenschaft "ConnectionString" auf "User ID=
;Password= ;Host= ;Port= ;Database= ;Pooling=true;". Ersetzen Sie die Werte in <> durch die Werte der Anmeldedaten der PostgreSQL-Instanz. Löschen Sie optional die Eigenschaft "RootPath" im Abschnitt "ConnectObjects", da sie nicht benötigt wird, wenn Objekte in einer Datenbank gespeichert sind.
Öffnen Sie nun das Dockerfile und nehmen Sie folgende Anpassungen vor.
Fügen Sie in der ersten Spalte von Zeile 39 das Zeichen # ein.
Entfernen Sie den relativen Pfad in Zeile 55 nach "settings=".
Löschen Sie den Port 443 in Zeile 57.
Nun können Sie das Docker-Image erstellen. Dazu öffnen Sie eine Shell und navigieren zu dem Ordner, in dem sich das Dockerfile und die Datei appsettings.json befinden.
Erstellen Sie das Docker-Image mit der folgenden Anweisung.
Rendering...
Ändern Sie die Werte
Übertragen Sie das Docker-Image mit der folgenden Anweisung in den Hub.
Rendering...
Bereitstellung des Connect Servers auf der SAP BTP
Um das Docker-Image auf der SAP BTP bereitzustellen, öffnen Sie eine Shell und melden Sie sich bei Cloud Foundry mit der Anweisung cf login an. Verwenden Sie dann die folgende Anweisung, um das Docker-Image in Cloud Foundry zu deployen.
Rendering...
Sofern alles funktioniert hat, sollte die Anwendung sofort starten und die Ausgabe des cf push-Befehls die Route zur Anwendung anzeigen.
Standard-Image des Docker-Repository der Galileo Group AG verwenden
Als Voraussetzung müssen Sie das Cloud Foundry Command Line Interface cf CLI installiert haben. Das cf CLI kann von GitHub heruntergeladen werden.
Bereitstellung des Connect Servers auf der SAP BTP
Öffnen Sie eine Shell und verwenden Sie den folgenden Befehl, um sich bei Ihrer Cloud Foundry-Umgebung auf SAP BTP anzumelden.
Rendering...
Der Parameter -a gibt den API-Endpunkt der Cloud Foundry-Umgebung an. Sie finden den API-Endpunkt Ihres SAP BTP-Unterkontos auf der Übersichtsseite des Unterkontos im Abschnitt Cloud Foundry, siehe nächster Screenshot.
Nachdem Sie sich erfolgreich in Ihr SAP BTP-Unterkonto eingeloggt haben, erstellen Sie anhand der folgenden Anweisungen eine neue Anwendung anhand eines Standard-Images des Docker-Repositories der Galileo Group AG.
Rendering...
Bitte ersetzen Sie
Datenbank an die Anwendung binden
Nachdem das Image erfolgreich an die SAP BTP bereitgestellt wurde, wird versucht die Anwendung zu starten, was jedoch fehlschlägt, da noch keine Informationen für die zu verwendende Datenbank bereitgestellt wurden. Halten Sie die Anwendung vorläufig an, um die Datenbankverbindung einzurichten.
Um die Datenbank einzurichten, navigieren Sie zunächst zu Service Bindings im Navigationsbereich auf der linken Seite der Anwendungsübersichtsseite. Klicken Sie auf die Schaltfläche "Bind Service" und wählen Sie "select Service from the catalog". Klicken Sie auf die Schaltfläche "Next".
Suchen Sie auf dem nächsten Bildschirm nach dem PostgreSQL-Dienst. Wählen Sie diesen Dienst aus und klicken Sie auf "Next", um fortzufahren.
Auf dem nächsten Bildschirm können Sie entweder eine neue PostgreSQL-Instanz erstellen oder eine vorhandene Instanz wiederverwenden. Wenn Sie eine neue Instanz erstellen, empfehlen wir mit 2 GB Speicherplatz zu starten. Klicken Sie auf "Next" und bestätigen Sie dann Ihre Auswahl.
Wenn Sie sich für die Erstellung einer neuen Instanz entschieden haben, wird der Erstellungsprozess einige Zeit in Anspruch nehmen. Sobald die Datenbank an die Anwendung gebunden ist, sehen Sie auf der Seite "Service Bindings" eine Schaltfläche zur Anzeige der sensiblen Daten. In den sensiblen Daten finden Sie die Anmeldeinformationen für einen Datenbankbenutzer, den Namen der Datenbank sowie deren Host und Port.
Von den sensiblen Daten werden die folgenden Informationen benötigt.
Benutzername
Passwort
Host-Name
Datenbank-Name
Port
Kundenspezifische Umgebungsvariablen definieren
Nachdem die Datenbank erstellt und an die Anwendung gebunden wurde, muss die Anwendung den Verbindungsstring zur Datenbank kennen, was mit kundenspezifischen Umgebungsvariablen realisiert werden kann.
Öffnen Sie einen Editor und erstellen Sie einen Datenbankverbindungsstring, der wie folgt aussehen sollte:
Rendering...
Ersetzen Sie die Platzhalter im Verbindungsstring durch die Werte aus den sensiblen Daten der Datenbank.
Navigieren Sie "User-provided Variables" der Anwendung und erstellen Sie die folgenden 3 Umgebungsvariablen.
DOTNET_Workspace__DataSource__DbType = PostgreSql
DOTNET_Workspace__DataSource__ConnectionString = Der vorbereitete Datenbankverbindungsstring.
DOTNET_Workspace__DataSource__DbRole = dbo
Nachdem Sie die Variablen erstellt haben, sollte die Seite wie in der folgenden Abbildung aussehen.
Nun sollte alles für einen erfolgreichen Start der Anwendung vorbereitet sein. Gehen Sie zurück zur Übersichtsseite der Anwendung und klicken Sie auf die Schaltfläche Start.