Content deleted Content added
m Reverted edits by 182.68.49.103 (talk) to last version by 62.25.106.209 |
m Removing link(s) Wikipedia:Articles for deletion/Distributed Ruby closed as delete (XFDcloser) |
||
(46 intermediate revisions by 36 users not shown) | |||
Line 1:
{{Short description|Concept in distributed computing}}
[[File:Distributed object communication.png|thumb|Image describes communication between distributed objects residing in different machines.]]
Distributed objects were popular in the late 1990s and early 2000s, but have since fallen out of favor.<ref>[http://martinfowler.com/articles/distributed-objects-microservices.html Microservices and the First Law of Distributed Objects], Martin Fowler, 13 August 2014</ref>
The term may also generally refer to one of the extensions of the basic [[object (computer science)|object]] concept used in the context of distributed computing, such as ''replicated objects'' or ''live distributed objects''.
* ''[[replication (computer science)|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.
* ''[[
See also [[Internet protocol suite]].
== Local vs.
Local and distributed objects differ in many respects.<ref>W. Emmerich (2000) Engineering distributed objects, John Wiley & Sons Ltd.</ref><ref>Samuel C. Kendall, [[Jim Waldo]], Ann Wollrath, and Geoff Wyant. 1994. A Note on Distributed Computing. Technical Report. Sun Microsystems, Inc., Mountain View, CA, USA.</ref> 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
Line 17 ⟶ 20:
# 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.
== Examples ==
The RPC facilities of the cross platform serialization protocol, [[Cap'n Proto]] amount to a distributed object protocol. Distributed object method calls can be executed (chained, in a single network request, if needs be) through interface references/[[Capability-based security|capabilities]].<ref>{{Cite web|url=https://kentonv.github.io/capnproto/rpc.html|title = Cap'n Proto: RPC Protocol}}</ref>
Distributed objects are implemented in [[Objective-C]] using the [[Cocoa (API)|Cocoa API]] with the NSConnection class and supporting objects.
Line 28 ⟶ 33:
[[CORBA]] lets one build distributed mixed object systems.
[[Distributed Component Object Model|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 (
[[PYthon Remote Objects|Pyro]] is a framework for distributed objects using the [[Python (programming language)|Python programming language]].
==See also==
*[[Fragmented object]]
*[[Distributed object communication]]
*[[Object request broker]]
==References==
Line 44 ⟶ 54:
[[Category:Distributed computing architecture]]
|