previous | start | next

Extended RPC: "Distributed Object" Programming Models

The emergence of Object-Oriented Programming (OOP) -- particularly in languages such as C++ and Java -- changed the way in which programmers thought about RPC. Instead of executing a remote procedure/function, the conceptual model became that of "networked objects", and thus invocation of their object methods across the network.
 
The three major "frameworks" in this space have (historically) been:
 
CORBA (Common Object Request Broker Architecture)
 
Developed by the Object Management Group (OMG), this framework was the first attempt to create a "distributed object" environment. Based on the idea of an "Object Request Broker", it uses a protocol called the "Internet Inter-ORB Protocol (IIOP)". Available for most platforms.
 
DCOM
 
This framework was developed by Microsoft, and is specific to their platforms and language development environments, although Java is supported, and third-party companies ahve developed implmentations for other platforms. The "Object Remote Procedure Call (ORPC)" protocol on which it's based is derived from the older DCE specification, a competitor to Sun's original RPC.
 
Java/RMI
 
Sun Microsystems has developed this system to support its "Java Everywhere" model of programming -- only supported for the Java language from release 1.1. The underlying protocol is called "Java Remote Method Protocol (JRMP)" and was (apparently) developed from the original Sun RPC.
 
Each of these frameworks (and their underlying protocols) is based on the idea of serializing the objects to be transferred, transparently to the developer. He/she does not need to know the details of how the system is implemented, or what it's doing "underneath". The mappings from a program's (system's) internal data structures to (and from) what's sent over the network is automatic.
 
Lecture 24: Data Formats and Encoding -- A Philosophy Lecture Copyright © 2005 P.Scott, La Trobe University Bendigo.


previous | start | next