1. Systemanforderungen

Die Systemanforderungen für Installation und Betrieb des FVA Simulation Hub sind abhängig davon, wie viele FVA-Workbench-Instanzen gestartet und welche Berechnungen durchgeführt werden.

Die folgenden Mindestanforderungen gelten beim Betrieb eines FVA Simulation Hub mit drei durchgängig laufenden FVA-Workbench-Instanzen:

  • Prozessor: 2,4 GHz mit 6 Kernen

  • RAM: 32 GB

  • Speicher: 20-30 GB (exkl. Betriebssystem)

2. Windows

2.1. Verzeichnisstruktur

Für die Installation der Anwendung wird die folgende Verzeichnisstruktur empfohlen:

Verzeichnis Beschreibung

C:\FVA\FVA-Simulation-Hub\app

Verzeichnis für die Anwendungsdateien des FVA Simulation Hub.

C:\FVA\FVA-Simulation-Hub\lib

Verzeichnis für die Java-Laufzeitumgebung.

C:\FVA\FVA-Simulation-Hub\licenses

Verzeichnis für die FVA-Workbench-Lizenzen.

C:\FVA\FVA-Simulation-Hub\logs

Verzeichnis für diverse Log-Dateien der Hilfswerkzeuge.

C:\FVA\FVA-Simulation-Hub\tools

Verzeichnis für diverse benötigte Hilfswerkzeuge.

C:\FVA\FVA-Simulation-Hub\worker

Verzeichnis für die FVA-Workbench-Instanzen.

Je nach Bedarf können diese Verzeichnisse geändert bzw. frei gewählt werden. In diesem Fall müssen die Pfade angepasst werden, die im weiteren Verlauf der Installationhinweise angegeben sind.

2.2. Programme installieren

2.2.1. Notepad++

Die Installation von Notepad++ ist optional. Es wird aber empfohlen, um die Konfigurationdateien komfortabel zu bearbeiten.

Installation:

2.2.2. 7-zip

Das Windows-Standard-ZIP-Tool ist fehleranfällig (besonders mit langen Pfaden) und deshalb nicht zu verwenden. Als Alternative wird 7-zip empfohlen.

Installation:

2.2.3. Java

Der FVA Simulation Hub benötigt zur Ausführung die Java-Laufzeitumgebung in der Version 21.

Installation:

  • Download von https://jdk.java.net/archive/ (Windows 21 zip)

  • kopieren nach C:\FVA\FVA-Simulation-Hub\lib

  • Entpacken mit "7-zip → Hier entpacken"

2.2.4. NSSM

Für die Ausführung des FVA Simulation Hub als Windows-Dienst wird NSSM (Non-Sucking Service Manager) vorausgesetzt.

Installation:

  • Download von https://nssm.cc/download

  • kopieren nach C:\FVA\FVA-Simulation-Hub\tools

  • Entpacken mit "7-zip → Hier entpacken"

2.2.5. FVA-Lizenzserver

Der FVA-Lizenzserver ist nur beim Einsatz von FVA-Workbench-Instanzen vor der Version 11.0.0 erforderlich. In diesem Fall können die Instanzen ausschließlich mit Floating-Lizenzen betrieben werden, die über den FVA-Lizenzserver bereitgestellt werden.

Installation:

2.2.6. Sentinel License Manager

Mit der FVA Workbench 11.0.0 wurde die Lizenzierung umgestellt und wird seitdem über die Firma Thales abgewickelt. Dafür muss der Sentinel License Manager der Firma Thales (Sentinel Run-time Environment) auf dem Rechner installiert werden, auf dem die FVA-Workbench-Instanzen ausgeführt werden.

Installation:

2.2.7. FVA-Workbench

Zur Durchführung von Berechnungen werden FVA-Workbench-Instanzen benötigt.

Je mehr Instanzen bereitgestellt werden, desto mehr Berechungen können zeitgleich bearbeitet werden. Die maxmiale Anzahl an FVA-Workbench-Instanzen ist hierbei nur durch die verwendete Hardware (Prozessoren, Arbeitspeicher, Festplattenkapazität) und die verfügbaren Lizenzen limitiert.

