next up previous contents
Next: An IPC Channel Interface Up: Remote Object Invocation Previous: The Receiver Architecture   Contents

Client Architecture

The client is designed to be very simple. It just compiles the call signature and the parameters into the message buffer. In order to be flexible in choosing the transport layer, a generic endpoint is passed to the object. It represents a reference to a component that comprises all knowledge to perform the data transfer. Here we see a strong argument for an object adapter on the client side. If a client desires to invoke objects not only over various transport layers, but also wants to specify qualities of service such as avoidance of data conversion or security operations, an object adapter becomes necessary. The same client stub can then be used with different object adapters at the same time. The endpoint acts as a handle to an IPC channel. The only requirement for this communication wrapper is a public interface with standardised methods such as those outlined in figure 38. In fact there is not even a need for different interfaces with connection oriented operation or reliable transmission. These features can be implemented in other classes applying, for example, the Acceptor and Connector patterns[Sch97]. Reliable transfer over unreliable channels can be implemented inside the component and should be transparent to the user.


next up previous contents
Next: An IPC Channel Interface Up: Remote Object Invocation Previous: The Receiver Architecture   Contents
Johannes Gutleber
1999-10-29