Chapter 5 Flashcards
CORBA?
It is the framework solution for developing and deploying distributed and heterogeneous systems.
Different kinds of communication infrastructure that can be used in distributed systems are?
- Remote procedure call (RPC)
- Remote method invocation (RMI) on an object reference
- Synchronous and asynchronous messages
- Streaming of information over a channel
In RMI Framework, how do you perform registration for a service?
The framework has to provide a mechanism for registering a remote reference under a name. In CORBA, the registration mechanism is provided by the naming service of the so called object request broker.
Explain Remote Method Invocation communication type
RMI allows calling of methods references of objects outside the local process. RMI directly supports the notion of Service.
It is more general than remote procedure calls because the caller does not have to know where the receiver object is.
What is a Servant in RMI?
It is a remote object that provides a service with a name “aService” which the server process has registered at the Registry.
What mechanism does Remote Method Invocation need to perform service registration
The RMI framework need to provide the mechanism for registering a remote reference under a name.
How is registration mechanism for a service handled in COBRA?
The registration mechanism is provided by the naming service of the Object Request Broker.
What is Skeleton in RMI?
It represents the servant on the server side.
How does the client use remote object or service in RMI?
It looks up the corresponding object reference under a name at the registry.
The client object talks to the lookup mechanism of the RMI framework in its own process and receives a process local reference called Stub.
What is Stub in RMI?
It represents the remote object within the client process. It provides the same methods as the public interface of the servant.
What is Marshalling?
It is the transforming of arguments into a process-independent representation.
NOTE:
To transfer arguments between stub and skeleton, objects and values have to be handled in a process independent form.
What is Unmarshalling?
It is the reverse transformation.
How does arguments transfer work between the stub from the client and the skeleton on the server side?
In RMI, the stub marshals the arguments and transfer them to the skeleton. The skeleton unmarshalls the parameters, call the method on the servant, accepts the result, marshals the result an sends it back to the stub. The stub finally returns the unmarshalled result to the client object.
What is the similarities between the service registration in OSGi and RMI?
The client components do not need to know the components providing the service.
What are the implications of having the registration and lookup mechanism distributed in several processes in RMI?
They include
1. Handling of remote references
2. Passing of parameters and results
3. Method binding and type checking
4. Managing program code
5. Handling of errors.