poniedziałek, 24 maja 2010

Laboratorium z Remote Method Invocation

Tematem ostatnich zajęć laboratoryjnych realizowanych w ramach przedmiotu "Programowanie współbieżne i rozproszone" był pakiet Remote Method Invocation, w skrócie RMI. Wykonane ćwiczenie miało na celu, jak czytamy w instrukcji, "zapoznanie z modelem tworzenia aplikacji rozproszonych (...)", a główny nacisk położono na "naukę abstrakcyjnego projektowania usług rozproszonych".

Czasu na wykonanie zadania było dość sporo, ale do pracy postanowiłem zabrać się na tydzień przed ostatecznym terminem oddania projektu. "Bankomat w RMI" - tak brzmiał temat ćwiczenia, który w moim odczuciu nie najlepiej oddawał charakter realizowanego zadania, aczkolwiek przyznam, że dobrze prezentował główne założenia projektu.

Pracę podzieliłem na trzy etapy:
- implementację zdalnego obiektu realizującego zadeklarowane
w interfejsie metody;
- przygotowanie aplikacji służącej do zakładania nowych kont oraz wyświetlania o nich przydatnych informacji;
- przygotowanie aplikacji klienckiej umożliwiającej zalogowanie się na konto w celu wykonania operacji wpłaty/wypłaty środków.

Moim celem podczas realizacji zadania nie było zapewnienie systemowi pełnej funkcjonalności, a jedynie zademonstrowanie umiejętności sprawnego wykorzystania RMI w praktyce.

Poniżej znajduje się opis poszczególnych części zrealizowanego projektu:

1. Program serwera

Jedyna kwestia na jaką chciałbym zwrócić uwagę w odniesieniu do zdalnego obiektu dotyczy udostępnianych metod. Program serwera zarządza kontami, stąd każda metoda powinna weryfikować uprawnienia użytkownika do wykonania danej czynności. Zarówno właściciel konta jak i osoba korzystająca z aplikacji umożliwiającej wgląd we wszystkie konta oraz tworzenie nowych, są poddawani uwierzytelnianiu oraz autoryzacji.

2. Aplikacja RMI-Konta

Poza tworzeniem nowych kont aplikacja umożliwia wyświetlenie przydatnych (zwłaszcza podczas prezentacji wykonanej pracy na laboratorium :) informacji w trzech stopniach szczegółowości :
- identyfikatory wraz z imieniem oraz nazwiskiem właściciela konta;
- identyfikatory wraz ze stanem konta;
- identyfikatory wraz z imieniem i nazwiskiem właściciela konta,
jego stan oraz lista wszystkich wykonanych operacji.



3. Aplikacja kliencka

Klient po zalogowaniu otrzymuje informację dotyczącą stanu swojego konta, dodatkowo zostaje poinformowany o maksymalnie pięciu ostatnio wykonanych operacjach na koncie. Po przyznaniu dostępu do konta, klient uzyskuje możliwość dokonania wpłaty lub wypłaty środków.



Jak się dowiedziałem podczas prezentacji projektu, aby otrzymać za wykonaną pracę zadowalającą mnie ocenę, powinienem zaimplementować dodatkową funkcjonalność, mianowicie umożliwić klientowi przelanie środków na inne konto. Biorąc pod uwagę fakt,
iż zadanie to nie stanowi jakiegokolwiek wyzwania, już dziś mogę cieszyć się zaliczeniem przedmiotu na ocenę bardzo dobrą :)

Brak komentarzy: