Rozdíl Mezi RPC A RMI

Obsah:

Rozdíl Mezi RPC A RMI
Rozdíl Mezi RPC A RMI

Video: Rozdíl Mezi RPC A RMI

Video: Rozdíl Mezi RPC A RMI
Video: RPC vs RMI|Difference between rpc and rmi|RPC and RMI difference|Difference between rmi and rpc 2024, Duben
Anonim

RPC vs RMI

Základní rozdíl mezi RPC a RMI spočívá v tom, že RPC je mechanismus, který umožňuje volání procedury na vzdáleném počítači, zatímco RMI je implementace RPC v javě. RPC je jazykově neutrální, ale podporuje pouze primitivní datové typy, které mají být předány. Na druhou stranu je RMI omezeno na Javu, ale umožňuje předávání objektů. RPC sleduje tradiční procedurální jazykové konstrukce, zatímco RMI podporuje objektově orientovaný design.

Co je RPC?

RPC, což je zkratka pro Remote Procedure Call, je druh meziprocesové komunikace. To umožňuje volání funkce v jiném procesu spuštěném na místním počítači nebo na vzdáleném počítači. Tento koncept se objevil už dávno v roce 1980, ale první slavná implementace byla viděna v Unixu.

RPC zahrnuje několik kroků. Klient provede volání procedury v místním počítači jako obvykle. Modul s názvem client stub sbírat argumenty a vytvořit zprávu a předat do operačního systému, operační systém provede systémové volání a odešle tuto zprávu do vzdáleného počítače. Operační systém na serveru sbírá zprávu a předává ji modulu na serveru s názvem server stub. Pak serverový inzerát zavolá proceduru na serveru. Nakonec jsou výsledky odeslány zpět klientovi.

Výhodou použití RPC je, že je nezávislé na podrobnostech sítě. Programátor musí pouze určit abstraktním způsobem, zatímco operační systém bude pečovat o podrobnosti interní sítě. To usnadňuje programování a umožňuje RPC pracovat v jakékoli síti i přes fyzické a protokolové rozdíly. Implementace RPC jsou přítomny ve všech běžných operačních systémech, jako jsou Unix, Linux, Windows a OS X. RPC je obecně jazykově neutrální, a proto omezuje datové typy na nejprimitivnější, protože musí být společné pro všechny jazyky. Přístup v RPC není objektově orientovaný, ale je to tradiční procedurální mechanismus jako v C.

Rozdíl mezi RPC a RMI
Rozdíl mezi RPC a RMI

Co je RMI?

RMI, což je zkratka pro Remote Method Invocation, je API (Application Programming Interface), které implementuje RPC v javě na podporu objektově orientované povahy. To umožňuje volání metod Java na jiném virtuálním stroji Java umístěném na stejném počítači nebo vzdáleném počítači. Omezení RMI spočívá v tom, že lze vyvolat pouze metody Java, ale přináší to výhodu, že objekty lze předávat jako argumenty a návratové hodnoty. Když je výkon považován za RMI, je pomalejší než RPC kvůli zapojení bytecode na Java Virtual Machine, ale RMI je velmi programátorsky přívětivý a jeho použití je velmi snadné.

RMI používá vestavěné bezpečnostní mechanismy v Javě a také poskytuje továrnu soketů, která umožňuje použití vlastních protokolů transportních vrstev jiných než TCP. RMI navíc poskytuje metody, jak obejít brány firewall. Kroky, které se vyskytují v RMI, jsou podobné RPC. Implementace RMI se stará o podrobnosti interní sítě, kde si programátor nemusí dělat starosti.

Jaký je rozdíl mezi RPC a RMI?

• RPC je jazykově neutrální, zatímco RMI je omezeno na Javu.

• RPC je procedurální jako v C, ale RMI je objektově orientované.

• RPC podporuje pouze primitivní datové typy, zatímco RMI umožňuje předávání objektů jako argumentů a návratových hodnot. Při použití RPC musí programátor rozdělit všechny složené objekty na primitivní datové typy.

• RMI je snadné naprogramovat tento RPC.

• RMI je pomalejší než RPC, protože RMI zahrnuje provádění bajtového kódu Java.

• RMI umožňuje použití návrhových vzorů kvůli objektově orientované povaze, zatímco RPC tuto schopnost nemá.

Souhrn:

RPC vs RMI

RPC je jazykově neutrální mechanismus, který umožňuje volání procedury na vzdáleném počítači. Jazykově neutrální funkce však omezuje datové typy, které jsou předávány jako argumenty, a vrací hodnoty primitivním typům. RMI je implementace RPC v Javě a podporuje také předávání objektů, což usnadňuje život programátora. Výhodou RMI je podpora objektově orientovaného designu, ale omezení na Javu je nevýhodou.

Obrázky se svolením:

Doporučená: