Architekturelemente Bus, Hub und Agent

Die Versionsverwaltung benötigt im Hintergrund laufende Prozesse: Bus, Hub und Agenten.

Funktionen von Bus, Hub und Agent

Die Versionsverwaltung benötigt im Hintergrund laufende Prozesse, um die aktiven und inaktiven Modellversionen und Sicherungen sowie den Link-Zugriff auf die Modelle verwalten zu können: Bus, Hub und Agenten.

Ein Bus ist eine Kommunikationskomponente, die es Lizenzservern, Modellservern, Client-Anwendungen und Agenten ermöglicht, schnell und asynchron Statusinformationen auszutauschen. Ein Bus ist genau einem Lizenzserver zugeordnet.

Ein Hub dient als zentraler Auskunftsdienst, z.B. zur Namensauflösung von alternativen Innovator-Links auf physische Modelle.

Ein Agent überwacht die Modellversionen eines INOPRJ-Verzeichnisses und bietet einige Hilfsdienste:

  • Modellserver für Modellversionen starten und beenden
  • Modellversionen löschen
  • Modellversionen ermitteln
  • Laufende Modellserver für Modellversionen abfragen

Schema für die Kommunikation von Bus, Hub und Agenten in der Versionsverwaltung

Jede Modellservermaschine benötigt einen eigenen Agenten. Es ist zulässig, dass diese Agenten auf ein gemeinsames INOPRJ-Verzeichnis zugreifen. Dies ermöglicht den wahlweisen Start von Servern für Modellversionen auf verschiedenen Rechnern.

Einschränkung

Der Zugriff mehrerer Agenten mit verschiedenen Lizenzservern auf dasselbe INOPRJ-Verzeichnis ist nicht zulässig.

Start eines Busses

Wird ein Lizenzserver nicht als Dienst gestartet, dann erfolgt der Start des Busses implizit.

Hinweis

Zur Realisierung des Busses wird NATS-Server verwendet.

Erfolgt der Start des Lizenzservers als Dienst, dann ist der implizite Start des Busses aus technischen Gründen nicht möglich. Er muss ebenfalls als Dienst installiert werden. Das Kommando lautet inobus. Der Lizenzserver kann als Option angegeben werden.

Start eines Hubs

Zu jedem Lizenzserver gibt es genau einen Hub. Dieser wird vom Lizenzserver stets implizit gestartet.

Start eines Agenten

In der Regel sollte ein Agent unter Zuhilfenahme des Administrationsprogramms als Dienst installiert werden.

Wird im zugehörigen Dialog "inoagent" als Kommando eingetragen, dann werden für die notwendigen Parameter die Variablen der Innovator-Installation verwendet. Bei Bedarf können über Aufrufoptionen Lizenzserver, Projektverzeichnis und Port geändert werden.

Hinweis

Für den Agenten ist die Installation der Java Standard Edition (SE) ab Java 21 erforderlich.

Zum Starten eines Agenten als Dienst wird das Programm prunsrv.exe verwendet.

Ein Agent kann alternativ auch in einer Eingabeaufforderung oder PowerShell gestartet werden.

Der notwendige Aufruf lautet:

java -cp $INOEXE\InoAgent\InoAgent.jar [Optionen] de.mid.innovator.agent.AgentApp

Optionen:

  • de.mid.innovator.inoexe <Verzeichnis der Innovator-Programme>
  • de.mid.innovator.inoprj <Projektverzeichnis>
  • de.mid.innovator.inohost <Lizenzserver>
  • de.mid.innovator.inoagent.port <Port> (optional)
  • de.mid.innovator.inoagent.logdir <Verzeichnis für Protokolldateien>

Ein Beispiel für einen Aufruf findet sich in dem PowerShell-Skript $INOEXE/InoAgent/startAgent.ps1.

Agenten können auch auf Linux betrieben werden. Die Aufrufsyntax ist identisch.