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: Vysvětlení všech cenných papírů / Akcie, Dluhopisy, Směnky, Podílové listy 2024, Listopad
Anonim

RPC vs RMI

Základní rozdíl mezi RPC a RMI je ten, ž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 se řídí tradičními konstrukcemi procedurálního jazyka, 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 vzdáleném počítači. Tento koncept se objevil již 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 klient stub shromažďuje argumenty a vytváří zprávu a předává ji operačnímu systému, Operační systém provede systémové volání a odešle tuto zprávu vzdálenému počítači. Operační systém na serveru zprávu shromáždí a předá modulu na serveru s názvem server stub. Potom server stub zavolá proceduru na serveru. Nakonec jsou výsledky zaslány zpět klientovi.

Výhoda použití RPC je, že je nezávislý na detailech sítě. Programátor musí pouze abstraktně specifikovat, zatímco operační systém se postará o detaily vnitřní sítě. To usnadňuje programování a umožňuje RPC pracovat v jakékoli síti bez ohledu na fyzické rozdíly a rozdíly v protokolech. Implementace RPC jsou přítomny ve všech běžných operačních systémech, jako je Unix, Linux, Windows a OS X. RPC je obecně jazykově neutrální, a proto omezuje datové typy na ty 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
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ě pro podporu objektově orientované povahy. To umožňuje volání metod Java na jiném počítači Java Virtual sídlící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 to má tu výhodu, že objekty lze předávat jako argumenty a návratové hodnoty. Když vezmeme v úvahu výkon, RMI je pomalejší než RPC kvůli zapojení bajtkódu na Java Virtual Machine, ale RMI je velmi přátelské pro programátory a je velmi snadné jej používat.

RMI používá vestavěné bezpečnostní mechanismy v Javě a také poskytuje továrnu na zásuvky, která umožňuje použití protokolů vlastní transportní vrstvy bez TCP. RMI navíc poskytuje metody, jak obejít firewally. Kroky, které se vyskytují v RMI, jsou podobné RPC. Implementace RMI se stará o detaily vnitřní sítě, kde se o ně programátor nemusí starat.

Jaký je rozdíl mezi RPC a RMI?

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

• 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ávat objekty jako argumenty a návratové hodnoty. Při použití RPC musí programátor rozdělit všechny složené objekty na primitivní datové typy.

• RMI lze snadno naprogramovat RPC.

• RMI je pomalejší než RPC, protože RMI zahrnuje spuštění java bytecode.

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

Shrnutí:

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 předávané jako argumenty a návratové hodnoty na primitivní typy. 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 návrhu, ale nevýhodou je omezení na Javu.

Doporučuje: