Rozdíl mezi RPC a RMI

RPC vs RMI

RPC (Remote Procedure Call) a RMI (Remote Method Invocation) jsou dva mechanismy, které umožňují uživateli vyvolat nebo volat procesy, které budou spuštěny na jiném počítači než ten, který uživatel používá. Hlavním rozdílem mezi nimi je použitý přístup nebo paradigma. RMI používá objektově orientované paradigma, kde uživatel potřebuje znát objekt a metodu objektu, který potřebuje vyvolat. Ve srovnání RPC není objektově orientovaná a nezabývá se objekty. Spíše volá specifické podprogramy, které jsou již zavedeny.

RPC je relativně starý protokol, který je založen na jazyce C, čímž zdědí své paradigma. S RPC získáte volání procedury, které vypadá jako místní volání. RPC zpracovává složitosti spojené s předáváním hovoru z místního do vzdáleného počítače. RMI dělá totéž; zpracování složitosti předávání vyvolání z místního do vzdáleného počítače. Ale namísto předání procedurálního volání předá RMI odkaz na objekt a metodu, která je volána. RMI byl vyvinut společností Java a používá svůj virtuální stroj. Jeho použití je proto výhradně pro Java aplikace pro volání metod na vzdálených počítačích.

Nakonec jsou RPC a RMI pouze dvěma způsoby, jak dosáhnout stejné věci. Všechno jde o to, jaký jazyk používáte a na jaké paradigma jste zvyklí. Použití objektově orientovaného RMI je lepší přístup mezi těmito dvěma programy, zejména u větších programů, protože poskytuje čistší kód, který je snazší sledovat, jakmile se něco pokazí. Použití RPC je stále široce přijímáno, zejména pokud některý z alternativních vzdálených procedurálních protokolů není možností.

Souhrn:

1.RMI je objektově orientovaný, zatímco RPC není
2.RPC je C báze, zatímco RMI je pouze Java
3.RMI vyvolává metody, zatímco RPC vyvolává funkce
4.RPC je zastaralý, zatímco RMI je budoucnost