Diferència entre RPC i RMI

Taula de continguts:

Diferència entre RPC i RMI
Diferència entre RPC i RMI

Vídeo: Diferència entre RPC i RMI

Vídeo: Diferència entre RPC i RMI
Vídeo: Valor Nominal VS. Valor de Mercado de las Acciones de una Sociedad Anónima 2024, Octubre
Anonim

RPC vs RMI

La diferència bàsica entre RPC i RMI és que RPC és un mecanisme que permet cridar un procediment en un ordinador remot mentre que RMI és la implementació de RPC a Java. RPC és un llenguatge neutral, però només admet els tipus de dades primitius que s'han de passar. D' altra banda, RMI es limita a Java però permet passar objectes. RPC segueix construccions de llenguatge procedimental tradicional mentre que RMI admet el disseny orientat a objectes.

Què és RPC?

RPC, que significa Remote Procedure Call, és un tipus de comunicació entre processos. Això permet cridar una funció en un altre procés que s'executa a l'ordinador local o a un ordinador remot. Aquest concepte va sorgir fa molt de temps l'any 1980, però la primera implementació famosa es va veure a Unix.

RPC implica diversos passos. El client fa una trucada de procediment a l'ordinador local com és habitual. El mòdul anomenat client stub recull els arguments i crea un missatge i passa al sistema operatiu, el sistema operatiu fa una trucada al sistema i envia aquest missatge a l'ordinador remot. El sistema operatiu del servidor recull el missatge i passa al mòdul del servidor anomenat taló del servidor. Llavors, el taló del servidor crida al procediment al servidor. Finalment, els resultats es tornen a enviar al client.

L'avantatge d'utilitzar RPC és que és independent dels detalls de la xarxa. El programador només ha d'especificar de manera abstracta mentre el sistema operatiu s'encarregarà dels detalls de la xarxa interna. Així, això facilita la programació i permet que RPC funcioni a qualsevol xarxa malgrat les diferències físiques i de protocol. Les implementacions RPC estan presents a tots els sistemes operatius principals com Unix, Linux, Windows i OS X. RPC és generalment neutral en el llenguatge, per tant limita els tipus de dades als més primitius, ja que han de ser comuns a tots els idiomes. L'enfocament en RPC no està orientat a objectes, però és un mecanisme procedimental tradicional com en C.

Diferència entre RPC i RMI
Diferència entre RPC i RMI
Diferència entre RPC i RMI
Diferència entre RPC i RMI

Què és RMI?

RMI, que significa Remote Method Invocation, és una API (Application Programming Interface) que implementa RPC a Java per donar suport a la naturalesa orientada a objectes. Això permet cridar mètodes Java en una altra màquina virtual Java que resideix al mateix ordinador o en un remot. La limitació de RMI és que només es poden invocar mètodes Java, però això té l'avantatge que els objectes es poden passar com a arguments i retornar valors. Quan es considera el rendiment, RMI és més lent que RPC a causa de la implicació del bytecode a la màquina virtual Java, però RMI és molt fàcil de programar i és molt fàcil d'utilitzar.

RMI utilitza mecanismes de seguretat integrats a Java i també ofereix una fàbrica de sòcols que permet l'ús de protocols de capa de transport personalitzats que no són TCP. A més, RMI proporciona mètodes per evitar els tallafocs. Els passos que es donen a RMI són similars a RPC. La implementació de RMI té cura dels detalls de la xarxa interna on el programador no s'hagi de preocupar per ells.

Quina diferència hi ha entre RPC i RMI?

• RPC és neutral en el llenguatge mentre que RMI està limitat a Java.

• RPC és procedimental com en C, però RMI està orientat a objectes.

• RPC només admet tipus de dades primitius mentre que RMI permet passar objectes com a arguments i valors de retorn. Quan utilitza RPC, el programador ha de dividir qualsevol objecte compost en tipus de dades primitius.

• RMI és fàcil de programar aquest RPC.

• RMI és més lent que RPC, ja que RMI implica l'execució del bytecode Java.

• RMI permet l'ús de patrons de disseny a causa de la naturalesa orientada a objectes, mentre que RPC no té aquesta capacitat.

Resum:

RPC vs RMI

RPC és un mecanisme de llenguatge neutral que permet cridar un procediment en un ordinador remot. Tanmateix, la característica de llenguatge neutral limita els tipus de dades que es passen com a arguments i retornen valors als tipus primitius. RMI és la implementació de RPC a Java i també admet el pas d'objectes, facilitant la vida del programador. L'avantatge de RMI és el suport de disseny orientat a objectes, però la limitació a Java és un desavantatge.

Recomanat: