pps - Universität Paderborn

Werbung
Monitoring von Geräten und Diensten
Projektgruppe Location-based Services for Wireless Devices
WS 2004/05
Tobias Beisel
AG Kao
Betriebssysteme und Verteilte Systeme
Institut für Informatik
Universität Paderborn
Motivation
• Aktienhandel
 an verschiedenen Börsenplätzen gehandelt
 Entkoppelte Szenarien: Notationen sind unabhängig von
individuellen Handelsentscheidungen
 Notationen werden an alle registrierten Käufer übermittelt
• Anmelden bei verschiedenen Aktien
 Festlegung von
 Häufigkeit der Benachrichtigung
 Datenfilterung (z.B. zeitlich)
…
•  Beobachtung der Veränderungen
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
2
Agenda
• Grundlagen Monitoring
 Event Notification
 Event Channel
 Push-/ Pull-Technologie
• Eventing Middleware
 DCOM / .NET Remoting
 CORBA
 JINI
• Projektbezogene Auswertung
 Vor-/Nachteile der Optionen
 Empfehlung
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
3
Client-Server Kommunikation
• Verschiedene Hardware/Software, Programmiersprachen,
Betriebssysteme
  erfordert Middleware
• Synchrone/ Asynchrone Kommunikation
 Synchron: Chat, Videokonferenz, Whiteboards  direkt
 Asynchron: E-Mail, Foren  permanent, zeitunabhängig
• Monitoring  Beobachtung, Überwachung, Kontrolle
 Ermöglicht Reaktion auf Ereignis
 Feststellung von Veränderungen
 Fehlervorbeugung bzw. schnelle Behebung
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
4
Event-Notification
Event Notification
Verbraucher
Event
Anbieter
 Event: „etwas passiert“, atomares Ereignis tritt auf, change of state
 ein Börsenkurs über-/ unterschreitet einen Schwellenwert
 ein neuer Dienst liegt vor
 Event Notification: Information über ein Ereignis (Nachricht 1:n)
 Verbraucher fordert nicht explizit Daten an
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
5
Event-Channel (1)
Notification
EventChannel
Notification
Verbraucher
Event
Anbieter
 nutze Event- Channel als Mittelsmann
 typed vs. untyped Event-Channel
 synchronous vs. unsynchronous Events
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
6
Push-Technologie
Verbraucher 1
Anbieter 1
…
EventChannel
Verbraucher m
Anbieter n
28.10.2003
…
PG LBS: Monitoring von Geräten und Diensten
8
Push-/ Pull-Technologie
Verbraucher 1
Anbieter 1
…
Anbieter n
28.10.2003
EventChannel
…
Verbraucher m
Event-Richtung
PG LBS: Monitoring von Geräten und Diensten
9
Channel-Interfaces
• Proxy Interface
 Definiert Channel als Verbraucher-Proxy für den Anbieter
 Definiert Channel als Anbieter-Proxy für den Verbraucher
• Register/ Subscribe Interface
 Dienst-Abonnement
 Subscriber sendet eine Referenz auf sein eingenes handlerinterface
 Eintrag in der Subscriber-Liste
 Callback- Funktion bei Event im Event-Channel
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
10
Eventing – System
Clients
Client 1
Client 2
Client n
BL
BL
BL
PS
DB- &
NotificationServer
PC
EC
PS
EC
EC
PS
PC
PC
EC
(R) DBMS
PC
PS
PS
PS
NS
Notification Server
BL - Business Logic
PS - Push Supplier
PC - Push Consumer
EC - Event Channel
NS - Notification Server
Async Communication
Sync Communication
Database Access
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
11
Eventing-Middleware
• DCOM (Distributed Component Object Model) / .NET Remoting
• CORBA (Common Object Request Broker Architecture)
• JINI (Java Intelligent Network Infrastructure)
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
12
DCOM
• DCOM (distributed component object model)
 Unterstützung von Remote-Zugriffen auf Objekte über ORPC
 Unterstützung dynamischer Objektaufrufe
 Modell der entfernten Objekte
