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 Skripte b4A.bat und b4A.ps1. Des Weiteren gibt es noch die Start-Skripte b4A-cli und b4A-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 und modules.conf. Über den Konfigurationsmechanismus gibt es in einem der folgenden Kapitel weitere Details.

doc

enthält diese Dokumentation im HTML-Format.

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.

Apache Tomcat Deployer (englisch)

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