Distributed object

Distributed object
Image describes communication between distributed objects residing in different machines.

The term distributed objects usually refers to 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.

The term may also generally refer to one of the extensions of the basic object concept used in the context of distributed computing, such as replicated objects or live distributed objects.

  • Replicated objects are groups of software components (replicas) that run a distributed multi-party protocol to achieve a high degree of consistency between their internal states, and that respond to requests in a coordinated manner. Referring to the group of replicas jointly as an object reflects the fact that interacting with any of them exposes the same externally visible state and behavior.
  • Live distributed objects (or simply live objects)[1] generalize the replicated object concept to groups of replicas that might internally use any distributed protocol, perhaps resulting in only a weak consistency between their local states. Live distributed objects can also be defined as running instances of distributed multi-party protocols, viewed from the object-oriented perspective as entities that have distinct identity, and that can encapsulate distributed state and behavior.

See also Internet protocol suite.

Local vs Distributed Objects

Local and distributed objects differ in many respects.[2] 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.

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.

Jt[disambiguation needed ] is a framework for distributed components using a messaging paradigm.

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.

References

  1. ^ Ostrowski, K., Birman, K., Dolev, D., and Ahnn, J. (2008). "Programming with Live Distributed Objects", Proceedings of the 22nd European Conference on Object-Oriented Programming, Paphos, Cyprus, July 07 - 11, 2008, J. Vitek, Ed., Lecture Notes In Computer Science, vol. 5142, Springer-Verlag, Berlin, Heidelberg, 463-489, http://portal.acm.org/citation.cfm?id=1428508.1428536.
  2. ^ W. Emmerich (2000) Engineering distributed objects, John Wiley & Sons Ltd.

Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • 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… …   Wikipedia

  • distributed object — /dɪstrɪbjutəd ˈɒbdʒɛkt/ (say distribyoohtuhd objekt) noun Computers a digital object which is located in part on a number of sites connected via a network …  

  • Enterprise Distributed Object Computing — The UML profile for Enterprise Distributed Object Computing (EDOC) is a standard of the Object Management Group in support of open distributed computing using model driven architecture and Service Oriented Architecture. Its aim is to simplify the …   Wikipedia

  • Distributed Objects Everywhere — (DOE) was a long running Sun Microsystems project to build a distributed computing environment based on the CORBA system in the back end and OpenStep as the user interface. First started in 1990 and announced soon thereafter, it remained… …   Wikipedia

  • Object Management Group — Formation 1989 Headquarters Needham, Massachusetts Website …   Wikipedia

  • Object (computer science) — In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure. (With the later introduction of object oriented programming the same word,… …   Wikipedia

  • Distributed hash table — A distributed hash table (DHT) is a class of a decentralized distributed system that provides a lookup service similar to a hash table; (key, value) pairs are stored in a DHT, and any participating node can efficiently retrieve the value… …   Wikipedia

  • Object request broker — In distributed computing, an object request broker (ORB) is a piece of middleware software that allows programmers to make program calls from one computer to another via a network. ORBs promote interoperability of distributed object systems… …   Wikipedia

  • Object Request Broker —    Abbreviated ORB. A communications mechanism used in an object oriented distributed computing environment in which program modules can be written in any programming language and still provide services to other applications.    An object makes a …   Dictionary of networking

  • Distributed firewall — A firewall is system or group of system (router, proxy, or gateway) that implements a set of security rules to enforce access control between two networks to protect inside network from outside network. It may be a hardware device or a software… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”