Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Die Architektur von Jini Präsentation von Thomas Heinis & Michea Wankerl Seminar Information & Kommunikation WS 2000/01.

Ähnliche Präsentationen


Präsentation zum Thema: "Die Architektur von Jini Präsentation von Thomas Heinis & Michea Wankerl Seminar Information & Kommunikation WS 2000/01."—  Präsentation transkript:

1 Die Architektur von Jini Präsentation von Thomas Heinis & Michea Wankerl Seminar Information & Kommunikation WS 2000/01

2 Inhalt Ziele des Design Überblick der Komponente –Infrastruktur (Discovery/Join, LUS,...) –Programmiermodell (Leasing, Events,...) –Dienste (JavaSpaces,...) Beispiel –Photokamera / Drucker Stärken und Schwächen Thomas Heinis, Michea Wankerl

3 Ziele des Jini Designs Einfachheit Spontane Netzwerke ermöglichen Devices machen sich selbständig dem Netz bekannt Homogenität Keine zentrale Kontrolle (Föderation) Zuverlässigkeit Thomas Heinis, Michea Wankerl

4 Beispiel Thomas Heinis, Michea Wankerl JINI

5 Architektur: Unterteilung 1. Laufzeitinfrastruktur –Netzwerkdienste, die das spontane Zusammenfinden von Diensten Ermöglichen –Discovery / Join Protokoll und Lookup Service –Distributed Security –Basierend auf Java RMI, Java VM 2. Programmiermodell –Interfaces zur Erstellung von Services –Leasing, Transactions, Distributed Events Thomas Heinis, Michea Wankerl

6 Architektur: Unterteilung 3. Services (Dienste) –Einige nützliche, auf Jini basierende Dienste –JavaSpaces, Transaction Manager, Drucken Trennung ist nicht strikt –Jini Applikation muss nicht von allen gebrauch machen –Power von Jini wird mit Interaktion der drei Kategorien erreicht Thomas Heinis, Michea Wankerl

7 Lookup Service (LUS) Repository für Dienstanbieter –Service-Proxy, beschreibende Attribute Aufgaben: –Anlaufstelle für Dienste und Klienten Registrierung von Diensten Vermittlung von Diensten –Bietet Mechanismen, um Dienste und Klienten zusammenzuführen Jini Systeme gruppieren sich um einen oder mehrere Lookup Services Thomas Heinis, Michea Wankerl

8 Discovery Protokoll Ziel: Finden eines LUS ohne Kenntnis des Netzes, zwecks –Join: Registrieren des Dienstes –Lookup: Suchen eines vorhandenen Dienstes Drei Varianten des Protokolls: –Unicast Discovery Protokoll –Multicast Request Protokoll –Multicast Announcement Protokoll Dienst erhält Proxy-Objekt des LUS Thomas Heinis, Michea Wankerl

9 Beispiel: Discovery Thomas Heinis, Michea Wankerl LUS Multicast LUS Proxy Dienst

10 Join Protokoll Ziel: Anmelden eines Dienstes Dienst hat bereits Schnittstelle zum LUS –Kann darüber eigene Dienstleistungen anmelden –Teilt dem LUS dazu mit: Eigenen Dienst-Proxy Menge der genauer qualifizierenden Attribute –Erhält einen Lease für den Eintrag –Dienst kann dann im Jini-Verbund gefunden und verwendet werden. Thomas Heinis, Michea Wankerl

11 Proxy Lease Beispiel: Join Thomas Heinis, Michea Wankerl E1E2E3 E1E2E3 Lease Einträge im LUS

12 Lookup Protokoll Ziel: Suchen eines bestimmten Dienstes Formuliert dazu Anfrage an den LUS –Mittels einen Service-Template –Matching nach Register-Nummer, Typ oder Attributen LUS liefert Menge aller Treffer zurück Verwendung des Dienstes erfolgt über Methodenaufrufe im Dienst-Proxy Thomas Heinis, Michea Wankerl

13 Proxy Beispiel: Lookup Thomas Heinis, Michea Wankerl E1E2E3 E2 Template E1E2E3 E1E2E3... LUS E1E2E3 ?

14 Beispiel: Kommunikation Thomas Heinis, Michea Wankerl LUS Proxy Dienst-Proxy

15 Leases Leases sind ein Vertrag zwischen zwei Parteien Jede Referenz zu einer Ressource ist zeitlich begrenzt Ablauf: –Lease-Bewerber verlangt vom Lease-Anbieter für eine bestimmte Zeit einen Lease –Anbieter bestimmt ob und wie lange er einen Lease gewähren will –Anbieter schickt den Bewerber ein Lease Objekt –Bewerber kann Lease abbrechen, erneuern oder verfallen lassen Thomas Heinis, Michea Wankerl

16 Distributed Events EventListener registriert beim EventGenerator Interesse, über ein bestimmtes Event informiert zu werden Registration wird über ein Lease abgesichert EventGenerator schickt ein Objekt des Typs RemoteEvent an den EventListener RemoteEvent enthält Daten über: –Art des Events –Referenz zum EventGenerator –Fortlaufende Event Nummer Thomas Heinis, Michea Wankerl

17 Distributed Transactions Transaktionen bieten ACID Eigenschaften 2 Phasen Commit Ablauf: –Client least vom TransactionManager ein Transaction-Objekt –Bei jedem Transaktionsschritt wird das Transaction-Object an die anderen Transaktionsteilnehmer weitergegeben –Vor Arbeitsbeginn rufen die Teilnehmer join im Transaction-Object Am Transaktionsende wird ein abort oder commit aufgerufen –TransactionManager teilt den Teilnehmern ein roll back oder roll forward mit Thomas Heinis, Michea Wankerl

18 JavaSpaces Ermöglicht verteilte Persistenz von Objekten Stellt verteilten Komponenten für die Dauer eines Leases transaktionsgeschützten gemeinsamen Speicher zur Verfügung Einträge im JavaSpace können nach den Lease erlöschen Objekte werden in Entry Objekte verpackt und mit read(), write(), oder take() in, oder aus dem JavaSpace geschrieben Thomas Heinis, Michea Wankerl

19 Stärken und Schwächen Thomas Heinis, Michea Wankerl Vereinigung heterogener Netzwerke zu homogenen Elegante Architektur für spontane Netzwerke Es muß nur ein Treiber geschrieben werden Interessante Dienste Events, JavaSpaces, Transaktionen Sprachabhängigkeit Herstellerabhängigkeit unklares Sicherheitskonzept Nichtstandardisierte Services


Herunterladen ppt "Die Architektur von Jini Präsentation von Thomas Heinis & Michea Wankerl Seminar Information & Kommunikation WS 2000/01."

Ähnliche Präsentationen


Google-Anzeigen