Installation:

  • Download von https://download.fva-service.de/ (Portable)

  • kopieren nach C:\FVA\FVA-Simulation-Hub\worker

  • Entpacken mit "7-zip → Entpacken nach 'FVA-Workbench-x.y.z-YYYYMMDD-XXXXX'"

Erst ab Version 9.0.0 der FVA-Workbench kann eine Instanz mehrfach aus einem Verzeichnis ausgeführt werden. Für alle Versionen davor müssen die FVA-Workbench-Portable-Archive mehrmals entpackt werden (Suffix der Verzeichnisse beispielsweise mit _01 und _02, je nach Anzahl benötigter Instanzen).

Folgende Versionen der FVA-Workbench werden unterstützt:

  • 11.0.x (11.0.0)

  • 10.1.x (10.1.1, 10.1.0)

  • 10.0.x (10.0.1, 10.0.0)

  • 9.0.x (9.2.1, 9.2.0, 9.0.2, 9.0.1, 9.0.0)

  • 8.1.x (8.1.2, 8.1.1, 8.1.0)

  • 8.0.x (8.0.1, 8.0.0)

  • 7.1.x (7.1.2, 7.1.1, 7.1.0)

Da die Portable-Varianten der FVA-Workbench verwendet werden, muss zwingend die "Microsoft Visual C++ Redistributable" installiert werden. Die zugehörige .exe-Datei befindet sich für gewöhnlich im Hauptverzeichnis der Protable-Version (Dateiname z. B. vc2017redist_x64.exe).
Für Nutzung der FVA-Workbench wird die MATLAB Runtime benötigt. Die erforderliche Version kann sich je nach eingesetzter FVA-Workbench unterscheiden. Die MATLAB Runtime kann hier heruntergeladen werden: www.mathworks.com/products/compiler/matlab-runtime.html

2.2.8. FVA Simulation Hub

Installation:

2.3. Konfiguration

2.3.1. Java-Laufzeitumgebung

Um den Pfad zur Java-Laufzeitumgebung zu konfigurieren, muss die Datei C:\FVA\FVA-Simulation-Hub\app\bin\run.conf.bat.example zu run.conf.bat umbenannt werden.

In dieser Datei muss der Pfad zur Java-Laufzeitumgebung gesetzt werden:

set "JAVA_HOME=C:\FVA\FVA-Simulation-Hub\lib\jdk-21.0.2"

2.3.2. Anwendung

Zum Ändern der Konfigurationsparameter muss die Datei C:\FVA\FVA-Simulation-Hub\app\config\application.yml.example zu application.yml umbenannt werden.

In dieser Datei können die Konfigurationsparameter der Anwendung bearbeitet werden. Ein Auflistung aller Parameter ist hier zu finden: Konfiguration

2.4. Anwendung ausführen

Öffnen Sie die Kommandozeile, wechseln Sie in das Installationsverzeichnis und starten Sie die Anwendung:

$ cd C:\FVA\FVA-Simulation-Hub\app
$ bin\run.cmd
Der hier beschriebene Start der Anwendung sollte nur für Testzwecke verwednet werden. Für den produktiven Betrieb sollte die Anwendung als Dienst betrieben werden.

Die Anwendung startet standardmäßig unter dem Port 8080. Nach dem Start können Sie die erfolgreiche Ausführung im Browser testen. Klicken Sie dazu den folgenden Link: http://localhost:8080/

Verwenden Sie zum Beenden der Anwendung von der Kommandozeile aus die Tastenkombination [STRG]+[C]. Dadurch ermöglichen Sie der Anwendung ein "sanftes" Beenden mit dem automatischen Herunterfahren aller gestarteten FVA-Workbench-Instanzen.

2.5. Dienst einrichten

Dienst konfigurieren und starten

Dienst erstellen:

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe install FVA-Simulation-Hub C:\FVA\FVA-Simulation-Hub\app\bin\run.cmd

