Zdalne wywołanie procedury
Zdalne wywołanie procedury (ang. remote procedure call, RPC) – protokół zdalnego wywoływania procedur, stworzony przez firmę Sun i dość popularny w systemach z rodziny Unix, obsługiwany w bibliotekach języka Java. Współcześnie wypierany przez bardziej rozbudowane protokoły takie jak CORBA, XML-RPC, czy JSON-RPC. RPC zdefiniowany jest w RFC 1057[1] i używa do kodowania danych formatu XDR (eXternal Data Representation) zdefiniowanego w RFC 1832[2].
Protokoły tego typu (jak RPC, CORBA, DCOM czy XML-RPC) mają na celu ułatwienie komunikacji pomiędzy komputerami. Na typowy scenariusz użytkowania takiego protokołu składają się:
- Serwer (czyli program oferujący usługi, np. drukowania) przez cały czas nasłuchuje na wybranym porcie, czy ktoś się z nim nie łączy.
- Klient (czyli program, który potrzebuje jakiejś usługi od serwera na innym komputerze) nawiązuje z nim łączność poprzez sieć komputerową.
- Klient wysyła swoje dane we wcześniej ustalonym przez programistów klienta i serwera formacie.
- Serwer realizuje usługę i odsyła potwierdzenie lub kod błędu.
Wymienione protokoły same zapewniają cały powyższy mechanizm działania, ukrywając go przed klientem. Może on nawet „nie wiedzieć”, że łączy się z innym komputerem – z punktu widzenia programisty zdalne wywołanie procedury serwera wygląda jak wywołanie dowolnej innej procedury z programu klienta.
Przypisy
- ↑ Sun Microsystems, RPC: Remote Procedure Call Protocol specification: Version 2, RFC 1057, IETF, czerwiec 1988, DOI: 10.17487/RFC1057, ISSN 2070-1721, OCLC 943595667 (ang.).
- ↑ R. Srinivasan , XDR: External Data Representation Standard, RFC 1832, IETF, sierpień 1995, DOI: 10.17487/RFC1832, ISSN 2070-1721, OCLC 943595667 (ang.).