H Wchapter3 Abdlukabeer-Moatasem-Mousa

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Distributed System Models

H.W The chapter (Inter-process


communication)

submitted by :Abdulkabeer Afif


Mousa Faraj
Moatasem AL-zayani

Dr: Salima Ben Qdar


: Remote Procedure Call (RPC)
is a powerful technique for constructing distributed, client-
server based applications. It is based on extending the
conventional local procedure calling so that the called
procedure need not exist in the same address space as the
calling procedure. The two processes may be on the same
system, or they may be on different systems with a network
.connecting them
When making a Remote Procedure Call

RPC working steps

The client sends a request to the server.


.The user requests and executes the requested function
. The server sends the result to the client
. Result. client receives the final result
Example of RPC
Consider a distributed online banking application. When a
customer requests to transfer funds between their accounts,
the client application on their device can invoke a remote
"transfer" procedure on the bank's server. The RPC
mechanism handles the details of transmitting the request,
executing the transfer logic on the server, and returning the
.result back to the client - all transparently to the user
RPC Differs From Other Remote Communication
: Mechanisms
Characteristic RPC Message REST
Queues

Data Format Usually uses a Can use various Typically uses


binary data formats standardized
serialization data formats like
format JSON or XML

Transparency Highly Less transparent, Moderately


transparent, the the client needs to transparent, the
client can call handle message client needs to
remote queue semantics handle HTTP
procedures as if and asynchronous request/respons
they were local communication e semantics

Evolution Requires careful Allows for more Allows for more


versioning of the flexible evolution flexible evolution
RPC interface to as the message as the API can be
maintain format can be updated
compatibility updated independently
independently

Reliability Relies on the Provides built-in Relies on the


underlying reliability underlying HTTP
transport layer mechanisms protocol to
(e.g., TCP) to ensure reliable
ensure reliable delivery, but
delivery additional
mechanisms may
be needed
Advantages of RPC
RPC provides ABSTRACTION i.e message-passing nature of *
.network communication is hidden from the user

RPC enables the usage of the applications in the distributed *


.environment, not only in the local environment
With RPC code re-writing / re-developing effort is *
.minimized

Disadvantages of RPC
Tightly coupled between client and server, making it less
.flexible than some other distributed architectures
Susceptible to network failures, as the client is blocked
.waiting for the remote response
Requires additional complexity for handling errors and
.retries in the case of network issues

You might also like