Installation
Kommandozeile und Grafische Benutzungsoberfläche
Die Installation von best4Automic ist weitestgehend plattformunabhängig und in wenigen Schritten durchzuführen. Aufgrund der genutzten Bibliothek OpenJFX wird ein Release von best4Automic als ZIP-Archiv für Unix- und ein weiteres für Windows-Systeme ausgeliefert. Alle weiteren Komponenten eines Releases sind in den Archiven sonst gleich.
Voraussetzungen
Vor der Installation müssen einige Vorbedingungen geprüft werden. Damit sichergestellt ist, dass eine unterstützte Plattform vorhanden ist, sollte das eingesetzte Betriebssystem einem der folgenden getesteten entsprechen:
Unix - bspw. IBM AIX® (7.1, 7.2 oder 7.3) oder Oracle Solaris® (11.3)
Linux - bspw. SUSE Linux Enterprise Server (SLES)® (12 oder 15) oder RedHat Enterprise Linux (RHEL)® (7.6, 8 oder 9)
Microsoft Windows® (Server ab 2012, 2016, 2019 oder 2022)
Sollte ein anderes UNIX-kompatibles oder Windows System vorliegen, kann best4Automic trotzdem funktionieren. Es müssen auf jeden Fall die nachfolgenden Bedingungen erfüllt sein:
Oracle Java 17 oder OpenJDK 17 in einer 64-Bit-Variante muss auf dem System installiert sein. Es ist ausreichend die Java Runtime Environment (JRE) zu verwenden (JDK ist nicht notwendig). Java Versionen vor 17 werden nicht unterstützt.
Die Hardware muss einer x86 64-Bit-Architektur entsprechen und das Betriebssystem muss ebenfalls eine 64-Bit-Variante sein.
Durchführung
Wenn diese Voraussetzungen erfüllt sind, kann best4Automic auf dem System installiert werden.
Damit best4Automic mit der installierten Version der Automation Engine zusammenarbeiten kann, muss diese in einer Version ab 21 installiert sein. Dabei ist der Patchlevel nicht relevant.
Für das b4A.ps1-Startskript sowie die Powershell-Actions wird Powershell 5.0 vorausgesetzt.
Bemerkung
Die grafische Oberfläche von best4Automic wird mittels der Bibliothek OpenJFX realisiert. Diese ist aktuell ausschließlich für Linux- und Windows-Systeme verfügbar. Damit best4Automic auch auf älteren Unix-Systemen nutzbar ist, wird ein spezielles Start-Skript - b4A-cli - mitgeliefert, dass best4Automic in einen Kommandozeilen-Modus zwingt. Dabei wird die OpenJFX Bibliothek durch eine interne Variante von best4Automic ersetzt. Auch für Windows-Systeme kann dieser erzwungene Kommandozeilen-Modus genutzt werden indem das Start-Skript b4A-cli.ps1 genutzt wird.
Release-Archiv
Der Installationsvorgang besteht ausschließlich aus dem Auspacken des Release-Archivs in dem gewünschten Verzeichnis. Es wird empfohlen, das Archiv mit dem Benutzer auszupacken, der auch die Module ausführen wird.
Das Paket beinhaltet Verzeichnisse, die wie folgend beschrieben aufgebaut sind:
bin
enthält Start-Skripte für die best4Automic Module. Für Unix-Systeme gibt es das Skript
b4A
und für Windows-Systeme die Skripteb4A.bat
undb4A.ps1
. Des Weiteren gibt es noch die Start-Skripteb4A-cli
undb4A-cli.ps1
für den Kommandozeilen-Modus.
lib
enthält alle notwendigen jar-Archive für best4Automic. Für 3rd-Party Bibliotheken sind in einem Unterverzeichnis die entsprechenden Lizenzinformationen zu finden
conf
enthält Konfigurationsdateien für die best4Automic Module. Ausgeliefert werden die zentralen Konfigurationsdateien
defaults.conf
undmodules.conf
. Über den Konfigurationsmechanismus gibt es in einem der folgenden Kapitel weitere Details.
data
ist das Standardausgabeverzeichnis für Module, die Ausgabedateien erstellen.
REST-API
Die Distribution für die REST-API von best4Automic wird in zwei Varianten und jeweils als separates Archiv veröffentlicht, da die Installation anders verläuft. Die erste Variante basiert primär auf den Mechanismen von Apache Tomcat®. Das Archiv wird im WAR-Format veröffentlicht und kann somit über die Veröffentlichungsmechanismen von Apache Tomcat® installiert werden. Die zweite Variante wird im ZIP-Format veröffentlicht und ist eine Standalone-Version, die ohne zusätzlichen Webserver auskommt, da sie einen eingebetteten Eclipse Jetty® mitbringt.
Apache Tomcat®-Version
Voraussetzungen
Diese Version der REST-API von best4Automic kann auf jeder Plattform betrieben werden, die auch von Apache Tomcat® unterstützt wird. Dabei gibt es die folgenden zusätzlichen Anforderungen
Apache Tomcat® muss mindestens in der Version 10 installiert sein
Apache Tomcat® muss mit mindestens Java 17 betrieben werden
Durchführung
Vor der Installation sind folgende Schritte vorzunehmen:
Auspacken des WAR-Archivs
Konfiguration des b4A Releases und Hinterlegen des Zertifikats wie in Konfiguration beschrieben
Benutzer aus der b4A Verbindung anlegen und für den Service-Bereich mindestens mit folgenden Rechten versehen:
Leserechte auf alle Objekte der Services
Ausführungen und Reports der Service-Objekte einsehen
Recht für die Vorschau von PromptSets und Variablen-Objekten
Schreibrechte auf die XML-Variable in der die Konfiguration hinterlegt ist
Privileg für das Sehen von Meldungen aus seiner Benutzergruppe
Benutzergruppe für den Service-Bereich zuordnen
Benutzergruppen anlegen
WAR-Archiv packen
Deployment auf dem Apache Tomcat®
Die Installation folgt dem Vorgehen für Web-Applikationen auf einem Apache Tomcat® Server, welches in der Dokumentation beschrieben ist.
Release-Archiv
Das war-Archiv enthält die folgende Verzeichnisse
WEB-INF
Alle notwendigen Java-Bibliotheken
META-INF
Meta-Informationen zur Web-Applikation
org
Startup-Programm für die REST-Applikation
conf
Konfigurationsverzeichnis für best4Automic
lib
Compliance-Tests, 3rd Party Lizenen und andere intern benötigte Dateien
data
Vorgabeverzeichnisse für erzeugte Ausgabedateien der b4A Module
Standalone Version
Voraussetzungen
Diese Version der REST-API von best4Automic ist grundsätzlich auf allen Plattformen lauffähig, die Java 17 unterstützen.
Durchführung
Vor dem Starten sind folgende Schritte vorzunehmen:
Auspacken des ZIP-Archivs
Konfiguration des b4A Releases und Hinterlegen des Zertifikats wie in Konfiguration beschrieben
Benutzer aus der b4A Verbindung anlegen und für den Service-Bereich mindestens mit folgenden Rechten versehen:
Leserechte auf alle Objekte der Services
Ausführungen und Reports der Service-Objekte einsehen
Recht für die Vorschau von PromptSets und Variablen-Objekten
Schreibrechte auf die XML-Variable in der die Konfiguration hinterlegt ist
Privileg für das Sehen von Meldungen aus seiner Benutzergruppe
Benutzergruppe für den Service-Bereich zuordnen
Benutzergruppen anlegen
Im Anschluss kann die b4A RESTful API gestartet werden.
java -jar .\b4A-rest-launcher.jar
Der Standard-Port ist dabei 8080. Soll dieser geändert werden, kann er als JVM-Option mitgegeben werden.
java -Dserver.port=8081 -jar ./b4A-rest-launcher.jar
Zur Konfiguration von SSL können folgende JVM-Optionen mitgegeben werden:
server.ssl.key-store=./keystore.jks
server.ssl.key-store-password=secret
server.ssl.key-password=another-secret
Alternativ können auch PEM-codierte Dateien anstelle von Java KeyStore Dateien verwendet werden. In dem Fall müssen folgenden JVM-Optionen mitgegeben werden:
server.ssl.certificate=classpath:my-cert.crt
server.ssl.certificate-private-key=classpath:my-cert.key
server.ssl.trust-certificate=classpath:ca-cert.crt
Für weitere Informationen siehe https://docs.spring.io/spring-boot/how-to/webserver.html#howto.webserver.configure-ssl
Release-Archiv
Das ZIP-Archiv enthält die folgende Verzeichnisse und Dateien
conf
Konfigurationsverzeichnis für best4Automic
data
Standard-Ausgabeverzeichnis für best4Automic
lib
Externe Datasources, 3rd Party Lizenen und andere intern benötigte Dateien
logs
Standard Logs-Verzeichnis
b4A-rest-launcher.jar
Auszuführende JAR-Datei
Automatisches Starten
Um den b4A Server oder die b4A RESTful API als Standalone Variante automatisch zu starten gibt es mehrere Möglichkeiten. Folgend werden einige davon beispielhaft aufgezeigt.
Automic Service Manager
Beide b4A Dienste können wie die Automation Engine Dienste über den Service Manager gestartet werden. In der SMD-Datei des Service Manager ist unter Microsoft Windows® eine Zeile wie die folgende zu nutzen:
VAR B4A_SERVER_CMD;powershell.exe -command "Start-Process powershell.exe -ArgumentList '-File C:\best4automic\bin\b4A-cli.ps1 --server' -NoNewWindow -PassThru -Wait"
DEFINE B4A_SERVER;*B4A_SERVER_CMD;c:\best4automic\bin
Unter Linux würde es folgt aussehen:
VAR B4A_SERVER_CMD;/opt/best4Automic/bin/b4A-cli --server
DEFINE B4A_SERVER;*B4A_SERVER_CMD;/opt/best4Automic/bin
Für die b4A RESTful API in der Standalone-Variante funktioniert es ähnlich:
VAR B4A_SERVER_CMD;java -Dserver.port=8443 -Dserver.ssl.certificate=/path/to/certificate/cert.pem -Dserver.ssl.certificate-private-key=/path/to/certificate/private.key -jar b4A-rest-launcher.jar
DEFINE B4A_SERVER;*B4A_SERVER_CMD;/opt/best4Automic-rest-v3
Systemdienst
Die b4A Dienste können auch als Systemdienste gestartet werden. Folgend ein Beispiel für die Integration der b4A RESTful API in den Systemd auf Linux-Systemen.
Dafür muss eine Datei b4a-rest.service im Verzeichnis /etc/systemd/system mit dem folgenden Inhaltangelegt werden.
[Unit]
Description=b4A RESTful API Standalone
After=network.target
[Service]
Type=simple
Restart=always
ExecStart=java -Dserver.port=8081 -Dserver.ssl.certificate=/path/to/certificate/cert.pem -Dserver.ssl.certificate-private-key=/path/to/certificate/private.key -jar b4A-rest-launcher.jar
WorkingDirectory=/opt/best4Automic-rest-v3
User=b4a
[Install]
WantedBy=multi-user.target
Third Party Software
Die best4Automic Solution basiert auf einigen Open Source Komponenten, die von einigen Modulen benötigt werden. Die jeweilige Lizenz bzw. Präambeln der Lizenzen sind in der Distribution enthalten.
jgit
gherkin
diffutils
Gson
OpenJFX
Apache Groovy
Apache Commons IO
Jayway JsonPath
Springboot