Class stub
Encyclopedia
In the distributed computing
environment, stub stands for client side object participating in the distributed object communication
.
The stub acts as a gateway for client side objects and all outgoing requests to server side objects that are routed through it. The stub wraps client object functionality and by adding the network logic ensures the reliable communication channel between client and server. The stub can be written up manually or generated automatically depending on chosen communication protocol.
stub is responsible for:
Distributed computing
Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...
environment, stub stands for client side object participating in the distributed object communication
Distributed object communication
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 approach on how to...
.
The stub acts as a gateway for client side objects and all outgoing requests to server side objects that are routed through it. The stub wraps client object functionality and by adding the network logic ensures the reliable communication channel between client and server. The stub can be written up manually or generated automatically depending on chosen communication protocol.
stub is responsible for:
- initiating the communication towards the server skeletonClass skeleton-As pattern:A class skeleton is an outline of a class that is used in software engineering. It contains a description of the class's roles, and describes the purposes of the variables and methods, but does not implement them...
- translating calls from the caller object
- marshallingMarshalling (computer science)In computer science, marshalling is the process of transforming the memory representation of an object to a data format suitable for storage or transmission...
of the parameters - informing the skeletonClass skeleton-As pattern:A class skeleton is an outline of a class that is used in software engineering. It contains a description of the class's roles, and describes the purposes of the variables and methods, but does not implement them...
that the call should be invoked - passing arguments to the skeletonClass skeleton-As pattern:A class skeleton is an outline of a class that is used in software engineering. It contains a description of the class's roles, and describes the purposes of the variables and methods, but does not implement them...
over the network - unmarshallingSerializationIn computer science, in the context of data storage and transmission, serialization is the process of converting a data structure or object state into a format that can be stored and "resurrected" later in the same or another computer environment...
of the response from the skeletonClass skeleton-As pattern:A class skeleton is an outline of a class that is used in software engineering. It contains a description of the class's roles, and describes the purposes of the variables and methods, but does not implement them... - informing the skeletonClass skeleton-As pattern:A class skeleton is an outline of a class that is used in software engineering. It contains a description of the class's roles, and describes the purposes of the variables and methods, but does not implement them...
that the call is complete
Protocols using the stub/skeleton approach
- Remote Procedure CallRemote procedure callIn computer science, a remote procedure call is an inter-process communication that allows a computer program to cause a subroutine or procedure to execute in another address space without the programmer explicitly coding the details for this remote interaction...
(RPC) - Common Object Request Broker Architecture (CORBAÇorbaChorba , ciorbă , shurpa , shorpo , or sorpa is one of various kinds of soup or stew found in national cuisines across Middle East...
) - Distributed Computing EnvironmentDistributed Computing EnvironmentThe Distributed Computing Environment is a software system developed in the early 1990s by a consortium that included Apollo Computer , IBM, Digital Equipment Corporation, and others. The DCE supplies a framework and toolkit for developing client/server applications...
(DCE) - Remote Method Invocation (RMI)
- .NET Remoting.NET Remoting.NET Remoting is a Microsoft application programming interface for interprocess communication released in 2002 with the 1.0 version of .NET Framework. It is one in a series of Microsoft technologies that began in 1990 with the first version of Object Linking and Embedding for 16-bit Windows...
- Distributed Component Object ModelDistributed component object modelDistributed Component Object Model is a proprietary Microsoft technology for communication among software components distributed across networked computers. DCOM, which originally was called "Network OLE", extends Microsoft's COM, and provides the communication substrate under Microsoft's COM+...
(DCOM) (note that the stub is called "proxy" and the skeleton is called "stub") - DDObjectsDDObjectsDDObjects is a remoting framework for Borland Delphi and C++ Builder. A main goal while developing DDObjects has not been only to keep the code one has to implement in order to utilize DDObjects as simple as possible but also very close to Delphi's usual style of event-driven programming.DDObjects...
is a framework for distributed objects using Borland Delphi - Distributed RubyDistributed RubyDistributed Ruby or DRb allows Ruby programs to communicate with each other on the same machine or over a network. DRb uses remote method invocation to pass commands and data between processes.- External links :* * *...
(DRb) is a framework for distributed objects using the Ruby programming languageRuby (programming language)Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...