Distributed object
From Wikipedia, the free encyclopedia
Distributed objects are software modules that are designed to work together, but reside either in multiple computers connected via a network or in different processes inside the same computer. One object sends a message to another object in a remote machine or process to perform some task. The results are sent back to the calling object.
See also Internet protocol suite.
[edit] Local vs Distributed Objects
Local and distributed objects differ in many respects.[1] Here are some of them:
- Life cycle : Creation, migration and deletion of distributed objects is different from local objects
- Reference : Remote references to distributed objects are more complex than simple pointers to memory addresses
- Request Latency : A distributed object request is orders of magnitude slower than local method invocation
- Object Activation : Distributed objects may not always be available to serve an object request at any point in time
- Parallelism : Distributed objects may be executed in parallel.
- Communication : There are different communication primitives available for distributed objects requests
- Failure : Distributed objects have far more points of failure than typical local objects
- Security : Distribution makes them vulnerable to attack.
[edit] Examples
Distributed objects are implemented in Objective-C using the Cocoa API with the NSConnection class and supporting objects.
Distributed objects are used in Java RMI.
CORBA lets one build distributed mixed object systems.
DCOM is a framework for distributed objects on the Microsoft platform.
DDObjects is a framework for distributed objects using Borland Delphi.
JavaSpaces is a Sun specification for a distributed, shared memory (spaces based)
Pyro is a framework for distributed objects using the Python programming language.
Distributed Ruby (DRb) is a framework for distributed objects using the Ruby programming language.
[edit] References
- ^ W. Emmerich (2000) Engineering distributed objects, John Wiley & Sons Ltd.