Distributed object: Difference between revisions

Content deleted Content added
Refining the merge template based on the proposal
m Removing link(s) Wikipedia:Articles for deletion/Distributed Ruby closed as delete (XFDcloser)
 
(6 intermediate revisions by 6 users not shown)
Line 1:
{{Short description|Concept in distributed computing}}
{{merge|Object request broker|target=Distributed object communication|discuss=Talk:Distributed_object_communication#Merger proposal|date=October 2017}}
 
[[File:Distributed object communication.png|thumb|Image describes communication between distributed objects residing in different machines.]]
 
Line 9 ⟶ 8:
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.
* ''[[Live distributed object]]s'' (or simply ''[[live distributed object|live objects]]'')<ref>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.</ref> 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 a distinct identity, and that can encapsulate distributed state and behavior.
 
See also [[Internet protocol suite]].
 
== Local vs. Distributeddistributed Objectsobjects ==
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
Line 26 ⟶ 25:
== 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 44 ⟶ 43:
[[PYthon Remote Objects|Pyro]] is a framework for distributed objects using the [[Python (programming language)|Python programming language]].
 
[[Distributed Ruby]] (DRb) is a framework for distributed objects using the [[Ruby programming language]].
 
==See also==
*[[Fragmented object]]
*[[Distributed object communication]]
*[[Object request broker]]
 
==References==