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:

  1. Life cycle : Creation, migration and deletion of distributed objects is different from local objects
  2. Reference : Remote references to distributed objects are more complex than simple pointers to memory addresses
  3. Request Latency : A distributed object request is orders of magnitude slower than local method invocation
  4. Object Activation : Distributed objects may not always be available to serve an object request at any point in time
  5. Parallelism : Distributed objects may be executed in parallel.
  6. Communication : There are different communication primitives available for distributed objects requests
  7. Failure : Distributed objects have far more points of failure than typical local objects
  8. 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

  1. ^ W. Emmerich (2000) Engineering distributed objects, John Wiley & Sons Ltd.