• ORPC (Object Remote Procedure Call) - Layer
 auf DCE‘s (Distributed Computing Environment) RPC
aufgesetzt
 Interagiert mit COM‘s runtime service
• Implementierung der Schnittstellen
 Binäre Interfaces
 MIDL compiler  Generierung von Client-/ Server-stubs
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
13
Eventing in
DCOM / .NET Remoting
• Anfangs: Synchrone Aufrufe
 Höchstens-Einmal-Semantik
 Events durch verbindungsfähige Objekte realisiert
 Ermöglichte verbinden mehrerer Clients  „Rückruf“
 Client und Objekt müssen aktiv sein
• Jetzt: asynchrone Events
 durch Methodenaufruf modelliert
 Event hat Ereignisklasse (Standardimplementierung)
 Ereignisse werden gespeichert, falls Client inaktiv
• DCOM Server Objekt
 unterstützt mehrere Interfaces
 Menge von Attributen und Methoden
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
14
DCOM Architektur
Client-Maschine
Objekt-Server
Client-Applikation
SCM
ProxyMarshaller
ClientProxy
KlassenObjekt
ProxyMarshaller
COM
Registry
Objekt
ObjectStub
SCM
COM
Lokales
Betriebssystem
Lokales
Betriebssystem
Registry
Microsoft-RPC
Netzwerk
• Monitoring in DCOM
 Abonnement Zeiger auf ein Objekt-Interface setzen
 Ereignis entspricht Methode, die auch der Client implementiert
 Ereignissystem sorgt für Aufruf der Eventmethode auf Clientseite
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
15
CORBA
Applikationsobjekte
Vertikale
Facilities
Horizontale
Facilities
Allgemeine
Objektdienste
Object Request Broker, GIOP
Services
• Definition eines verteilten Systems
 Spezifikation der OMG (www.omg.org)
 Ziel der besseren Interoperabilität vernetzter Applikationen
 Framework für verteilte objektorientierte Anwendungen
 Basiert auf Remote Procedure Calls (RPC)
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
17
Architektur CORBA
Interface
Repository
IDL
Compiler
Implementation
Repository
operation(in args)
Client
Objekt-Server
Objekt
Ref
IDL
Stubs
result(out args)
DSI
DII
IDL
Skeleton
Objektadapter
ORB
GIOP
ORB
 Statischer vs. Dynamischer Aufruf
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
19
Eventing in CORBA
• Service anfordern
 erhalten einer server-object reference
 Methodenaufrufe an die object-reference
• Event-Service
 Event- orientierte Kommunikation als alternative zur callbasierten Client- Server Architektur
 Pull/Push – Modell
 Callback–Modell  entkoppelte Kommunikation
 Verbesserungspotenzial:
 Skalierbarkeit, Performance, Quality of Service, Flexibilität
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
20
Eventing in CORBA
• Verbesserung: CORBA Notification Service
 Definiert verschiedene Level an „Quality of Service“-Parametern
 Channel-, Proxy- oder Single-Event
 Sender wissen welche Event-Typen der Verbraucher erwartet
 Neue Events können vom Verbraucher erkannt werden
 bessere Filtermöglichkeiten
 Filter werden den Proxies zugeordnet
 Strukturierte Data-Fields
 Konfiguration der Eigenschaften eines Kanals, Events, Proxy
 Zuverlässifkeit, Priorität, Verwurfsstrategie
 Ereignistyp-Repository
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
21
JINI
• Java Intelligent Network Infrastructure
 eine Menge von Java-Klassen und –Programmen
 Dienstevermittlungssoftware (dienst-orientierte Software)
 eine robuste, verteilte Systemarchitektur
 ein dynamischer Verbund von Clients und Dienst-Servern
 Middleware Framework für verteilte Systeme
• Architektur  Florians Vortrag
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
22
Eventing in JINI (1)
• JavaBeans
 Empfänger übergibt Listener an den Ereignisgenerator
 Methodenaufruf auf dem gespeicherten Listener
 Lieferung des Events
