RPC vs RMI
RPC (Remote Procedure Call) a RMI (Remote Method Invocation) sú dva mechanizmy, ktoré umožňujú užívateľovi vyvolať alebo vyvolať procesy, ktoré budú bežať na inom počítači ako ten, ktorý používa. Hlavný rozdiel medzi nimi je použitý prístup alebo paradigma. RMI používa objektovo orientovanú paradigmu, kde užívateľ potrebuje poznať objekt a metódu objektu, ktorý potrebuje vyvolať. Oproti tomu RPC nie je objektovo orientovaný a nezaoberá sa objektmi. Skôr nazýva špecifické podprogramy, ktoré sú už zavedené.
RPC je relatívne starý protokol, ktorý je založený na jazyku C a zdedí tak svoju paradigmu. S RPC získate volanie procedúry, ktoré vyzerá skoro ako miestny hovor. RPC rieši zložitosti spojené s presmerovaním hovoru z miestneho na vzdialený počítač. RMI robí to isté; riešenie zložitých postupov pri prenose z miestneho na vzdialený počítač. Namiesto odovzdania procedurálneho volania však RMI odovzdá odkaz na objekt a spôsob, ktorý sa volá. RMI bol vyvinutý spoločnosťou Java a používa svoj virtuálny stroj. Jeho použitie je preto výhradne aplikáciám Java na volanie metód na vzdialených počítačoch.
Nakoniec sú RPC a RMI iba dvoma prostriedkami na dosiahnutie tej istej presnej veci. Všetko sa týka toho, aký jazyk používate a na akú paradigmu ste zvyknutí. Použitie objektovo orientovaného RMI je lepším prístupom medzi týmito dvoma programami, najmä s väčšími programami, pretože poskytuje čistejší kód, ktorý je ľahšie vystopovať, keď sa niečo pokazí. Použitie RPC je stále široko akceptované, najmä ak niektorý z alternatívnych procedurálnych protokolov nie je možné.
Zhrnutie:
1.RMI je objektovo orientovaný, zatiaľ čo RPC nie
2.RPC je základňa C, zatiaľ čo RMI je iba Java
3.RMI vyvoláva metódy, zatiaľ čo RPC vyvoláva funkcie
4.RPC je zastaraný, zatiaľ čo RMI je budúcnosť