Programovací model
V prvních dnech počítačového programování byl každý program napsán jako velký monolitický blok, naplněný goto příkazy. Každý program musel spravovat vlastní vstup a výstup do různých hardwarových zařízení. Jak programovací disciplína zrala, tento monolitický kód byl uspořádán do procedur, s nejčastěji používanými postupy zabalenými do knihoven pro sdílení a opakované použití.
Programovací jazyk C podporuje programování orientované na procedury. V jazyce C se hlavní postup vztahuje ke všem ostatním postupům jako černým rámečkům. Hlavní postup například nedokáže zjistit, jak fungují postupy A, B a X. Hlavní postup volá pouze jiný postup; nemá žádné informace o tom, jak je tento postup implementován.
Programovací jazyky orientované na procedury poskytují jednoduché mechanismy pro zadávání a psaní procedur. Například prototyp funkce C-standard ANSI je konstrukce, která slouží k určení názvu procedury, typ výsledku, který vrátí (pokud existuje) a číslo, posloupnost a typ jeho parametrů. Použití prototypu funkce je formální způsob, jak určit rozhraní mezi procedurami.
Microsoft RPC vychází z programovacího modelu tím, že umožňuje seskupit procedury v rozhraních, aby se mohly nacházet v různých procesech, než je volající. Microsoft RPC také přidává formální přístup k definici procedury, která volajícímu a označované rutině umožňuje přijmout kontrakt pro vzdálenou výměnu dat a vyvolání funkcí. V programovacím modelu Microsoft RPC jsou tradiční volání funkcí doplněna o dva další prvky.
- Prvním prvkem je soubor .idl/.acf, který přesně popisuje výměnu dat a mechanismus předávání parametrů mezi volajícím a volanou procedurou.
- Druhým prvkem je sada rozhraní API za běhu, která vývojářům poskytují podrobné řízení vzdáleného volání procedur, včetně aspektů zabezpečení, správy stavu na serveru, určení klientů, kteří mohou komunikovat se serverem atd.