int8 lab 1 Ett exempel på ett distribuerat system med Java och Jini Fredrik Kilander DSV SU/KTH
innehåll Kort genomgång av Java och Jini Beskrivning av ChatServer och ChatClient Uppgifter Genomförande Examination
Java och Jini (1.1) System av tjänster (services) och klienter Jini hjälper klienter att finna och kommunicera med tjänster Tjänsten söks mha dess egenskaper Klienten behöver inte veta tjänstens adress Fungerar bara i LAN (multicast domain)
Java och Jini (1.1) forts. Lookup Server ServiceClient
Java och Jini (1.1) forts. Lookup Servers (katalogtjänst) Tjänsten registrerar sitt service-objekt hos LUS med sin egenskapsbeskrivning: Javaklass Attributlista ServiceID
Java och Jini (1.1) forts. Lookup Servers (katalogtjänst) Klienten frågar LUS om tjänster som matchar: Javaklass Attributlista ServiceID
Java och Jini (1.1) forts. Lookup Servers (katalogtjänst) LUS ger klienten de matchande tjänsternas service-objekt Klienten anropar metoder i service-objektet Java RMI förmedlar metodanropet till tjänsten
Java och Jini (1.1) forts. Lookup Server ServiceClient Tjänsten registrerar sitt service- objekt 1
Java och Jini (1.1) forts. Lookup Server ServiceClient Klienten efterfrågar en matchande tjänst och får serviceobjekt i retur. 2
Java och Jini (1.1) forts. Lookup Server ServiceClient 3 Klienten använder tjänsten genom att anropa metoder i serviceobjektet.
Java och Jini (1.1) forts. Lookup Server ServiceClient Tjänsten registrerar sitt service- objekt 1 Klienten efterfrågar en matchande tjänst och får serviceobjekt i retur. 2 3 Klienten använder tjänsten genom att anropa metoder i serviceobjektet.
Java och Jini (1.1) forts. Lookup Service är också en tjänst LUS hittas med multicast Det kan finnas mer än en LUS JoinManager är en klass som hjälper tjänsten att registrera sig Om tjänsten inte har serviceID så får den ett nytt vid första registreringen
Java och Jini (1.1) forts. Lookup Service är också en tjänst LUS hittas med multicast Det kan finnas mer än en LUS ServiceDiscoveryManager och LookupCache hjälper klienten att hitta matchande tjänster
ChatServer och ChatClient ChatService ChatClient Registrera say(...) notify(...)
ChatServer och ChatClient HTTP server JVM JarRunner Chat... JarRunner.jar ChatServer.jar ChatClient.jar Starta med JarRunner
ChatServer och ChatClient HTTP server JVM ChatServer ChatServer.jar ChatServer-dl.jar ChatClient.jar ChatClient-dl.jar reggie-dl.jar jini-core.jar jini-ext.jar -Djava.rmi.server.codebase= JVM ChatClient -Djava.rmi.server.codebase= ChatServer hämtar klientens klasser ChatClient hämtar serverns klasser Egenskapen codebase i JVM
Uppgifter Hämta Verifiera kompilering (Java SDK 1.3+) Ordna uppladdning på webserver (codebase) Verifiera körning
Uppgifter Läs Uppgifter.txt (i lab1.ZIP) Utför en eller två standarduppgifter för att bli bekant med koden. Välj en labb-uppgift
Genomförande Arbeta gruppvis Producera en fungerande prototyp för vald labb-uppgift Dokumentera skriftligt problem, lösningsdesign och ev. lösningsalternativ
Examination Gruppvis i seminarieform Muntlig redogörelse av valt problem och lösningsdesign Kort demonstration av prototyp Lämna in labrapport Alla medlemmar i gruppen skall vara beredda på frågor