Technisches

<< Klicken Sie, um das Inhaltsverzeichnis anzuzeigen >>

Navigation:  »Kein übergeordnetes Thema«

Technisches

EMIL ist ein dreischichtiges System. Die Datenhaltung erfolgt im Open Source SQL-Server Firebird 3, der in einer angepassten Version mitinstalliert wird und auf einem eigenen internen Port operiert, sodass er nicht mit anderen Anwendungen auf dem Server kollidiert, auch wenn diese ebenfalls einen Firebird Server verwenden. Der SQL-Server baut keine Verbindungen nach außen auf, sondern nur zum EMIL Applikationsserver.

Der EMIL Applikationsserver stellt den Client Daten aus der Datenbank, Dokumente und Services zur Verfügung und kann Hintergrundprozesse ausführen. Die Verbindung zwischen Client und Server ist per HTTPS verschlüsselt, asynchron und erfolgt über die Authentifizierung mittels JSON Web Token. Das Secret, auf dem das JWT basiert wird jede Nacht um 0:00 Uhr erneuert, um bei einem Serverneustart über den Tag bestehende Verbindung nicht invalide zu machen.

Aktualisierungen werden zweistufig eingespielt: Der Client lädt ein Aktualisierungspaket aus dem Internet herunter und überträgt dieses an den Server. Dieser erzeugt eine Kopie von sich selbst und spielt dort die Änderungen aus dem Aktualisierungspaket ein. So können Dateien aktualisiert werden, die im laufenden Betrieb im Zugriff sind. Der Betrieb wird dabei nicht unterbrochen.

Anschließend wird der Serverguard über die neue Version informiert und startet den neuen Server. Es entsteht eine sehr kurze Betriebsunterbrechung, die wegen des asynchronen Verbindungscharakters maximal dazu führen kann, dass ein zufällig in diesem Moment an einem Client ausgeführter Speichervorgang scheitert und wiederholt werden muss. Der Datenbankserver läuft durchgängig weiter.

Mit der Aktualisierung wird auch immer ein passendes Aktualisierungspaket für den Client ausgeliefert. Dieser erhält bei Vorliegen einer neueren Version eine Meldung und informiert den Benutzer darüber, dass dieser EMIL neu starten sollte, um in den Genuss der Aktualisierung zu kommen.

Client-Aktualisierungen werden beim Start des EMIL Clients automatisch installiert.

EMIL Server

EMIL legt auf dem Server drei Dienste an:

clip0021

Der Firebird Guardian startet und überwacht den Firebird SQL Server, der die Datenbankschicht des Systems repräsentiert. Der ITC Server Guard startet und überwacht den EMIL Server, der die Dienste zum Client zur Verfügung stellt und Hintergrundaufgaben durchführt. Alle drei Dienste müssen laufen, um ein funktionsfähiges EMIL System zu betreiben. Dies gilt natürlich nur für die Mehrplatzinstallation.

Lokale Einzelplatzinstallation

Die lokale Einzelplatzinstallation besteht ebenfalls aus Server und Client, der Server verbindet sich allerdings direkt mit der lokalen Datenbank (ohne Firebird-Server) und der Server wird vom Client mit gestartet. Eine solche Installation kann mit wenigen Schritten in eine serverbasierte Installation umgewandelt werden, wobei alle Daten mitgenommen werden.

Scripting

Um eine maximale Flexibilität auch bei komplexen und nicht vom Anwender beeinflussbaren Funktionen zu erreichen, wurden verschiedene Funktionen in Scripts ausgelagert, die Installationsbezogen angepasst werden können. Dadurch wird erreicht, dass im Kern des Systems nicht alle möglichen Ausprägungen berücksichtigt werden müssen (was in der Regel überhaupt nicht möglich ist) und dennoch eine Anpassung an spezielle Situationen und Umgebungen möglich ist.

Dies ist besonders bei der HL7 Schnittstelle, Plausibilittätsprüfungen und bei den Berichten hilfreich, da so nahezu alles umgesetzt werden kann, ohne das Grundsystem aufzublähen.