RPC
Staat voor "Remote Procedure Call."
Een RPC is een bericht dat een computer opdracht geeft om namens een andere computer code uit te voeren via een netwerk. Hiermee kan een programma dat lokaal op een computer wordt uitgevoerd, een procedure (een codeblok dat een specifieke taak uitvoert) overlaten aan een ander programma op een server, die het resultaat terugstuurt. Het programma dat de RPC heeft verzonden, behandelt het resultaat van de externe procedure vervolgens hetzelfde als het resultaat van een procedure die lokaal is uitgevoerd.
RPC's maken gebruik van een client-servermodel, waarbij meerdere clientcomputers verbinding kunnen maken met een server om instructies te verzenden en gegevens te ontvangen. Wanneer een programma een RPC verzendt, bevat deze een reeks parameters die de server aangeven welke procedure moet worden uitgevoerd en hoe deze moet worden uitgevoerd. Een clientcomputer die bijvoorbeeld een RPC-bericht naar een DNS-server verzendt, bevat daarin de domeinnaam die moet worden opgezocht als parameter; een ander bericht dat een afdruktaak naar een netwerkprinter verzendt, bevat afdrukinstellingen zoals papierformaat en afdrukstand als parameters.
Er bestaat geen afzonderlijk RPC-protocol. In plaats daarvan is RPC het concept dat veel protocollen gebruiken om het op afstand uitvoeren van code mogelijk te maken. Enkele veelgebruikte RPC-protocollen zijn XML-RPC waarbij een RPC wordt opgemaakt met (XML-opmaak) en JSON-RPC waarbij een RPC wordt opgemaakt met (JSON). Alle RPC-protocollen verzenden berichten echter op een vergelijkbare manier. Een clientprogramma doet eerst een procedureaanroep naar een stuk client-side code, een stub genoemd, die als proxy voor die procedure fungeert. De stub communiceert met de server om aan te geven welke procedure moet worden uitgevoerd en welke parameters moeten worden gebruikt. De server voert de procedure uit en stuurt het resultaat terug naar de stub, waarna deze het resultaat terugstuurt naar het programma dat de RPC heeft verzonden.
Test je kennis