KDP/Lab 2 nadoknada 2022
< КДП
Pređi na navigaciju
Pređi na pretragu
- Ovaj rok nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.
Nadoknada druge laboratorijske vežbe održana je 27. maja.
Postavka
Potrebno je rešiti problem vožnje toboganom (The Rollercoaster Problem) u distribuiranom okruženju. Posetioci i park predstavljaju klijentske programe koji koristeći centralni server komuniciraju i pristupaju datotekama na serveru.
- Radi pristupanja tekstualnim datotekama koje zahtevaju posetioci i park treba implementirati interfejs
Photokoji ima metode za dohvatanje i postavljanje imena datoteke, kao i za postavljanje i dohvatanje sadržaja same fotografije. Interfejs je dat u prilogu. - Klasa parka (
Park), čiji je kod dat u prilogu, imamainmetodu i koja se povezuje sa serverom radi upravljanja toboganom. Serverski port preko koga se komunicira i IP adresa servera se unose kao argumenti komandne linije. Ostali argumenti su broj tobogana kojim se upravlja i broj putnika koje tobogan može da primi. Komunikacija sa serverom se obavlja koristeći udaljene pozive procedura u programskom jeziku Java (java.rmipaket). - Klasa posetioca (
Visitor), čiji je kod dat u prilogu, imamainmetodu i koja se povezuje sa serverom radi pristupanja toboganu i dohvatanju slika sa vožnje. Serverski port preko koga se komunicira i IP adresa servera se unose kao argumenti komandne linije. Ostali argumenti su broj tobogana kojim se vozi koje je potrebno proslediti na server. Komunikacija sa serverom se obavlja koristeći mrežno programiranje u programskom jeziku Java (java.netpaket). Koristiti objektne tokove podataka. Na serveru treba da postoji veći broj niti - za svaku konekciju po jedna. Klijenti i server treba sve vreme da drže otvorenu priključnicu kroz koju komuniciraju. Ukoliko na klijentskoj ili serverskoj strani dođe do prekida veze ta nit se prekida i njeni resursi se oslobađaju. - Posetioci i park mogu da pristupaju različitim toboganima, tako da može da se desi da dva parka u isto vreme upravljaju različitim toboganima, ili da park upravlja a da posetioci pristupaju različitim toboganima.
- Na serveru se čuvaju podaci o većem broju knjiga.
- Sinhronizacija između niti na serveru se obavlja koristeći monitorsku klasu
RollercoasterMonitor. - Potrebno je implementirati interfejse
PhotoiRollercoasterRMI. Interfejsi koji su dati u prilogu moraju se koristiti kao takvi, bez izmena. - Date
mainmetode u klasama parka i posetioca takođe nije dozvoljeno menjati, uz izuzetak zamenenullstvaranjem konkretnog objekta na označenim mestima.