Ausführungsverzeichnis setzen:

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe set FVA-Simulation-Hub AppDirectory C:\FVA\FVA-Simulation-Hub\app

Log-Dateien umleiten:

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe set FVA-Simulation-Hub AppStdout C:\FVA\FVA-Simulation-Hub\logs\service.log
$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe set FVA-Simulation-Hub AppStderr C:\FVA\FVA-Simulation-Hub\logs\service-error.log

Ausführenden Benutzer setzen:

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe set FVA-Simulation-Hub ObjectName .\simhub-user password

Dienst starten:

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe start FVA-Simulation-Hub

Service überwachen

Status prüfen:

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe status FVA-Simulation-Hub

Dienst stoppen und entfernen

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe stop FVA-Simulation-Hub
$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe remove FVA-Simulation-Hub confirm

3. Linux

Für die Installation und die Ausführung von FVA-Workbench-Instanzen ist Windows als Betriebssystem erforderlich. Eine Installation unter Linux ist nur bei Load Balancing als Gateway möglich.

3.1. Verzeichnisstruktur

Für die Installation der Anwendung wird die folgende Verzeichnisstruktur empfohlen:

Verzeichnis Beschreibung

/opt/FVA-Simulation-Hub/app

Verzeichnis für die Anwendungsdateien des FVA Simulation Hub.

/opt/FVA-Simulation-Hub/lib

Verzeichnis für die Java-Laufzeitumgebung.

Je nach Bedarf können diese Verzeichnisse geändert bzw. frei gewählt werden. In diesem Fall müssen die Pfade angepasst werden, die im weiteren Verlauf der Installationhinweise angegeben sind.

3.2. Programme installieren

3.2.1. Java

Der FVA Simulation Hub benötigt zur Ausführung die Java-Laufzeitumgebung in der Version 21.

Installation:

  • Download von https://jdk.java.net/archive/ (Linux 21 tar.gz)

  • kopieren nach /opt/FVA-Simulation-Hub/lib

  • Entpacken mit tar -zxf openjdk-21.0.1_linux-x64_bin.tar.gz

3.2.2. FVA Simulation Hub

Installation:

3.3. Konfiguration

3.3.1. Java-Laufzeitumgebung

Um den Pfad zur Java-Laufzeitumgebung zu konfigurieren, muss die Datei /opt/FVA-Simulation-Hub/app/bin/run.conf.example zu run.conf umbenannt werden.

In dieser Datei muss der Pfad zur Java-Laufzeitumgebung gesetzt werden:

set "JAVA_HOME=/opt/FVA-Simulation-Hub/lib/jdk-21.0.2"

3.3.2. Anwendung

Zum Ändern der Konfigurationsparameter muss die Datei /opt/FVA-Simulation-Hub/app/config/application.yml.example zu application.yml umbenannt werden.

In dieser Datei können die Konfigurationsparameter der Anwendung bearbeitet werden. Ein Auflistung aller Parameter ist hier zu finden: Konfiguration

3.4. Anwendung ausführen

Wechseln Sie in das Installationsverzeichnis und starten Sie die Anwendung:

$ cd /opt/FVA-Simulation-Hub/app
$ bash bin/run.sh
Der hier beschriebene Start der Anwendung sollte nur für Testzwecke verwednet werden. Für den produktiven Betrieb sollte die Anwendung als Dienst betrieben werden.

Die Anwendung startet standardmäßig unter dem Port 8080. Nach dem Start können Sie die erfolgreiche Ausführung im Browser testen. Klicken Sie dazu den folgenden Link: http://localhost:8080/

3.5. Dienst einrichten

Dienst konfigurieren und starten

Vergeben Sie ausführende Berechtigung für das Start-Script:

$ chmod +x /opt/FVA-Simulation-Hub/app/bin/run.sh

Service erstellen und starten

$ cp /opz/FVA-Simulation-Hub/app/bin/systemd/fva-simulation-hub.service /etc/systemd/system/
$ nano /etc/systemd/system/fva-simulation-hub.service
    # 'WorkingDirectory' -> Setzen Sie hier das Installationsverzeichnis
    # 'ExecStart' -> Setzen Sie hier den vollständigen Pfad zur run.sh
    # 'SyslogIdentifier' -> Setzen Sie hier eine ID für das System-Log

$ systemctl daemon-reload
$ systemctl enable fva-simulation-hub
$ systemctl start fva-simulation-hub

Service überwachen

Status prüfen:

$ systemctl status fva-simulation-hub
$ journalctl -u fva-simulation-hub -b

Service stoppen und entfernen:

$ systemctl stop fva-simulation-hub.service
$ systemctl disable fva-simulation-hub.service
$ rm /etc/systemd/system/fva-simulation-hub.service
$ systemctl daemon-reload
$ systemctl reset-failed

4. Docker

Für die Installation und die Ausführung von FVA-Workbench-Instanzen ist Windows als Betriebssystem erforderlich. Eine Installation mit Docker ist nur bei Load Balancing als Gateway möglich.

Da sich das Docker-Image in einem privaten Repository befindet, ist zuvor ein Login über die Organisation fvagmbh erforderlich. Wenden Sie sich an den Support, um ihren persönlichen Access-Token zu erhalten.

Mit Access-Token kann der Login über folgenden Befehl erfolgen:

$ docker login -u fvagmbh (1)
1 Bei der Aufforderung zu Angabe des Kennworts muss der Access-Token angegeben werden.

Mit dem folgenden Befehl kann das Docker-Image des FVA Simulation Hub heruntergeladen werden:

$ docker image pull fvagmbh/simulation-hub:v2.2.0 (1)
1 Als Tags stehen latest und spezifische Versionsnummern zur Verfügung (z. B.: v2.2.0, v2.2, v2).
Nachdem das Docker-Image heruntergeladen wurde, kann mit dem Befehl docker logout auch wieder ein Logout erfolgen.

Mit dem folgenden Befehl kann der FVA Simulation Hub über Docker gestartet werden:

$ docker run --name my-simulation-hub \
  -p 8080:8080 \  (1)
  -v /your/path/to/application.yml:/app/config/application.yml:ro \  (2)
  fvagmbh/simulation-hub:v2.2.0 (3)
1 Standradmäßig hört die Anwendung im Container auf den Port 8080. Für den Zugriff muss dieser Port exponiert werden.
2 Die Konfigurationsdatei wird im Container unter /app/config/application.yml erwartet.
3 Als Tags stehen latest und spezifische Versionsnummern zur Verfügung (z. B.: v2.2.0, v2.2, v2).

5. Reverse Proxy

Der Einsatz eines Reverse Proxy kann folgende Vorteile bieten:

5.1. NginX

In diesem Abschnitt wird die Einrichtung eines Reverse Proxy am Beispiel von NginX beschrieben.

5.1.1. Windows

Voraussetzungen

Es wird angenommen, dass Zertifikatsdatein bereits unter den folgenden Pfaden zur Verfügung stehen:

C:\certs\[DOMAIN]\cert.pem
C:\certs\[DOMAIN]\fullchain.pem
C:\certs\[DOMAIN]\privkey.pem

NginX installieren

Falls noch nicht vorhanden, kann Nginx mit den folgenden Schritten installiert werden:

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe install Nginx C:\FVA\FVA-Simulation-Hub\tools\nginx-1.26.3\nginx.exe
$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe start Nginx

Konfiguration erstellen

Am Ende der Datei C:\FVA\FVA-Simulation-Hub\tools\nginx-1.26.3\conf\nginx.conf, aber innerhalb der http-Sektion muss folgender Inhalt eingefügt werden:

