RPC vs RMI
RPC (Remote Procedure Call) ir RMI (Remote Method Invocation) yra du mechanizmai, leidžiantys vartotojui iškviesti ar paskambinti procesams, kurie veiks kitame kompiuteryje nei tas, kurį naudoja vartotojas. Pagrindinis skirtumas tarp šių dviejų metodų yra naudojamas metodas arba paradigma. RMI naudoja į objektą orientuotą paradigmą, kai vartotojas turi žinoti objektą ir objekto, kurį jis turi naudoti, metodą. Palyginimui, RPC nėra orientuotas į objektą ir nėra susijęs su objektais. Tai verčiau vadina konkrečias jau sukurtas paprogrames.
RPC yra palyginti senas protokolas, paremtas C kalba, taigi paveldintis jos paradigmą. Naudodamiesi RPC, gausite procedūrinį skambutį, kuris panašus į vietinį. RPC tvarko sudėtingumą, susijusį su skambučio perdavimu iš vietinio į nuotolinį kompiuterį. RMI daro tą patį; tvarkyti iškvietimo iš vietinio į nuotolinį kompiuterį sudėtingumą. Tačiau užuot perdavusi procedūrinį skambutį, RMI perduoda nuorodą į objektą ir metodą, kuris yra vadinamas. RMI sukūrė „Java“ ir naudoja savo virtualią mašiną. Todėl jis naudojamas išimtinai „Java“ programoms, skirtoms skambinti į nuotolinius kompiuterius.
Galų gale RPC ir RMI yra tik dvi priemonės pasiekti tą patį tikslą. Viskas priklauso nuo to, kokią kalbą vartojate ir prie kokios paradigmos esate įpratęs. Objektyvios RMI naudojimas yra geresnis požiūris tarp dviejų, ypač naudojant didesnes programas, nes jis suteikia švaresnį kodą, kurį lengviau atsekti, kai kas nors nutinka ne taip. RPC naudojimas vis dar yra plačiai priimamas, ypač kai kuris nors iš alternatyvių nuotolinių procesinių protokolų nėra išeitis.
Santrauka:
1.RMI yra orientuotas į objektą, o RPC nėra
2.RPC yra C bazės, o RMI yra tik „Java“
3.RMI naudoja metodus, o RPC - funkcijas
4.RPC yra senas, o RMI yra ateitis