|

Zdalne wywołanie procedury (RPC)
Celem laboratorium jest teoretyczne i praktyczne zapoznanie ze standardem zdalnego wywołania procedury - Sun RPC. Mechanizm ten rozwiązuje część problemów komunikacyjnych (np. przekazywanie argumentów), z którymi programista boryka się używając do komunikacji pomiędzy systemami gniazd.
Ćwiczenia przeprowadzone będą w środowisku UNIX z implementacją standardu RPC firmy Sun. Laboratorium zakłada podstawową znajomość standardu RPC oraz implementacji Sun RPC.
Materiały do ćwiczenia:
Zadanie domowe:
Zadanie: 1
Należy napisać system powiadamiania (podobny do zadania 2 z gniazd) przy
użyciu mechanizmu SunRPC. Nadawcy zgłaszają do serwisu EventService wiadomości z
określonymi tematami i treścią. Zadaniem serwera jest powiadomienie wszystkich
zainteresowanych danym tematem odbiorców. Najwyżej punktowane rozwiązania
powinny realizować powiadamianie w sposób asynchroniczny. Można w tym celu rozważyć
wykorzystanie dodatkowych wątków czy procesów. Najlepiej jednak wykorzystać własności mechanizmu SunRPC
(www.e-technik.fh-kiel.de/~felten/van/rpc.txt).
Realizacja zadania powinna obejmować:
* określenie struktury wiadomości oraz opracowanie odpowiednich interfejsów w języku RPCGEN,
* implementacje nadawcy, serwisu EventService oraz odbiorcy wiadomości,
* udokumentowanie kodu źródłowego.
Zagadnienia do kolokwium:
- Idea i cele mechanizmu RPC
- Wywołanie zdalne i lokalne procedury – porównanie, problemy
- Przekazywanie parametrów, marshalling/unmashalling
- Stub klienta i serwera – cele i funkcjonowanie
- Kroki realizacji zdalnego wywołania procedury
- Problematyka awarii, semantyki awarii
- Standard RPC rfc1831 – znajomość ogólna
- Standard XDR rfc1832 – znajomość ogólna
- Typy danych zdefiniowane w XDR i ich mapowanie na typy języka C
- Podstawowe funkcje pakietu SUN-RPC (clnt_create, clnt_control, clnt_destroy)
- Podstawowe programy pakietu SUN-RPC (rpcbind, rpcinfo, rpcgen) – przeznaczenie, działanie (ogólnie)
- Identyfikowanie, rejestrowanie i wyszukiwanie procedur, Port Mapper
- Definiowanie struktur danych oraz programów w XDR
| ćwiczenie poprzednie | powrót | ćwiczenie następne |
|