1. Neue Funktionen

1.1. Unterstützung für neue Lizenzierung der FVA-Workbench

Ab Version 11.0.0 der FVA-Workbench wurde die Lizenzierung geändert. Zur Verwendung von FVA-Workbench-Instanzen mit alter und neuer Lizenzierung wurde die Konfiguration für die Angabe der Lizenzparameter angepasst.

Die Lizenzparemeter werden jetzt mit den Konfigurationsparametern app.workbench.defaultLicense, app.workbench.defaultLicensePool, app.workbench.instances[0].license oder app.workbench.instances[0].licensePool angegeben. Der Wert des Parameters muss im Format des jeweiligen FVA-Workbench-Startparameters konfiguriert werden.

Beispiel für neue Lizenz mit dem Thales-EMS: TLic;101010101010101010

Beispiel für alte Lizenz mit dem FVA-Lizenzserver: SLic;license.fva-service.de:5006;Li13270;fvagmbh;geheim

Mit diesen Anpassungen wurden die folgenden Konfigurationsparameter entfernt:

  • app.workbench.defaultLicense.serverUrl

  • app.workbench.defaultLicense.licenseId

  • app.workbench.defaultLicense.login

  • app.workbench.defaultLicense.password

  • app.workbench.instances[0].license.serverUrl

  • app.workbench.instances[0].license.licenseId

  • app.workbench.instances[0].license.login

  • app.workbench.instances[0].license.password

1.2. Option für sequenzielle Ausführung von Tasks

Mit dem FVA Simulation Hub werden Tasks immer parallel ausgeführt (bei verfügbaren FVA-Workbench-Instanzen). Je nach Anforderung kann es aber auch notwendig sein, dass ein Task sequenziell ausgeführt werden muss und die Ressourcen des Rechners nur diesem Task zur Verfügung stehen.

Mit den folgenden neuen Endpunkten kann der Parameter sequentialExecution übergeben werden:

  • POST /api/2.2/workbench/task/execute-batch-job/create

  • POST /api/2.2/workbench/task/simulate-work/create

Beispiel für die Anfrage des Endpunkts /api/2.2/workbench/task/execute-batch-job/create:

{
  "inputModel":
  {
    "type": "WBPZ",
    "content": "UEsDBAoAAAAAAMNwGFUAAAAAAAAAA..."
  },
  "inputScripts": [
    {
      "content": "cnVuQ2FsY01ldGhvZCgnMDAxX1NZU1RFTV9DQUxDVUxBVElPTicsIDEpOw=="
    }
  ],
  "sequentialExecution": true (1)
}
1 Die Angabe true für den Parameter sequentialExecution sorgt dafür, dass der Task sequenziell ausgeführt wird.

Zudem wurden die folgenden Endpunkte hinzugefügt, um den gesetzten Parameter sequentialExecution für Tasks aus der Warteschlange ermitteln zu können:

  • GET /api/2.2/workbench/task/list

  • GET /api/2.2/workbench/task/{id}

Mit Hinzufügen der neuen Endpunkte, wurden die folgenden Endpunkte zu den Legacy-Endpunkten verschoben:

  • POST /api/2.0/workbench/task/execute-batch-job/create

  • POST /api/2.0/workbench/task/simulate-work/create

  • GET /api/2.0/workbench/task/list

  • GET /api/2.0/workbench/task/{id}

1.3. Metadaten mit senden und in Ergebnis-Antwort wieder erhalten

Mit dem FVA Simulation Hub können jetzt beliebige Metadaten als Key-Value-Paare im Request für die Erstellung von Jobs mit angegeben werden. Diese Metadaten werden dann in den Ergebnis-Antworten mit angegeben und für Auswertungen oder Zuordnungen im aufrufenden Client verwendet werden.

Mit den folgenden neuen Endpunkten kann der Parameter metadata übergeben werden:

  • POST /api/2.2/workbench/task/execute-batch-job/create

  • POST /api/2.2/workbench/task/simulate-work/create

Beispiel für die Anfrage des Endpunkts /api/2.2/workbench/task/execute-batch-job/create:

{
  "inputModel":
  {
    "type": "WBPZ",
    "content": "UEsDBAoAAAAAAMNwGFUAAAAAAAAAA..."
  },
  "inputScripts": [
    {
      "content": "cnVuQ2FsY01ldGhvZCgnMDAxX1NZU1RFTV9DQUxDVUxBVElPTicsIDEpOw=="
    }
  ],
  "metadata": { (1)
    "externalId": "54321"
  }
}
1 Mit metadata können beliebige Key-Value-Paare angegeben werden.

Zudem wurden die folgenden Endpunkte hinzugefügt, um den Parameter metadata zurückgeben zu können:

  • GET /api/2.2/workbench/task/simulate-work/{id}/result

  • GET /api/2.2/workbench/task/execute-batch-job/{id}/result

  • GET /api/2.2/workbench/task/list

  • GET /api/2.2/workbench/task/{id}

