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.