next up previous contents
Next: Configuration Options Up: RMI Communication Service Previous: The RMI Registry   Contents

Structure and exported Objects

Figure: RMI Communication Service
11#11

The main difference between the general communication structure and the RMI communication structure is the missing output proxy. As you can see in Figure [*], the other parts are very similar with the exception that the RMI specific interfaces and proxies are used. But these interfaces differ just of the name from the original interfaces, the methods are the same. The output proxy is not used because of the possibility of RMI to call remote objects directly without having to use a special proxy object (well it uses the stub - impl mechanism, but this is transparent for the programmer).

There are two objects exported to the RMI registry, the RMICommProxy implementing the RMICommIFace and the RMIMAFFinderServiceProxy implementing the MAFFinderIFace. The RMIMAFFinderServiceProxy (if in WRAPPER - mode) is exported to let other Agent System access the local MAFFinder, the RMICommProxy is exported to the registry to let other RMICommServices call their methods on this object remotely.

RMI objects are accessed through a name given to the RMI registry when the object is exported. The names have to be unique on the machine running the registry. TAgents uses the following naming conventions: The MAFFinder wrapper (RMIMAFFinderServiceProxy in wrapper mode) is named ``MAFFinder'' and the RMICommProxy is named like the ID of the Agent System which means in the form <ip-address>''/''AgentSystemID is used.


next up previous contents
Next: Configuration Options Up: RMI Communication Service Previous: The RMI Registry   Contents
Thomas Letsch 2001-02-21