Distributed object communication
Distributed object communication realizes communication between distributed objects in the distributed computing environment.
The main role is to interconnect objects residing in non-local memory space and allowing them to perform remote calls and exchange data. The widely used approach how to implement the communication channel is realized by using stubs and skeletons. Stubs and skeletons are generated objects, structure and behavior depends on chosen implementation, but in general provides additional functionality that ensures reliable communication over network.
When a caller wants to perform remote call on called object, delegates requests to it's stub which communicates with remote skeleton. Skeleton delegates requests to called object an returns results back to caller's stub. There is no direct communication between caller and called object.
Advantage of this architecture is that nor caller neither called object has to implement network related logic to handle network dropouts and can rely on stub's and skeleton's functionality.
Implementations
- RPC - Remote Procedure Call
- CORBA - Common Object Request Broker Architecture
- DCE - Distributed Computing Environment
- RMI - Remote Method Invocation
- .NET Remoting - .NET Remoting
- DCOM - Distributed Component Object Model
- DDObjects is a framework for distributed objects using Borland Delphi.
- Distributed Ruby (DRb) is a framework for distributed objects using the Ruby programming language.
References
- Plášil, František and Stal, Michael. "An Architectural View of Distributed Objects and Components in CORBA, Java RMI, and COM/DCOM", Software Concepts & Tools (vol. 19, no. 1), January, 1998.
- "Remote Procedure Call", Distributed Systems Research Group.
- Farley, Jim. "Java Distributed Computing", O'Reilly, January, 1998.