int 8 lab 1 Ett exempel p ett
int 8 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 Chat. Server och Chat. Client 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. Service Client Lookup Server
Java och Jini (1. 1) forts. • Lookup Servers (katalogtjänst) • Tjänsten registrerar sitt service-objekt hos LUS med sin egenskapsbeskrivning: • Javaklass • Attributlista • Service. ID
Java och Jini (1. 1) forts. • Lookup Servers (katalogtjänst) • Klienten frågar LUS om tjänster som matchar: • Javaklass • Attributlista • Service. ID
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. Service 1 Tjänsten registrerar sitt serviceobjekt Client Lookup Server
Java och Jini (1. 1) forts. Service Client Lookup Server 2 Klienten efterfrågar en matchande tjänst och får serviceobjekt i retur.
Java och Jini (1. 1) forts. 3 Service Klienten använder tjänsten genom att anropa metoder i serviceobjektet. Lookup Server Client
Java och Jini (1. 1) forts. 3 Service 1 Tjänsten registrerar sitt serviceobjekt Klienten använder tjänsten genom att anropa metoder i serviceobjektet. Lookup Server Client 2 Klienten efterfrågar en matchande tjänst och får serviceobjekt i retur.
Java och Jini (1. 1) forts. • • Lookup Service är också en tjänst LUS hittas med multicast Det kan finnas mer än en LUS Join. Manager är en klass som hjälper tjänsten att registrera sig • Om tjänsten inte har service. ID 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 Service. Discovery. Manager och Lookup. Cache hjälper klienten att hitta matchande tjänster
Chat. Server och Chat. Client notify(. . . ) Registrera say(. . . ) Chat. Service
Chat. Server och Chat. Client Starta med Jar. Runner JVM Jar. Runner Chat. Server. jar Jar. Runner. jar Chat. . . Chat. Client. jar HTTP server
Chat. Server och Chat. Client Egenskapen codebase i JVM Chat. Server hämtar klientens klasser Chat. Server -Djava. rmi. server. codebase=http: //www. dsv. su. se/. . JVM Chat. Client HTTP server Chat. Client hämtar serverns klasser -Djava. rmi. server. codebase=http: //www. dsv. su. se/. . Chat. Server. jar Chat. Server-dl. jar Chat. Client-dl. jar reggie-dl. jar jini-core. jar jini-ext. jar
Uppgifter • Hämta http: //www. dsv. su. se/~fk/int 8/lab 1. ZIP • Verifiera kompilering (Java SDK 1. 3+) • Ordna uppladdning på webserver (codebase) • Verifiera körning
Uppgifter • Läs Uppgifter. txt (i lab 1. 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
- Slides: 20