Programy zaliczeniowe ”Programowanie współbieżne i rozproszone

Transkrypt

Programy zaliczeniowe ”Programowanie współbieżne i rozproszone
Programy zaliczeniowe ”Programowanie współbieżne i
rozproszone”, III rok informatyki dziennej, 2008/09
Zaimplementuj program rozproszonym w języku Java. Do implementacji możesz wykorzystać:
1. mechanizm zdalnego wywyłania obiektu RMI
albo
2. Architekturę CORBA i język opisu interfejsów IDL
albo
3. Protokołu SOAP, język WSDL do opisu Web Services
Specyfikacja zadania:
1. Forum. Uczestnicy forum piszą posty do forum, posty magą być widoczne dla pozostałych uczestników forum, ale uczestnicy muszą je samodzielnie sciągnąć. Post to wiadomość tekstowa.
Serwer może udostępniać opcje: dodanie nowego użytkownika, usunięcie
użytkownika, zmiana hasła, usunięcie postu.
Klient powinien umożliwić: logowanie, wyświetlenie wszystkich postów,
wyszukanie postów, utworzenie i wysłanie nowego postu.
2. Serwer mailowy. Użytkownicy piszą listy i przesyłają je do serwera,
a serwer przesyła je dalej do odpowiedniego adresata.
3. Tablica ogłoszeń. Użytkownicy przesyłają ogłoszenie do serwera a
serwer je wyświetla.
4. Komunikator. Minimum dwóch użytkowników może się ze sobą komunikawać.
5. Rozproszona statystyka Mając dany ciąg liczbowy określony wzorem
(
1
dla n = 1
an =
(n−1) Pn
(−1)
k=1 7 ∗ exp(k) dla n > 1
od użytkownika pobierz N określające liczbę elementów ciągu. Dzieląc
pracę między P klientów oblicz max, min, sumę wszystkich wyrazów,
wyniki wyświetl.
6. Serwer plików Aplikacja umożliwiająca wymianę plików, administrator tworzy użytkowników, może umieszczać i kasować pliki, użytkownicy(klienci) mogą wysyłać oraz pobierać pliki
7. Klient jabbera - Komunikator. Zadaniem jest wymyślenie prostego
protokół, który umożliwi logowanie się na serwerze i rozmowę z jedną
osobą.
8. Organizator dla wielu Kalendarz umożliwiający kilku osobom umawianie się na wspólne wykonywanie zadań i sprawdzanie czy nie ma
kolizji. Administrator tworzy użytkowników. Użytkownicy mogą wpisywać terminy od poniedziałku do piątku, od 8 do 18 co godzinę, ale
tylko wtedy kiedy są wolne miejsca.
9. Aukcje internetowe Administrator tworzy aukcję i użytkowników.
Kilku użytkowników licytują, aż się skończy czas. Serwer wyświetla informacje o aukcji (na stronie lub w konsoli): opis przedmiotu, aktualna
cena, lista licytujących. Jeśli ktoś chce licytować to podaje swoją maksymalną cenę, a system umieszcza go w odpowiednim miejscu na liście.
10. Wydziałowy system zapisów akademickich Na jeden przedmiot
do wyboru można się zapisywać w odpowiednich godzinach. Administrator ustala godziny i użytkowników. Klienci łączą się z serwerem,
a serwer wyświetla komunikat (może być na stronie, ale może być w
konsoli tekstowo), że zapisy są od godziny x do y i np. pole do wpisania imienia i nazwiska. Oni się wpisują i wysyłają. Wtedy się pojawia
komunikat, że jest jeszcze przed zapisami, albo już po, albo udało się
zapisać, albo zabrakło miejsc. W wersji prostszej tylko jeden przedmiot (ustalany przez admina), w wersji trudniejszej kilka przedmiotów
do wyboru.
11. System typu wiki Administrator tworzy szkielet strony i użytkowników. Użytkownicy mogą modyfikować stronę.
12. Ranking zdjęć Administrator tworzy stronę ze zdjęciem, można do
niej dodawać komentarze, można oceniać, wylicza średnią ocenę, pokazuje ile razy była wyświetlona.
13. System bankowy Administrator tworzy użytkowników, ich konta i
daje na początek ileś pieniędzy, tworzy listę haseł potrzebnych przy
przelewach (dla każdego użytkownika). Można robić przelewy na konta
innych użytkowników, przy przelewie trzeba podać odpowiednie hasło
z listy.
14. System przeprowadzania testów Użytkownik łączy się z serwerem.
Odbiera ilość pytań i w pętli kolejne pytania. Do każdego pytania są
3 odpowiedzi. Wybiera odpowiedź i wysyła. Po pętli serwer wyświetla
wynik u klienta, ale także zapisuje sobie do pliku (wtedy np. klient może tylko jeden raz rozwiązać test albo jak chcemy to kilka ale wszystkie
wyniki są zachowywane). Serwer przechowuje testy np. w prostym pliku
tekstowym. Wystarczy jeden plik, który może podmieniać administrator.
15. Gra kółko i krzyżyk Serwer sobie działa i czeka, do niego może się
połączyć dwóch klientów i przeprowadzić rozgrywkę.
16. Gra w statki Serwer sobie działa i czeka, do niego może się połączyć
dwóch klientów i przeprowadzić rozgrywkę.
17. Oddawanie prac studenckich na serwer Aplikacja umożliwiająca
wysyłanie plików na serwer oraz pobieranie z serwera. Administrator
tworzy użytkowników przydzielająć im odpowednie katalogi.