Remote Procedure Call (RPC - zdalne wywołanie procedury) to protokół zdalnego wywoływania procedur, stworzony przez firmę Sun i swego czasu dość popularny na Uniksach, obsługiwany w bibliotekach języka Java. Współcześnie wypierany przez bardziej rozbudowane protokoły takie jak CORBA czy XML-RPC.

RPC zdefiniowany jest w RFC 1057. RPC używa do kodowania danych formatu XDR (eXternal Data Representation) zdefiniowanego w RFC 1832.

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 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.

Powyższe protokoły same zapewniają cały powyższy mechanizm, 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.

edytuj Zobacz też