Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept...

30
Management verteilter Systeme und Anwendungen: Julia Freund Hochschule RheinMain 23.01.2010

Transcript of Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept...

Page 1: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Management verteilter Systeme und Anwendungen:

Julia FreundHochschule RheinMain23.01.2010

Page 2: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Ziele und Anforderungen

Grundlagen

Konzept

Variante 1

Variante 2

Fazit

Julia Freund - Hochschule RheinMain 2

Page 3: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Ziele und Anforderungen

Grundlagen

Konzept

Variante 1

Variante 2

Fazit

Julia Freund - Hochschule RheinMain 3

Page 4: Management verteilter Systeme und Anwendungen · 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

Page 5: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

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

Page 6: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Ziele und Anforderungen

Grundlagen

Konzept

Variante 1

Variante 2

Fazit

Julia Freund - Hochschule RheinMain 6

Page 7: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

…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

Page 8: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Bundles veröffentlichen Services

publish – find – bind:

dynamisch

Spring Dynamic Modules

Service Registry

<<publish>> <<find>>Verwender

8Julia Freund - Hochschule RheinMain

Anbieter

Page 9: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Service registrieren/veröffentlichen

Service verwenden

Julia Freund - Hochschule RheinMain 9

Page 10: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Überwachung und Verwaltung von Anwendungen

Instrumentierung mit Hilfe von Managed Beans = MBeans

Standard MBeans:

Julia Freund - Hochschule RheinMain 10

MBean-Interface: MBean-Implementierung:

[…]

Page 11: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

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

Page 12: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Ablauf der MBean-Registrierung:

Julia Freund - Hochschule RheinMain 12

Service Registry

<<publish>> <<find>>ServiceAnbieter

MOSGi(MBean Server)

Page 13: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Ziele und Anforderungen

Grundlagen

Konzept

Variante 1

Variante 2

Fazit

Julia Freund - Hochschule RheinMain 13

Page 14: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

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

Page 15: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

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

Page 16: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

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

Page 17: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

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]

Page 18: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Ziele und Anforderungen

Grundlagen

Konzept

Variante 1

Variante 2

Fazit

Julia Freund - Hochschule RheinMain 18

Page 19: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Bundle ModeMBean:

Julia Freund - Hochschule RheinMain 19

Manageable-CalcV1

MOSGi

(MBean Server)

Management-BundleV1

Local FelixRemote Felix

Remote Management

ModeMBeanModeMBean

Page 20: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

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

Page 21: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Ü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

Page 22: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Demo der 1.Variante

Julia Freund - Hochschule RheinMain 22

Page 23: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Ziele und Anforderungen

Grundlagen

Konzept

Variante 1

Variante 2

Fazit

Julia Freund - Hochschule RheinMain 23

Page 24: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Bundle ModeNotification:

Julia Freund - Hochschule RheinMain 24

MOSGi

(MBean Server)

Local FelixRemote Felix

Remote Management

ModeNotification ModeNotification

Management-BundleV2

MOSGi

(MBean Server)

Manageable-CalcV2

Page 25: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Implementierung des MBean-Interface:

Unterstützung von Modi-Wechseln durch: Implementierung des JMX NotificationListener-

Interface Überwachung: Versand von AttributeChangeNotifications

Julia Freund - Hochschule RheinMain 25

Page 26: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Implementierung des MBean-Interface:

Überwachung:

empfängt AttributeChangeNotifications

Modi-Wechsel:

Versand von ModeChangeNotifications

Julia Freund - Hochschule RheinMain 26

Page 27: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Demo der 2. Variante und des BundleStarter

Julia Freund - Hochschule RheinMain 27

Page 28: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Ziele und Anforderungen

Grundlagen

Konzept

Variante 1

Variante 2

Fazit

Julia Freund - Hochschule RheinMain 28

Page 29: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

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

Page 30: Management verteilter Systeme und Anwendungen · Ziele und Anforderungen Grundlagen Konzept Variante 1 Variante 2 Fazit Julia Freund - Hochschule RheinMain 3

Julia Freund - Hochschule RheinMain 30