Zadanie 2 ========= Zadanie polega na napisaniu systemu pocztowego przy uzyciu RMI. Klient pocztowy ma umozliwiac wyslanie wiadomosci i odebranie wiadomosci. Wiadomosci mozna odbierac z serwera pojedynczo i sekwencyjnie, po odebraniu wiadomosci jest ona usuwana z serwera. Nie ma potrzeby implementowania autoryzacji klientow ani przechowywania w kliencie odebranych wiadomosci. Interfejs uzytkownika klienta ma zapewniac mozliwosc odczytania pierwszej wiadomosci z kolejki serwera oraz wyslanie wiadomosci do uzytkownika znajdujacego sie na dowolnym serwerze. Klient ma wykorzystywac interfejs serwera MailServer. public interface MailServer{ boolean sendMessage(String message, String fromUser, String destServer, String destUser); String getMessage( String user ); } Serwer ma rowniez implementowac interfejs MailRouter, do wymiany informacji miedzy serwerami. public interface MailRouter{ void reciveMessage(String message, String fromUser, String toUser); } UWAGA ! W definicjach interfejsow brak jest deklaracji rzucanych wyjatkow (nalezy ja oczywiscie dodac). Zgodnosc interfejsow ma zapewnic mozliwosc komunikowania sie serwerow pochodzacych od roznych uzytkownikow. Rozwiazanie powinno zostac wyslane na adres prowadzacego w postaci pliku w formacie jar zawierajacego kod zrodlowy oraz skrypty compile, server i client pozwalajace na kompilacje i uruchomienie rozwiazania. W komentarzu w kazdym pliku zrodlowym powinno sie znalezc nazwisko oraz e-mail autora. Termin oddania zadania: Piatek 1.03 godz 24.00.