Pagkakaiba sa pagitan ng RPC at RMI

Talaan ng mga Nilalaman:

Pagkakaiba sa pagitan ng RPC at RMI
Pagkakaiba sa pagitan ng RPC at RMI

Video: Pagkakaiba sa pagitan ng RPC at RMI

Video: Pagkakaiba sa pagitan ng RPC at RMI
Video: Ang Pagkakaiba sa Pagitan ng Bagong Mangangalakal at Magaling na Mangangalakal. 2024, Oktubre
Anonim

RPC vs RMI

Ang pangunahing pagkakaiba sa pagitan ng RPC at RMI ay ang RPC ay isang mekanismo na nagbibigay-daan sa pagtawag ng isang pamamaraan sa isang malayuang computer habang ang RMI ay ang pagpapatupad ng RPC sa java. Ang RPC ay neutral sa wika ngunit sinusuportahan lamang ang mga primitive na uri ng data na ipapasa. Sa kabilang banda, ang RMI ay limitado sa Java ngunit pinapayagan ang pagpasa ng mga bagay. Sinusunod ng RPC ang tradisyonal na procedural language constructs habang sinusuportahan ng RMI ang object-oriented na disenyo.

Ano ang RPC?

Ang RPC, na nangangahulugang Remote Procedure Call, ay isang uri ng inter-process na komunikasyon. Ito ay nagpapahintulot sa pagtawag ng isang function sa isa pang proseso na tumatakbo sa lokal na computer o isang remote na computer. Matagal nang lumitaw ang konseptong ito noong 1980, ngunit ang unang sikat na pagpapatupad ay nakita sa Unix.

May ilang hakbang ang RPC. Gumagawa ang kliyente ng procedure call sa lokal na computer gaya ng dati. Ang module na tinatawag na client stub ay kinokolekta ang mga argumento at lumikha ng isang mensahe at ipasa sa operating system, Ang operating system ay gumagawa ng system call at ipinapadala ang mensaheng ito sa remote na computer. Kinokolekta ng operating system sa server ang mensahe at ipinapasa sa module sa server na tinatawag na server stub. Pagkatapos ay tinawag ng server stub ang pamamaraan sa server. Sa wakas, ibabalik ang mga resulta sa kliyente.

Ang bentahe ng paggamit ng RPC ay ang pagiging independent nito sa mga detalye ng network. Ang programmer ay kailangan lamang na tukuyin sa isang abstract na paraan habang ang operating system ay aasikasuhin ang mga detalye ng panloob na network. Kaya pinapadali nito ang programming at hinahayaan ang RPC na gumana sa anumang network sa kabila ng mga pagkakaiba sa pisikal at protocol. Ang mga pagpapatupad ng RPC ay naroroon sa lahat ng mga pangunahing operating system tulad ng Unix, Linux, Windows at OS X. Ang RPC sa pangkalahatan ay neutral sa wika kaya nililimitahan nito ang mga uri ng data sa mga pinaka-primitive dahil dapat na karaniwan ang mga ito sa lahat ng mga wika. Ang diskarte sa RPC ay hindi object oriented, ngunit ito ay isang tradisyonal na mekanismo ng pamamaraan tulad ng sa C.

Pagkakaiba sa pagitan ng RPC at RMI
Pagkakaiba sa pagitan ng RPC at RMI
Pagkakaiba sa pagitan ng RPC at RMI
Pagkakaiba sa pagitan ng RPC at RMI

Ano ang RMI?

Ang RMI, na nangangahulugang Remote Method Invocation, ay isang API (Application Programming Interface) na nagpapatupad ng RPC sa java upang suportahan ang object orientated na kalikasan. Ito ay nagpapahintulot sa pagtawag ng mga pamamaraan ng Java sa isa pang Java Virtual machine na naninirahan sa parehong computer o sa isang remote. Ang limitasyon ng RMI ay ang mga pamamaraan ng Java lamang ang maaaring ma-invoke, ngunit ito ay may kalamangan na ang mga bagay ay maaaring maipasa bilang mga argumento at mga halaga ng pagbabalik. Kapag ang pagganap ay itinuturing na ang RMI ay mas mabagal kaysa sa RPC dahil sa pagkakasangkot ng bytecode sa Java Virtual machine, ngunit ang RMI ay napaka-programmer friendly, at ito ay napakadaling gamitin.

Gumagamit ang RMI ng mga inbuilt na mekanismo ng seguridad sa Java at nagbibigay din ng socket factory na nagbibigay-daan sa paggamit ng mga hindi TCP na custom na transport layer na protocol. Bukod dito, ang RMI ay nagbibigay ng mga paraan upang i-bypass ang mga firewall. Ang mga hakbang na nagaganap sa RMI ay katulad ng RPC. Ang pagpapatupad ng RMI ay nangangalaga sa mga detalye ng panloob na network kung saan ang programmer ay hindi kailangang mag-alala tungkol sa mga ito.

Ano ang pagkakaiba ng RPC at RMI?

• Ang RPC ay neutral sa wika habang ang RMI ay limitado sa Java.

• Ang RPC ay pamamaraan tulad ng sa C, ngunit ang RMI ay object oriented.

• Sinusuportahan lang ng RPC ang mga primitive na uri ng data habang pinapayagan ng RMI na maipasa ang mga object bilang mga argumento at mga value na ibinabalik. Kapag gumagamit ng RPC, dapat hatiin ng programmer ang anumang compound object sa mga primitive na uri ng data.

• Ang RMI ay madaling i-program ang RPC na iyon.

• Ang RMI ay mas mabagal kaysa sa RPC dahil ang RMI ay nagsasangkot ng pagpapatupad ng java bytecode.

• Pinapayagan ng RMI ang paggamit ng mga pattern ng disenyo dahil sa likas na object oriented habang walang ganitong kakayahan ang RPC.

Buod:

RPC vs RMI

Ang RPC ay isang language neutral na mekanismo na nagbibigay-daan sa pagtawag ng isang procedure sa isang malayuang computer. Gayunpaman, nililimitahan ng neutral na feature ng wika ang mga uri ng data na ipinapasa bilang mga argumento at nagbabalik ng mga halaga sa mga primitive na uri. Ang RMI ay ang pagpapatupad ng RPC sa Java at sinusuportahan din nito ang pagpasa ng object, na ginagawang mas madali ang buhay ng programmer. Ang bentahe ng RMI ay ang object oriented na suporta sa disenyo, ngunit ang limitasyon sa Java ay isang kawalan.

Inirerekumendang: