Starpība starp RPC un RMI

Autors: Laura McKinney
Radīšanas Datums: 1 Aprīlis 2021
Atjaunināšanas Datums: 10 Maijs 2024
Anonim
Starpība starp RPC un RMI - Tehnoloģija
Starpība starp RPC un RMI - Tehnoloģija

Saturs


RPC un RMI ir mehānismi, kas ļauj klientam izsaukt procedūru vai metodi no servera, izveidojot komunikāciju starp klientu un serveri. Kopējā atšķirība starp RPC un RMI ir tā, ka RPC atbalsta tikai procesuālā programmēšana tā kā RMI atbalsta objektorientēta programmēšana.

Vēl viena būtiska atšķirība starp abām ir tā, ka parametri, kas nodoti attālās procedūras izsaukumam, sastāv no parastās datu struktūras. No otras puses, parametri, kas nodoti attālinātai metodei, sastāv no objekti.

  1. Salīdzināšanas tabula
  2. Definīcija
  3. Galvenās atšķirības
  4. Secinājums

Salīdzināšanas tabula

Salīdzināšanas pamatsRPCRMI
AtbalstaProcedūras programmēšana
Objektorientēta programmēšana
ParametriParastās datu struktūras tiek nodotas attālinātām procedūrām.Objekti tiek nodoti attālinātām metodēm.
EfektivitāteZemāks par RMIVairāk nekā RPC, un to atbalsta moderna programmēšanas pieeja (t.i., uz objektu orientētas paradigmas)
Pieskaitāmās izmaksasVairāk
Mazāk salīdzinoši
In-out parametri ir obligāti.Nav nepieciešams
Nodrošina vienkāršu programmēšanu
Augsts
zems


RPC definīcija

Tālvadības procedūras izsaukums (RPC) ir programmēšanas valodas funkcija, kas paredzēta sadalītai skaitļošanai un balstīta uz vietējā procedūra zvani. Tās ir visizplatītākās attālo pakalpojumu formas un tika izstrādātas kā veids, kā abstrahēt procedūras izsaukuma mehānismu, ko izmantot starp sistēmām, kas savienotas caur tīklu. Tas ir līdzīgs IPC mehānismam, kur operētājsistēma ļauj procesiem pārvaldīt dalītos datus un rīkoties ar vidi, kurā dažādi procesi tiek izpildīti atsevišķās sistēmās un kuriem obligāti nepieciešama komunikācija.

Ļaujiet saprast, kā RPC tiek ieviests, izmantojot norādītās darbības:

  • Klienta process izsauc klienta daļu ar parametriem, un tā izpilde tiek apturēta līdz zvana pabeigšanai.
  • Pēc tam parametrus pārtulko mašīnā neatkarīgā formā, šķirojot caur klienta stublāju. Tad tiek sagatavots paraugs, kurā ir parametru attēlojums.
  • Lai atrastu vietnes identitāti, klienta sprauga sazinās ar vārdu serveri, kurā pastāv attālā procedūra.
  • Izmantojot bloķēšanas protokolu, klients piesaista vietnei, kur pastāv attālais procedūras izsaukums. Šis solis aptur klienta nepilnības, līdz tas saņem atbildi.


  • Servera vietne saņem nosūtītos no klienta puses un pārveido tos mašīnai specifiskā formātā.
  • Tagad servera serbs izpilda izsaukumu uz servera procedūru kopā ar parametriem, un servera serbe tiek pārtraukta, līdz procedūra tiek pabeigta.
  • Servera procedūra atgriež ģenerētos rezultātus servera stublājā, un rezultāti servera stublājā tiek pārveidoti mašīnā neatkarīgā formātā un tiek izveidoti rezultāti, kas satur rezultātus.
  • Rezultāts tiek nosūtīts klienta daļai, kas tiek pārveidota atpakaļ mašīnai specifiskā formātā, kas piemērots klienta daļai.
  • Beidzot klientam sastingums atgriež rezultātus klienta procesā.

RMI definīcija

Attālās metodes izsaukšana (RMI) ir līdzīga RPC, bet ir specifiska valodai un javas iezīme. Vītne ir atļauta, lai izsauktu metodi uz attālu objektu. Lai saglabātu caurspīdīgumu klienta un servera pusē, tas ievieš attālo objektu, izmantojot stublājus un skeletus. Stumbrs atrodas kopā ar klientu, un attālajam objektam tas darbojas kā starpniekserveris.

Kad klients piezvana attālai metodei, tiek saukta attālas metodes iedaļa. Klients ir atbildīgs par pakas izveidi un apvienošanu, kurā ir metodes nosaukums un sakārtotie parametri, un par pakas saņemšanu ir atbildīgs skelets.

Skelets atšifrē parametrus un uz servera izsauc vēlamo metodi. Skelets sakārto norādīto vērtību (vai izņēmumus) ar paku un nosūta to klienta daļai. Stumbrs atkārtoti samontē atpakaļ sūtījumu un nosūta to klientam.

Java programmā parametri tiek nodoti metodēm un atgriezti atsauces veidā. Tas varētu būt satraucoši RMI pakalpojumam, jo ​​ne visi objekti, iespējams, ir attālinātas metodes. Tātad ir jānosaka, kuras var nodot kā atsauces un kuras nevar.

Java izmanto procesu ar nosaukumu seriālizēšana kur objekti tiek nodoti kā vērtība. Attālais objekts tiek lokalizēts pēc vērtības. Tas var arī nodot objektu, izmantojot atsauci, novirzot attālinātu atsauci uz objektu kopā ar stublāja klases URL. Braukšana garām ierobežo attālā objekta galu.

  1. RPC atbalsta procesuālās programmēšanas paradigmas, tātad ir balstīta uz C, savukārt RMI atbalsta uz objektu orientētas programmēšanas paradigmas un ir balstīta uz Java.
  2. Parametri, kas RPC tiek pārsūtīti uz attālām procedūrām, ir parastās datu struktūras. Tieši pretēji, RMI objektus kā parametru nodod attālajai metodei.
  3. RPC var uzskatīt par RMI vecāku versiju, un to lieto programmēšanas valodās, kas atbalsta procesuālo programmēšanu, un to var izmantot tikai caurlaišanas vērtības metodi. Pretstatā RMI iespēja ir izstrādāta, balstoties uz mūsdienīgu programmēšanas pieeju, kas varētu izmantot vērtību vai atsauci. Vēl viena RMI priekšrocība ir tā, ka parametrus, kurus nodod atsaucei, var mainīt.
  4. RPC protokols rada vairāk pieskaitāmu izmaksu nekā RMI.
  5. RPC nodotajiem parametriem jābūt “iekšā ārāKas nozīmē, ka procedūrai nodotajai vērtībai un izvades vērtībai jābūt vienādiem datu tipiem. Turpretī nav nekādas piespiešanas nokārtot “iekšā ārā”Parametrus RMI.
  6. RPC atsauces nevarēja būt ticamas, jo abiem procesiem ir atšķirīga adrešu telpa, taču RMI gadījumā tas ir iespējams.

Secinājums

Gan RPC, gan RMI kalpo vienam un tam pašam mērķim, taču valodās tiek izmantotas dažādas programmēšanas paradigmas, tāpēc tām ir atšķirīgas iezīmes.