Backend Development 14 min read

A Historical Overview of Remote Procedure Call (RPC) Technologies and Middleware

This article traces the evolution of Remote Procedure Call (RPC) from its early definitions in the 1970s through various middleware implementations like CORBA, Java RMI, Thrift, and gRPC, highlighting key concepts, criticisms, and modern developments in distributed systems.

Architecture Digest
Architecture Digest
Architecture Digest
A Historical Overview of Remote Procedure Call (RPC) Technologies and Middleware

In the winter of 1974, Jon Postel published RFC 674, introducing the Procedure Call Protocol Documents, which marked the beginning of RPC concepts that would shape networked resource sharing.

1. From IPC to RPC Inter-Process Communication (IPC) includes sockets, which enable communication across machines. The Berkeley Socket, created by Bill Joy, became the foundation for TCP/IP networking and modern remote communication.

Remote Procedure Call (RPC) abstracts remote method invocation, making the network communication transparent to programmers, though critics warn that this transparency can create a false sense of zero-cost communication.

2. The Middleware Era The 1990s saw the rise of CORBA, which introduced distributed objects and the Object Request Broker (ORB) to handle communication, using GIOP/IIOP as wire protocols and IDL for language‑agnostic interfaces. Java introduced RMI and later EJB, offering simpler, language‑specific RPC solutions.

3. RPC’s Decade Cycle Scholars like Tanenbaum and Jim Waldo critiqued RPC’s assumptions, identifying issues such as latency, address space isolation, partial failures, and concurrency. Despite these challenges, RPC continued to evolve, with XML‑RPC and SOAP emerging in the late 1990s.

4. Modern RPC In the 2000s, open‑source frameworks like Google’s Protocol Buffers, Apache Thrift, and later gRPC revitalized RPC by providing efficient binary serialization and HTTP/2 transport, supporting bidirectional streaming and microservice architectures.

Today, RPC remains a core building block for backend services, with frameworks such as Dubbo, HSF, and fbthrift continuing the tradition of enabling scalable, high‑performance distributed systems.

distributed systemsRPCmiddlewaregRPCProtocol BuffersThriftCORBA
Architecture Digest
Written by

Architecture Digest

Focusing on Java backend development, covering application architecture from top-tier internet companies (high availability, high performance, high stability), big data, machine learning, Java architecture, and other popular fields.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.