RPC vs RMI
RPC (Remote Procedure Call) ja RMI (Remote Method Invocation) on kaks mehhanismi, mis võimaldavad kasutajal helistada või helistada protsessidele, mis töötavad muus arvutis kui see, mida kasutaja kasutab. Peamine erinevus nende kahe vahel on kasutatud lähenemisviis või paradigma. RMI kasutab objektorienteeritud paradigmat, kus kasutaja peab teadma objekti ja objekti meetodit, millele ta peab kutsuma. Võrdluseks - RPC ei ole objektorienteeritud ega tegele objektidega. Pigem kutsub see konkreetseid juba välja töötatud alamprogramme.
RPC on suhteliselt vana protokoll, mis põhineb C-keelel, pärides seega selle paradigma. RPC abil saate protseduurikõne, mis näeb välja üsna sarnane kohaliku kõnega. RPC tegeleb kõne edastamisega kohalikust kaugarvutisse keerukusega. RMI teeb sama asja; kohalikust kaugarvutisse kutsumise edastamise keerukuse käsitlemine. Kuid protseduurilise kõne edastamise asemel edastab RMI viite objektile ja meetodile, mida kutsutakse. RMI töötas välja Java ja kasutab oma virtuaalset masinat. Seetõttu on selle kasutamine ainuõigus Java-rakenduste jaoks, et helistada meetoditele kaugarvutites.
Lõpuks on RPC ja RMI vaid kaks vahendit sama täpse asja saavutamiseks. Kõik taandub sellele, millist keelt te kasutate ja millise paradigmaga olete harjunud. Objektorienteeritud RMI kasutamine on parem lähenemisviis nende kahe vahel, eriti suuremate programmide puhul, kuna see pakub puhtamat koodi, mida on lihtsam leida, kui midagi valesti läheb. RPC kasutamine on endiselt laialt aktsepteeritud, eriti kui mõni alternatiivsetest kaugprotseduuriprotokollidest pole valik.
Kokkuvõte:
1.RMI on objektorienteeritud, RPC aga mitte
2.RPC on C-alused, samas kui RMI on ainult Java
3.RMI kutsub meetodeid, RPC aga funktsioone
4.RPC on vananenud, samas kui RMI on tulevik