1) Docker
Unsere Anwendung wird in Docker https://docs.docker.com/ ausgeliefert.. Docker ist so verbreitet, dass alle Clouds (AWS, Google, SAP BTP, etc.) in der Regel einen simplen Knopf “Docker aktivieren” anbieten und Docker wird bereitgestellt. Docker ist quasi Industriestandard für Container. Container sind virtualisierte Server, deren Vorteil nicht die Virtualisierung selbst sind, sondern die Laufzeitumgebung, die mit ausgeliefert wird. Ein einziger Build einer Anwendung kann so überall hin ausgeliefert werden.
Docker gibt es für produktive Umgebungen nur für Linux (Ubuntu, SLES, SUSE, Debian, etc.).
Für die Auslieferung auf Windows Servern kann eine Nutzung von WSL geprüft werden – dies ist individuell vorab abzustimmen.
2) Hardware Ressourcen
50 GB Festplattenspeicher
8 GB RAM
4 Kerne à 2Ghz CPU
3) Docker Compose Tool
Weil unsere Anwendung aus mehreren Docker Images besteht, wird Compose benötigt.
https://docs.docker.com/compose/
4 Netzwerkkonfiguration
4a) Netzwerkkonfiguration: Zugriff
Docker zieht sich die Images von unserem Docker Hub aus dem Internet. Dafür braucht es eine Internetverbindung. Das brauchen wir für die Erstinstallation, aber auch für jedes Update der Software.
Neben Zugang zum Internet, um Docker Images zu ziehen, braucht die Anwendung Zugriff auf den SAP B1 Service Layer. Der Service Layer ist unsere Datenschnittstelle zu SAP B1. Für manche Features, wie z.B. das Drucken von Crystal Report Belegen, braucht die Anwendung auf Zugriff auf das SAP B1 API Gateway.
4b) Netzwerkkonfiguration: Bereitstellung
Unsere Anwendung soll von Usern benutzt werden. Dafür brauchen sie Zugriff. Der standardmäßige Port für http Anwendungen ist 80. Standardport für https ist 443.
4c) optional: https Zertifikat
Soll https zum Einsatz kommen, brauchen wir die Zertifikatsdateien (.key und .pem) des Zertifikats, das zum Einsatz kommen soll.
Wenn die Anwendung im lokalen Netz läuft, kann man hier eventuell darauf verzichten. Ist die Anwendung ins offene Internet bereitgestellt, ist es unabdingbar.
5) Allgemeine Sicherheitsüberlegungen
Wird die Anwendung im offene Internet bereitgestellt, braucht es sichere B1 Passwörter und robust eingestelltes B1 Berechtigungen.
Unsere Anwendung loggt sich gegen den Service Layer ein. Alles, was der eingeloggte User laut B1 Berechtigungen darf (schreiben/lesen), kann er auch über den Service Layer.
Wir sehen selten gute B1 Passwörter. Häufig treffen wir auf ‘1234’.
Aus IT Sicherheitsgründen empfehlen wir dringend, sie nur im lokalen Netz bereitzustellen und über VPN verfügbar zu machen.
6) Composition erstellen und Docker Server konfigurieren
In docker-compose.yml wird die Komposition definiert (welche Backend Version, welches Auth-Modul, welche Version des Clients soll installiert werden). Was wir hier angeben, wird von Docker installiert.
Die nginx.conf ist die Serverkonfiguration des Docker Containers. Hier werden die Adressen angegeben und das Zertifikat.
7) B1Web einrichten
B1Web läuft nun und der Startbildschirm wird unter der Adresse angezeigt.
Unten findet sich das Icon zur Admin Seite.
7a) Login zur Administrationsseite
Für den Login brauchen wir die Service Layer Adresse. Als Firmendatenbank kann irgendeine aus dem System gewählt werden. Für diese Datenbank loggt man sich hier als ‘manager’ User ein, dessen PW man hier braucht.
7b) Top Level Einstellungen
API Gateway: für Crystal Report Druck.
Database Instance: brauchen wir nicht. Kann leer bleiben.
Database Type: brauchen wir nicht. Kann leer bleiben.
Lizenz: das B1Web Team braucht folgende Infos zur Erstellung des Lizenz-Keys:
1. wie viele User
2. für wie lange
3. Installationsnummer von B1
Company Database: die B1 Datenbanken, die in B1Web benutzt werden sollen.
7c) Einstellungen pro Datenbank
Neben jeder Datenbank gibt es ein Menü zur Verwaltung der einzelnen Datenbank.
Hier können User freigeschalten werden oder Einstellungen für Addons.
7d) Tabellen in Allow List Service Layer eintragen
Für einige Punkte werden zusätzliche Tabellen in der Allow List des Service layers benötigt.
Diese müssen manuell eingetragen werden.
Es handelt sich um folgende Einträge:
“OOPR”, “OCPR”,“OWHS”, “@IAG_ARBEITSKARTE”, “OOST”, “OHEM”,“OPR1”, “OPR4”, “OUSR”,“OSCL”,“OOIN”,“OITB”
Die Datei b1s_sqltable.config findet sich hier
Post your comment on this topic.