server {
    listen 80;
    listen [::]:80;

    server_name [SUBDOMAIN].[DOMAIN];
    # example: server_name my-app.example.com;

    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name [SUBDOMAIN].[DOMAIN];
    # example: server_name my-app.example.com;

    ssl_certificate C:/certs/[DOMAIN]/fullchain.pem;
    # example: ssl_certificate C:/certs/example.com/fullchain.pem;
    ssl_certificate_key C:/certs/[DOMAIN]/privkey.pem;
    # example: ssl_certificate_key C:/certs/example.com/example.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:[APP_PORT];
        # example: proxy_pass http://127.0.0.1:8080;

        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;

        # WebSocket support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Stellen Sie sicher, dass Sie alle der folgenden Platzhalter ersetzt haben:

  • [DOMAIN]

  • [SUBDOMAIN]

  • [APP_PORT]

Konfiguration testen

Testen Sie die Konfiguration mit dem folgenden Kommando:

$ C:\FVA\FVA-Simulation-Hub\tools\nginx-1.26.3\nginx.exe -t

NginX neustarten

Mit dem folgenden Kommando können Sie Nginx neustarten und die Anpasungen werden aktiv:

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe restart Nginx

5.1.2. Linux

Voraussetzungen

Es wird angenommen, dass Zertifikatsdatein bereits unter den folgenden Pfaden zur Verfügung stehen:

/etc/pki/tls/certs/[DOMAIN]/cert.pem
/etc/pki/tls/certs/[DOMAIN]/fullchain.pem
/etc/pki/tls/certs/[DOMAIN]/privkey.pem

NginX installieren

Falls noch nicht vorhanden, kann Nginx mit dem folgenden Kommando installiert werden:

$ apt install nginx

Konfiguration erstellen

Erstellen Sie die Datei /etc/nginx/conf.d/[SUBDOMAIN].conf mit dem folgenden Inhalt:

server {
    listen 80;
    listen [::]:80;

    server_name [SUBDOMAIN].[DOMAIN];
    # example: server_name my-app.example.com;

    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name [SUBDOMAIN].[DOMAIN];
    # example: server_name my-app.example.com;

    ssl_certificate /etc/pki/tls/certs/[DOMAIN]/fullchain.pem;
    # example: ssl_certificate /etc/pki/tls/certs/example.com/fullchain.pem;
    ssl_certificate_key /etc/pki/tls/certs/[DOMAIN]/privkey.pem;
    # example: ssl_certificate_key /etc/pki/tls/certs/example.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:[APP_PORT];
        # example: proxy_pass http://127.0.0.1:8080;

        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;

        # WebSocket support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Stellen Sie sicher, dass Sie alle der folgenden Platzhalter ersetzt haben:

  • [DOMAIN]

  • [SUBDOMAIN]

  • [APP_PORT]

Konfiguration testen

Testen Sie die Konfiguration mit dem folgenden Kommando:

$ nginx -t

NginX neustarten

Mit dem folgenden Kommando können Sie Nginx neustarten und die Anpasungen werden aktiv:

$ systemctl restart nginx

5.2. IIS

In diesem Abschnitt wird die Einrichtung eines Reverse Proxy am Beispiel von Microsoft Internet Information Services (IIS) beschrieben.

Voraussetzungen

Nach erfolgreicher Installation des IIS müssen folgende Zusatzmodule heruntergeladen und installiert werden:

ARR aktivieren (Proxy einschalten)

install iis 1

Auswählen des Servers im linken Bereich und "Application Request Routing Cache" durch Doppelklick öffnen.

install iis 2

Klick im rechten Bereich auf "Server Proxy Settings".

install iis 3

Aktivierung von "Enable Proxy" und Klick auf "Übernehmen".

Rewrite-Regel erstellen

install iis 4

Auswählen der Website im linken Bereich und "URL Rewrite" durch Doppelklick öffnen.

install iis 5

Klick im rechten Bereich auf "Regel(n) hinzufügen".

install iis 6

Auswahl von "Leere Regel" bei "Eingehende Regeln".

install iis 7

Im Feld "Name" einen sprechenden Namen vergeben.

Bei "Muster" muss der Wert (.*) angegeben werden. Wird ein Kontext-Pfad verwendet, ist der Wert nach dem Beispiel ^simhub/(.*) anzugeben.

Bei "URL umschreiben" muss der Wert http://localhost:8080/{R:1} angegeben werden. Hier muss der Port angegeben werden, der auch im Simulation Hub konfiguriert wurde.