Class stub: Difference between revisions
Appearance
Content deleted Content added
Disambiguated: marshalling → marshalling (computer science) |
Added missing articles. |
||
Line 1: | Line 1: | ||
In the [[distributed computing]] environment, '''stub''' stands for client side object participating in the [[distributed object communication]]. |
In the [[distributed computing]] environment, '''stub''' stands for a client side object participating in the [[distributed object communication]]. |
||
[[Image:Distributed object communication.png|thumb|Role of the stub in the distributed object communication.]] |
[[Image:Distributed object communication.png|thumb|Role of the stub in the distributed object communication.]] |
||
Line 5: | Line 5: | ||
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. |
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: |
The stub is responsible for: |
||
* initiating the communication towards the server [[Class skeleton|skeleton]] |
* initiating the communication towards the server [[Class skeleton|skeleton]] |
||
* translating calls from the caller object |
* translating calls from the caller object |
Revision as of 12:40, 17 February 2012
In the distributed computing environment, stub stands for a 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.
The stub is responsible for:
- initiating the communication towards the server skeleton
- translating calls from the caller object
- marshalling of the parameters
- informing the skeleton that the call should be invoked
- passing arguments to the skeleton over the network
- unmarshalling of the response from the skeleton
- informing the skeleton that the call is complete
Protocols using the stub/skeleton approach
- Remote Procedure Call (RPC)
- Common Object Request Broker Architecture (CORBA)
- Distributed Computing Environment (DCE)
- Remote Method Invocation (RMI)
- .NET Remoting
- Distributed Component Object Model (DCOM) (note that the stub is called "proxy" and the skeleton is called "stub"[1])
- DDObjects is a framework for distributed objects using Borland Delphi
- Distributed Ruby (DRb) is a framework for distributed objects using the Ruby programming language
References
- Druschel, Peter "Distributed Program Construction"
- Farley, Jim. "Java Distributed Computing", O'Reilly, January, 1998.
- "Research Papers", Distributed Systems Research Group, Charles University Prague