Transcript Document
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