Architekturelemente
Die Architekturelemente von Innovator ermöglichen eine effiziente und sichere Zusammenarbeit im Team.
Lizenzserver
Der Hauptlizenzserver ist der zentrale Einstiegspunkt in die Client-Server-Architektur von Innovator. Er nimmt folgende Aufgaben wahr.
-
Lizenzverwaltung
Namensgebend für diese Komponente ist die Funktion, die zur Nutzung von Innovator notwendigen Lizenzen zu verwalten und an die Client-Anwendungen und Benutzer bei der Anmeldung zu verteilen. Ohne gültige Lizenz lässt sich Innovator zwar installieren und starten, die Funktionalität ist jedoch auf einen Demo-Modus begrenzt.
Der Hauptlizenzserver kann den Lizenzpool auf untergeordnete interne oder externe Projektlizenzserver verteilen, um eine organisatorische Trennung verschiedener Bereiche zu ermöglichen.
-
Zentrale Benutzerverwaltung
Der Hauptlizenzserver verwaltet im standardmäßigen Single-Sign-on-Betrieb alle Benutzer und deren Zugriffsrechte auf Modelle sowie administrative Funktionen.
Durch eine Synchronisationsmöglichkeit mit einem unternehmensweiten Benutzerverzeichnis über das Lightweight Directory Access Protocol (LDAP) können die Benutzer automatisch aktualisiert werden.
-
Zentraler Einstiegspunkt und Modellverzeichnis
Jeder Modellserver teilt beim Start dem Lizenzserver die wichtigsten Daten über das verwaltete Repository und seine Modelle mit. Der Lizenzserver kann damit diese Informationen an die Client-Anwendungen weitergeben. Bei der Auswahl eines Modells durch einen Benutzer vermittelt der Lizenzserver die Kontaktaufnahme zwischen Modellserver und Client-Anwendung. Der eigentliche Datenverkehr zwischen diesen beiden wird dann direkt abgewickelt. Trotzdem wird der Kontakt zum Lizenzserver von keiner Seite vollständig abgebrochen.
Hinweis
Alle Innovator-Anwendungskomponenten müssen Netzwerkverbindungen zu den jeweiligen Lizenzservern aufbauen können. Die Freigabe von Netzwerkports ist daher zwingend erforderlich.
Modellserver
Der Modellserver stellt die Modelldaten für die Innovator-Client-Anwendungen bereit.
Beim Start liest er das ihm über Parameter mitgeteilte Repository ein und baut aus dessen Daten eine In-Memory-Datenbank auf. Nach der Anmeldung am Lizenzserver steht der Modellserver zur Verbindungsaufnahme durch die Client-Anwendungen bereit. Er regelt den konkurrierenden Zugriff verschiedener Benutzer auf die Modelldaten und sorgt für deren Konsistenz.
Der Modellserver und die Client-Anwendungen kommunizieren über komprimierte Telegramme, die sowohl Kommandos als auch Daten enthalten.
Repository und Modelle
Die Datenbank, die alle Modelldaten und Profile enthält, wird als Repository bezeichnet.
Repositorys bis zur Version 14.1, deren eigenständiger Modellserver am Hauptlizenzserver läuft, stehen als Unternehmensrepositorys auch an allen internen Projektlizenzservern zur Verfügung.
Innovator ermöglicht die Verwaltung von Modellversionen. Dadurch kann dasselbe Modell in verschiedenen Ständen verwendet werden. Für verwaltete Modelle wird das Konzept der zentralen Bereitstellung nicht angeboten.
An einem Modell können prinzipiell beliebig viele Benutzer gleichzeitig arbeiten. Damit nicht mehrere Benutzer zugleich ein Element ändern können, ist das Innovator-Modell mit einem Sperrkonzept ausgestattet. Dieses ermöglicht einem Benutzer, Elemente und Diagramme zur exklusiven Veränderung für sich zu reservieren. Andere Benutzer können sich weiterhin über den aktuellen Zustand dieser gesperrten Elemente informieren, diese aber nicht ändern.
Bus
Der Bus ist eine Kommunikationskomponente, die es Lizenzservern, Modellservern, Client-Anwendungen und Agenten ermöglicht, schnell und asynchron Statusinformationen auszutauschen.
Für jeden Lizenzserver existiert ein Bus. Beim Start eines Lizenzservers wird dieser automatisch ebenfalls gestartet.
Einschränkung
Unter Windows muss bei Nutzung eines Dienstes zum Start des Lizenzservers der Bus (inobus) ebenfalls als separater Dienst eingerichtet werden.
Hub
Jeder Lizenzserver startet automatisch einen Hub (InoHub.jar), auch als Dienst. Ein Hub stellt zentrale Auskunftsdienste zur Verfügung. Er dient z.B. zur Namensauflösung von alternativen Innovator-Links auf physische Modelle.
Agent
Der Agent ist eine Verwaltungskomponente, die die Systemumgebung auf den für den Innovator-Betrieb vorgesehenen Servern kontrolliert und verwaltet. Seine Kernaufgabe ist die Pflege und Verwaltung aller unter Versionskontrolle stehenden Modelle.
Die Agenten (InoAgent.jar) nutzen als Dienstmanager Apache Commons Daemon. Sie können als Dienste eingerichtet werden.
Benachrichtigungsservice
Der Benachrichtigungsservice (InnoNotify.exe) ist eine Verwaltungskomponente, die für das Sammeln und Versenden der Änderungsbenachrichtigungen zuständig ist.
Client-Anwendung Modelleditor
Der Modelleditor ist das Werkzeug, mit dem die Modellierer Zugriff auf die Modelle erhalten und Modellinhalte erstellen und bearbeiten können. Dieses Programm ist nur für Windows erhältlich und eine Anwendung auf Basis der "WPF"-Architektur von Microsoft.
Beim Start des Modelleditors nimmt dieser Kontakt mit dem eingestellten Lizenzserver auf und stellt dem Anwender die für ihn erreichbaren Modelle zur Anmeldung zur Verfügung. Die vom Modelleditor bereitgestellten Funktionen richten sich danach, welche Lizenz für den Anwender vorliegt, welche Konfigurationseinstellungen im Repository für das Modell hinterlegt sind und in welcher Rolle der Anwender angemeldet ist.
Über Plug-ins kann der Modelleditor in seiner Funktionalität weitreichend erweitert werden. Plug-ins für verschiedenste Funktionen können sowohl von der MID bezogen als auch vom Kunden selbst programmiert werden.
Weitere Client-Anwendungen
Für die Bearbeitung der den Modellen stets zugrundeliegenden UML-Profile wird der Konfigurationseditor genutzt. Die seitens MID gepflegten Profile werden dabei durch Customization-Profile ergänzt, mit denen sich kundenspezifische Erweiterungen umsetzen lassen. Außerdem werden im Konfigurationseditor Festlegungen zur Modelldokumentation und zur Anzeige im Modelleditor getroffen.
Die administrative Verwaltung von Lizenzen, Servern, Modellen, Modellversionen, Benutzern und Anmelderegeln sind die Hauptaufgaben des Administrationsprogramms. Außerdem können sowohl die Umgebung als auch die Windows-Dienste hier verwaltet werden.
Der Transformator dient der Transformation von Repositorys und Modellversionen in eine neue Innovator-Version.
Netzwerk
Sofern Innovator nicht vollständig auf einem Einzelplatzrechner installiert ist, wird zur Kommunikation der Komponenten untereinander immer ein Netzwerk benötigt. Innovator kommuniziert mit einem eigenen Protokoll auf TCP/IP-Basis (Transmission Control Protocol/Internet Protocol).
Zur Aufnahme der Kommunikation müssen auf den Rechnern, auf denen Lizenzserver, Bus, Agent oder Modellserver laufen, Kommunikationsports geöffnet werden.
Hinweis
Da die Client-Anwendungen eine hochfrequente und intensive Kommunikation mit dem Modellserver erfordern, existieren hohe Anforderungen an die Latenz dieser Netzwerkverbindung. Bei einem Zugriff z.B. über eine Internet-VPN-Verbindung können merkliche Beeinträchtigungen in der Bedienbarkeit von Innovator entstehen.
Im Netzwerk ist weder die Anzahl der Clients noch der Repositorys beschränkt. Im Netzbetrieb können beliebig viele Modellserver gestartet und von beliebig vielen Benutzern kontaktiert werden.
Beim Einstieg in die Oberflächenbearbeitung werden dem Benutzer alle Repositorys mit den darin enthaltenen Modellen zur Bearbeitung angeboten, für die aktuell ein erreichbarer Modellserver gestartet ist. Unabhängig von der physischen Position der Daten im Netzwerk kann damit jeder Benutzer von Innovator prinzipiell mit jedem Modell arbeiten.
Die Benutzer- und Rechteverwaltung von Innovator ermöglicht es, für die einzelnen Modelle den Zugang und die Befugnisse zu steuern.