• JINI Distributed Events
 Erweitert JavaBeans Modell
 Events zwischen JVMs übergeben
 Listener Registrierung bei Objekt in anderer JVM
 RMI als Verteilungsmechanismus erweitert java.util.Event
 Lookup-Service agiert als Vermittler  ortet Dienste
 Lease-Rückgabe durch den Client
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
23
Eventing in JINI (2)
• Wie funktioniert das?
 Das registrierte Objekt des Services wird auf Client kopiert
 RemoteEvent
 Oberklasse für Remote-Events in JINI
 Event-ID, Sequenznummer, Quelle & Handback-Objekt
 RemoteEventListener
 Remote-Interface zur Übergabe von Events in VMs
 Methode notify(RemoteEvent e)
 Vergleichbar mir ActionListener-Klasse
 EventRegistration
 Kapselt Informationen für den Client
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
24
Was brauchen wir?
• Middleware als Kommunikationsgrundlage:
 Push:
 Neue Dienste publizieren
 Wissenswertes zu den Diensten bekannt machen
 Positionsabhängige Benachrichtigung
 Beispiele:
 Erinnerung an den Bus
 Erinnerung und Weg zur Sprechstunde in Raum Fx.xxx
 Auf neuen Drucker aufmerksam machen
 …
 Pull:
 Anfragen an unsere und andere Dienste
 Bsp.: Wo ist der nächste Drucker
 …
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
25
Vor- / Nachteile DCOM
• Vorteile
 Spezifikation auf binärem Level  freie Programmiersprachenwahl
 Plattformunabhängig wenn COM-services unterstützt werden
 EntireX von Software AG (Unix, Linux und Mainframe Plattformen)
 Microsoft (Windows und Solaris)
 Sehr weit verbreitet  hat sich bestätigt
• Nachteile
 binäre Abbildung  IDL komplizierter als in CORBA
 Allgemein sehr komplexes, kompliziertes System
 Gleiche Dinge werden auf verschiedene Weise erledigt
 Koexistenz verschiedener Lösungen ist teilweise unmöglich
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
26
Vor/ Nachteile CORBA
• Vorteile




sprachunabhängig für Objektorientierte Sprachen (IDL)
Plattformunabhängige Bereitstellung von Standardfunktionen
flexibel und erweiterbar
sehr verbreitet
• Nachteile





großer Gestaltungsspielraum
benötigt IDL zur Interface Definition
Fokus auf verteilte Objekte nicht Dienste
vermittelt Methodenaufruf, nur wenn Server erreichbar
Übergabe von „remote references“ anstatt komplette Objekte
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
27
Vor- / Nachteile JINI
• Vorteile






weniger Komplex als Corba und DCOM
subscription- und lease-Konzept
sehr einfach gehaltene Schnittstellendefinitionen in Java
Fokus auf verteilte Dienste nicht auf Objekte
Ausweichmöglichkeiten und Information bei Dienstausfall
Bildung spontaner Netze
• Nachteile




28.10.2003
sehr auf Java spezifiziert
Noch nicht sehr verbreitet
bei jeder Nutzung muss Dienst-Proxy übertragen werden
kein eigenes Sicherheitskonzept
PG LBS: Monitoring von Geräten und Diensten
28
Empfehlung
• Monitoring und Eventing in allen Systemen ansprechend
 „+“ JINI: Lease-Konzept, keine eigene Schnittstellensprache
 „-“ DCOM: Dienste müssen lokal implementiert sein
 „-“ DCOM: sehr komplex
• JINI oder CORBA?
 Beides wäre gute Wahl
 „+“ JINI: Fokus auf verteilte Dienste
 „?“ JINI: Java basiert und einfach zu handhaben
 „+“ CORBA: sehr verbreitet und flexibel
• Empfehlung: CORBA scheint fundamentierter
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
29
Fragen?
?
?
?
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
?
30
Vielen Dank für die Aufmerksamkeit!
28.10.2003
PG LBS: Monitoring von Geräten und Diensten
31
Herunterladen