Mit Hinzufügen der neuen Endpunkte, wurden die folgenden Endpunkte zu den Legacy-Endpunkten verschoben:

  • POST /api/2.0/workbench/task/execute-batch-job/create

  • GET /api/2.0/workbench/task/simulate-work/{id}/result

  • POST /api/2.0/workbench/task/simulate-work/create

  • GET /api/2.0/workbench/task/execute-batch-job/{id}/result

  • GET /api/2.0/workbench/task/list

  • GET /api/2.0/workbench/task/{id}

1.4. PID zu Workbench-Instanz über API und UI ausgeben

Über REST-API und UI des FVA Simulation Hub werden jetzt die Prozess-IDs (PID) der gestarteten Workbench-Instanzen ausgegeben.

Mit den folgenden neuen Endpunkten wird der Parameter pid zurückgegeben:

  • GET /api/2.2/workbench/node/instance/list

  • GET /api/2.2/workbench/node/instance/{id}

  • GET /api/2.2/workbench/node/agent/list

  • GET /api/2.2/workbench/node/agent/{id}

Beispiel für die Antwort des Endpunkts GET /api/2.2/workbench/node/instance/{id}:

{
  "id": "btuU-dRQkvJ3YeEEzWaRz",
  "version": "7.1.0",
  "revision": "12345",
  "labels": [],
  "agentId": "9kmNsEwB0N9Aq1jvbrETl",
  "status": "UP",
  "startedDatetime": "2022-03-30T13:25:48.4796426Z",
  "working": false,
  "pid": 54321 (1)
}
1 Der Parameter pid liefert die Prozess-ID der gestarten Workbench-Instanz.

Mit Hinzufügen der neuen Endpunkte, wurden die folgenden Endpunkte zu den Legacy-Endpunkten verschoben:

  • GET /api/2.0/workbench/node/instance/list

  • GET /api/2.0/workbench/node/instance/{id}

  • GET /api/2.0/workbench/node/agent/list

  • GET /api/2.0/workbench/node/agent/{id}

1.5. Platzhalterersetzung auch in zusätzlich übertragenen Dateien

In den übergeben Scripts des Endpunkts POST /api/2.0/workbench/task/execute-batch-job/create findet bereits eine Platzhalterersetzung statt und der Platzhalter ${WORKING_DIRECTORY} wird für die Ausführung durch das tatsächliche Arbeitsverzeichnis ersetzt.

Für die über die Eigenschaft additionalFiles zusätzlich übermittelten Dateien kann die Platzhalterersetzung jetzt auch über die neue Eigenschaft filtering ausgelöst werden.

Beispiel für die Anfrage des Endpunkts /api/2.2/workbench/task/execute-batch-job/create:

{
  "inputModel":
  {
    "type": "WBPZ",
    "content": "UEsDBAoAAAAAAMNwGFUAAAAAAAAAA..."
  },
  "inputScripts": [
    {
      "content": "cnVuQ2FsY01ldGhvZCgnMDAxX1NZU1RFTV9DQUxDVUxBVElPTicsIDEpOw=="
    }
  ],
  "additionalFiles": [
    {
      "content": "1RFTV9DQUxDVUxBVElPTicsIDEpOw==cnVuQ2FsY01ldGhvZCgnMDAxX1NZU"
      "filtering": true (1)
    }
  ]
}
1 Die Angabe true für den Parameter filtering sorgt dafür, dass die Platzhalterersetzung durchgeführt wird.

1.6. Installation der Anwendung mit Docker-Image

Zusätzlich zu den bisherigen Wegen kann der FVA Simulation Hub jetzt auch mit einem Docker-Image installiert werden. Genaue Informationen sind im Handbuch unter dem Kapitel "Installation" zu finden.

2. Verbesserungen

2.1. Datum/Zeit-Ausgaben vereinheitlicht zu ISO-8601

Die Ausgabe von Datum und Uhrzeit erfolgen über die REST-API jetzt einheitlich nach dem Standard ISO-8601.

Die Zeiten werden immer in der Zeitzone UTC ausgegeben. Die Angabe erfolgt mit dem Zeichen Z.

Beispiel: 2026-04-03T19:23:24.744647591Z

Ausgenommen hiervon ist nur die Systemzeit, die über den Endpunkt GET /api/2.0/monitoring/server-info bereitgestellt wird. Di Angabe erfolgt zwar nach dem Standard ISO-8601, aber die Zeitangabe erfolgt in der Zeitzone des Servers.

3. Gelöste Anforderungen

3.1. Gelöste Anforderungen in v2.2.0

Type Summary

Neue Funktion

Unterstützung für neue Lizenzierung der FVA-Workbench

Neue Funktion

Option für sequenzielle Ausführung von Tasks

Neue Funktion

Metadaten mit senden und in Ergebnis-Antwort wieder erhalten

Neue Funktion

PID zu Workbench-Instanz über API und UI ausgeben

Neue Funktion

Platzhalterersetzung auch in zusätzlich übertragenen Dateien

Neue Funktion

Installation der Anwendung mit Docker-Image

Verbesserung

Datum/Zeit-Ausgaben vereinheitlicht zu ISO-8601