Modulmanagement Konzept

ModuleManagementConcept

Das Klassendiagramm zeigt schematisch den framework-technischen Aufbau des ISA Modulmanagments. Die grünen Bereiche sind diejenigen, die eine Anwendung betreffen. Die anderen Bereiche gehören zum Framework und sind für den Nutzer normalerweise “unsichtbar”.

Ein wichtiger Aspekt des ISA Systemaufbaus sind die Zusammenhänge

  • 1 Kernel kennt N Systeme (SystemContext), die von N Usern (SessionContext) genutzt werden können
  • 1 Session hat 1 PlugInHandler, der für diese Session private ModulObjekte über einen konsistenten, unveränderlichen ModulrepositorySnapShot zur Verfügung stellt

Damit bildet das ISA Modulsystem alle Beteiligten eines realen Anwendungssystems bereits in seinem eigenen Aufbau ab und ermöglicht so eine sichere dynamische Nutzung von Modulen in einer verteilten, MultiUser Umgebung .

Der SnapShot-Mechanismus sorgt dafür, das dynamische Austauschbarkeit zu Laufzeit und ein konsistenter Systemzustand gleichzeitig gewährleistet sind. Innerhalb einer Session verhält sich das System wie eine “normale”, fest verdrahtete Anwendung. Alle Teile (Module) eines Systems stehen über feste und wohl definierte Abhängigkeiten miteinander in Beziehung.

Gleichzeitig ist das ModulRepository selbst jedoch frei für Veränderungen. So können jeder Zeit Module bzw. neue Modulversionen hinzugefügt werden, ohne das davon “laufende” Sessions beeinflusst werden.

Beim Start einer Session wird dann der aktuelle Zustand des ModulRepository für diese Session “eingefroren” und die Anwendung baut sich von da an innerhalb der Session durch instantiieren von ModulObjekten dynamisch und auf Anforderung neu auf.

Selbstverständlich können Module auch als “Global” gekennzeichnet werden – wodurch sie für alle Sessions gleich sind und erst durch eine explizite Neuinstallation ausgetauscht werden können.