management verteilter systeme und anwendungen · ziele und anforderungen grundlagen konzept...
TRANSCRIPT
Management verteilter Systeme und Anwendungen:
Julia FreundHochschule RheinMain23.01.2010
Ziele und Anforderungen
Grundlagen
Konzept
Variante 1
Variante 2
Fazit
Julia Freund - Hochschule RheinMain 2
Ziele und Anforderungen
Grundlagen
Konzept
Variante 1
Variante 2
Fazit
Julia Freund - Hochschule RheinMain 3
generisches, programmatisches Management von OSGi-basierten Anwendungen:
Monitoring/Statusabfrage
Re-Konfiguration
Möglichkeit zum Modi-Wechsel
starten und stoppen von Bundles
Demonstration anhand einer Beispiel-Anwendung
Julia Freund - Hochschule RheinMain 4
Management-Anwendung:
Überwachung von OSGi-Bundles
programmatische Re-Konfiguration von OSGi-Bundles
Definition einer Schnittstelle für den Modi-Wechsel
initiieren von Modi-Wechseln
entferntes Start/Stoppen von Bundles
Prototypische OSGi-Anwendung:
Bereitstellung von Parametern und Operationen zur Re-Konfiguration über eine entspr. Schnittstelle
im Rahmen der Überwachung: Management-Anwendung über Attribut(wert) Änderungen informieren
Schnittstelle, um Modi-Wechsel zu empfangen
Julia Freund - Hochschule RheinMain 5
Ziele und Anforderungen
Grundlagen
Konzept
Variante 1
Variante 2
Fazit
Julia Freund - Hochschule RheinMain 6
…The Dynamic Module System for Java™
OSGi-Komponenten = Bundles = Module
dynamisch: installieren, starten, aktualisieren, stoppen
und deinstallieren zur Laufzeit
Bundle = JAR-Datei mit Erweiterung im Manifest:
Julia Freund - Hochschule RheinMain 7
…Import-Package: de.foo;version=3.0Export-Package: de.bar;version=1.0.0
Manifest-Version: 1.0Bundle-ManifestVersion: 2Bundle-Name: Example BundleBundle-SymbolicName: de.example.bundle
Bundles veröffentlichen Services
publish – find – bind:
dynamisch
Spring Dynamic Modules
Service Registry
<<publish>> <<find>>Verwender
8Julia Freund - Hochschule RheinMain
Anbieter
Service registrieren/veröffentlichen
Service verwenden
Julia Freund - Hochschule RheinMain 9
Überwachung und Verwaltung von Anwendungen
Instrumentierung mit Hilfe von Managed Beans = MBeans
Standard MBeans:
Julia Freund - Hochschule RheinMain 10
MBean-Interface: MBean-Implementierung:
[…]
Apache Felix Projekt zum Remote-Management von OSGi-basierten Anwendungen
basiert auf JMX und stellt JMX-Agent bereit
MBeans werden als Services veröffentlicht:
Julia Freund - Hochschule RheinMain 11
Ablauf der MBean-Registrierung:
Julia Freund - Hochschule RheinMain 12
Service Registry
<<publish>> <<find>>ServiceAnbieter
MOSGi(MBean Server)
Ziele und Anforderungen
Grundlagen
Konzept
Variante 1
Variante 2
Fazit
Julia Freund - Hochschule RheinMain 13
Bundles stellen JMX-MBean bereit und registrieren das MBean-Interface als OSGi-Service
MOSGi sorgt für Registrierung als MBean
Prototypische OSGi-Anwendung:
Taschenrechner mit änderbarer Rechnerart
Rechenvorgang „von außen“ startbar
Management-Anwendung:
zeigt wie Bundle überwacht und re-konfiguriert werden können
Julia Freund - Hochschule RheinMain 14
Modi-Wechsel:
zwei Lösungsansätze:▪ Management- und Beispiel-Anwendung in 2 Varianten
Variante 1:▪ basiert auf Methodenaufrufen, um Modi-Wechsel zu
veranlassen
Variante 2:▪ verwendet JMX- Notifications zum Modi-Wechsel
Julia Freund - Hochschule RheinMain 15
Bundles remote starten/stoppen separates Bundle bietet MBean mit Start/Stopp-
Methoden an:
starten/stoppen mit Hilfe des OSGi-BundleContextoder des -PackageAdmin Service
Julia Freund - Hochschule RheinMain 16
2 Felix Instanzen:
Julia Freund - Hochschule RheinMain 17
MOSGi(MBean Server)
Local FelixRemote Felix
Remote Management
BundleStarter
Management-BundleV[1|2]
Manageable-CalcV[1|2]
Ziele und Anforderungen
Grundlagen
Konzept
Variante 1
Variante 2
Fazit
Julia Freund - Hochschule RheinMain 18
Bundle ModeMBean:
Julia Freund - Hochschule RheinMain 19
Manageable-CalcV1
MOSGi
(MBean Server)
Management-BundleV1
Local FelixRemote Felix
Remote Management
ModeMBeanModeMBean
Implementierung des MBean-Interface:
Unterstützung von Modi-Wechseln durch: implementiert Methode changeMode() von ModeMBean
Re-Konfiguration: Änderung des calculationType
Überwachung: Versand von AttributeChangeNotifications
Julia Freund - Hochschule RheinMain 20
Überwachung:
empfängt AttributeChangeNotifications
Modi-Wechsel:
vorher: abfragen aller MBeans beim MBean-Server der Local-Felix-Instanz und Speicherung in Liste
ruft changeMode()bei allen ModeMBeans in der Liste auf
RegistrationListener für neu registrierte/entfernte MBeans
Julia Freund - Hochschule RheinMain 21
Demo der 1.Variante
Julia Freund - Hochschule RheinMain 22
Ziele und Anforderungen
Grundlagen
Konzept
Variante 1
Variante 2
Fazit
Julia Freund - Hochschule RheinMain 23
Bundle ModeNotification:
Julia Freund - Hochschule RheinMain 24
MOSGi
(MBean Server)
Local FelixRemote Felix
Remote Management
ModeNotification ModeNotification
Management-BundleV2
MOSGi
(MBean Server)
Manageable-CalcV2
Implementierung des MBean-Interface:
Unterstützung von Modi-Wechseln durch: Implementierung des JMX NotificationListener-
Interface Überwachung: Versand von AttributeChangeNotifications
Julia Freund - Hochschule RheinMain 25
Implementierung des MBean-Interface:
Überwachung:
empfängt AttributeChangeNotifications
Modi-Wechsel:
Versand von ModeChangeNotifications
Julia Freund - Hochschule RheinMain 26
Demo der 2. Variante und des BundleStarter
Julia Freund - Hochschule RheinMain 27
Ziele und Anforderungen
Grundlagen
Konzept
Variante 1
Variante 2
Fazit
Julia Freund - Hochschule RheinMain 28
Modi-Wechsel: Variante 1
▪ Modi-Wechsel durch Methodenaufruf, dadurch Rückmeldung ob Wechsel erfolgt ist
▪ Filterung der MBeans von Seiten der Management-Anwendung
Variante 2▪ Lose Kopplung durch Einsatz von Notifications
▪ Filterung auf Seite der re-konfigurierbaren Bundles
MOSGi auf JMX basierendes aber trotzdem „OSGi-spezifisches“ Management-Framework
Julia Freund - Hochschule RheinMain 29
Julia Freund - Hochschule RheinMain 30