DSRG | Interests | Projects | Publications | Laboratories | Local info | People 
Distributed Systems Research Group

Java RMI

Celem ćwiczenia jest wprowadzenie do mechanizmu Java RMI i omówienie podstawowych zagadnień z nim związanych. Kontynuacji tematyki Java RMI poświęcone będą następne zajęcia.
Studentów obowiązują podane poniżej wymagania.

Wymagania teoretyczne

  1. znajomość podstaw programowania w Języku Java (dziedziczenie, przeładowywanie i nadpisywanie metod, polimorfizm, interfejsy, wyjątki),
  2. podstawowa znajmość biblioteki Swing,
  3. znajomość mechanizmu Java RMI w zakresie:
    • przedstawionym na wykładzie,
    • następujących klas i interfejsów: Remote, Registry, LocateRegistry, UnicastRemoteObject, Hashmap, HashTable, Collection, Iterator, itp.

Wymagane umiejętności praktyczne

  1. praca w systemie Unix (Solaris),
  2. sprawne posługiwanie się dokumentacją do API JAVA,
  3. umiejętność kompilowania i uruchamiania programów w języku Java,

Materiały do ćwiczenia

  1. tutorial firmy SUN
  2. online Training by SUN
  3. ogólna prezentacja o RMI

Przebieg ćwiczenia

  1. Zadanie programistyczne I - dostęp do zdalnego obiektu
    • na podstawie specyfikacji stworzenie kodu: implementującego podany interfejs, serwera oraz modyfikacja klienta,
    • kompilacja i uruchomienie,
    • pokazanie właściwego rozwiązania, omówienie problemów,
    • wady przyjętego rozwiązania.
  2. Zadanie programistyczne II - dostęp do zdalnego obiektu, parametry będące referencjami zdalnymi; serializacja własnej klasy
    • na podstawie specyfikacji uzupełnienie kodu: obiektów implementujących dany interfejs, serwera, klienta,
    • kompilacja i uruchomienie,
    • omówienie problemów,
    • wady przyjętego rozwiązania,
    • zadanie "do domu".

Zadanie domowe

    Rozwinąć przykład "Note-Board" realizowany w czasie laboratorium.
    Usunąć omawiane wady prezentowanego rozwiązania:

    • brak synchronizacji w obiekcie serwera przy wielu klientach
    • blokowanie klienta przy wywoływaniu zdalnej operacji z wątku obsługującego akcje GUI
    • długi czas zdalnego wywołania operacji na serwerze związny z notyfikowaniem wszystkich klientów w tym wywołaniu

    Całość powinna być przygotowana z wykorzystaniem ant'a, źródła skomentowane dostępne ze strony www (java2html) oraz wygenerowana dokumentacja javaDoc.

Materiały z laboratorium...

...znajdują się tutaj.

| ćwiczenie poprzednie | powrót | ćwiczenie następne |