Module: Kompatibilität
Inhaltsverzeichnis |
Kompatibilität bestehender Module ohne Webanwendung
Module, die ausschließlich Ressourcen verwenden, die auf dem FirstSpirit-Server verfügbar sind (wie Dienste, Bibliotheken, Projektanwendungen), sind auf einem Isolated Server direkt lauffähig.
Sind die bestehenden Module so konzipiert, dass sie:
- Funktionalität einer Bibliothek verwenden (ohne, dass die Bibliothek modul-lokal oder global als Ressource bereitgestellt wird) und / oder
- interne FirstSpirit-Implementierungsklassen („Impl“) verwenden,
wird die Kompatibilität auf dem Isolated Server dadurch sichergestellt, dass der Classloader Zugriff auf den „hidden“ Bereich des fs-isolated-server.jar erhält und damit den gleichen Funktionsumfang nutzen kann, wie zuvor (im Legacy Mode).
Kurzfristig sind für bestehende Module hier keine Anpassungen notwendig!
Mittelfristig sollten aber alle Ressourcen in Modulen an die neuen Bedingungen angepasst werden, um die Vorteile des Isolated Mode nutzen zu können.
Module mit Webanwendungen
Um die Lauffähigkeit von Modulen mit WebApp-Komponenten, die auf die Verwendung dieser mitgelieferten, internen Bibliotheken angewiesen sind, sicherzustellen, wird ein „Kompatibilitäts-Modul“ bereitgestellt.
Ab der FirstSpirit-Version 2023.4 wird das Modul fs-web-compatibility.fsm nicht mehr ausgeliefert. Sollte das Modul noch benötigt werden, kann problemlos eine alte Version beibehalten werden. |
Das Modul fs-web-compatibility.fsm muss zunächst auf dem FirstSpirit-Server installiert werden. Anschließend können die Bibliotheken über die Projekteigenschaften hinzugefügt werden (siehe Abbildung „Modul installieren“). |
Beim Hinzufügen der WebApp-Komponente „FirstSpirit Web Compatibility: All Libraries“ werden die geshadeten Bibliotheken als eigenes Jar wieder hergestellt. Die entsprechenden Klassen können wieder gefunden werden.
Langfristig sollen alle Modulimplementierungen (bestehende und neue) ohne das Kompatibilitätsmodul auskommen. Das bedeutet, dass bei der Modulimplementierung im WebApp-Umfeld zukünftig die dort verwendeten Bibliotheken als Ressourcen mitgeliefert werden müssen (siehe Seite Modulentwicklung "Isolated").