Sunteți pe pagina 1din 2

RPC(Remote Procedure Call)

Definitii

Este un proces de comunicare, permitand aplicatiilor la distanta sa comunice intre ele intr-o
maniera simpla si eficienta. Cu ajutorul acestuia , pot exista programe dezvoltate in diferite limbaje de
programare , fiind foarte important, mai ales in cazul limbajelor distribuite.
Inlocuind protocoalele dedicate de comunicatie cu un standard robust, RPC este creat in a facilita
comunicatia intre client si server, functiile acestuia fiind accesibile de orice program care comunica cu o
metodologie de tipul client server.
Componentele RPC ajuta clientii sa apeleze o procedura localizata pe un alt server, doar printr-o
conexiune remote, clientul si serverul avand fiecare un spatiu de adrese, care are si o anumita memorie
alocata informatiilor pentru aceasta procedura.
RPC incepe de la client, acesta apeland o procedura , in locul unui bloc de cod care
implementeaza aceea procedura

Avantajele folosirii RPC


-

Simplu Este caracterizat de o semantica simpla, dezvoltand avantajul de a construi si mentine


programe corect distribuite
Eficient- Ofera avantajul unei comunicatii foarte rapiode
General Este un punct comun de comunicatie intre portiuni ale unui program

Din punct de vedere al fiabilitatii , acesta trebuie sa se obisnuieasca cu lipsa acesteia, deoarece retea
poate transmite orice pachet, oricare din mecanisme poate pica. Serverul verifica ID-ul cand este apelat
si tine cont de acestea. Daca ID-ul nu corespuynde , serverul nu mai este functional.
Fiecare pachet contine ID pentru sursa si destinatie. Cand este asteptat un pachet, procesul il
inregistreaza

Dezavantajele folosirii RPC:


- rpc-ul nu este un standard, ci o idee ce poatye fi implementata in diferite maniere
- Nu rezolva majoritatea problemelor de distributie\
- este bazat doar pe interactiune, neoferind o felxibilitate din punct de vedere al arhitecturii hardware

Exemplu:
O aplicatie client/server ce cauta intr-o baza de date de pe o masina virtuala, baza de date nefiind
accesibila din statia locala. In acest caz trebuie sa folosim urmatoarele: utilizarea unui shell remote, insa
are ca dezavantaje executarea foarte greu, iar utilizatorul trebuie sa aib cont pe masina sau utilizarea unui
RPC , ceea ce presupune dezvoltarea unui server care sa ruleze pe masina pe care este baza de date si sa
raspunda la apelurile remote, fiind o metoda mult mai rapida de folosit.

Bibliografie
http://andrei.clubcisco.ro/cursuri/4sprc/laboratoare/LaboratorSPRC_1.pdf
http://www.cs.cf.ac.uk/Dave/C/node33.html
http://docs.freebsd.org/44doc/psd/23.rpc/paper.pdf
Tehnologii middleware Partea I , Prof. dr. ing. Daniela SARU

S-ar putea să vă placă și