Remote procedure call
Remote procedure call (RPC, vzdálené volání procedur) je v informatice technologie dovolující programu vykonat kód na jiném místě, než je umístěn volající program. Příkladem budiž provedení složitějšího matematického výpočtu výkonnějším počítačem, dostupným skrze síť.
Postup
editovat- Proběhne zabalení identifikátoru procedury a vstupních parametrů do formy vhodné pro přenos. (Jedná se o tzv marshalling.)
- Balíček se odešle.
- Entita určená k vykonání procedury balíček rozbalí a seznámí se s jeho obsahem. (Jde o tzv. unmarshalling.)
- Dojde k provedení procedury.
- Proběhne další zabalení, tentokrát výstupu procedury.
- Data se odešlou zpět volající entitě.
- Dojde k rozbalení.
- Proběhne předání nadřazenému podprogramu.
Výhody
editovat- Odlehčení vlastní aplikace o danou (v principu velmi komplikovanou) proceduru.
- Abstrahovaní od implementace procedury (volající entitu zajímá jen výsledek, zbytek je tzv. černá skříňka).
- Možnost „půjčit si“ výpočetní výkon jiného stroje.
Nevýhody
editovat- Potřeba bezchybné funkčnosti entity, jež je k vykonání procedury určena, a konektivity s ní.
- Nemožnost používání globálních proměnných a předávání ukazatelů (v jiném stroji nemají smysl; adresní prostor je totiž jiný).
Standardy
editovatTři základní RPC standardy jsou:
- ONC (Open Network Computing);
- DCE (Distributed Computing Environment);
- Microsoft COM/DCOM „standard“.
Historie
editovatSouvisející články
editovatReference
editovat