Channel between admin server and instances

Admin channel has been built for notification from iAS SE admin server instance to administered server instance(s). The notification is in the form of a event. For more information on notifications, please see the description of package com.sun.enterprise.admin.event.

The admin channel is built over RMI, where admin server instance acts as a client, whereas all administered server instances act as servers. There are a few exceptions to typical RMI implementations -

All of these exceptions were made for security (and possibly robustness). By avoiding rmiregistry, we are ensuring that no one over the network will be able to access the stub of the server object - the clients will need to have access to filesystem to get the stub. rmiregistry is possibly another process and certainly a new port that needs to be managed and it adds more complexity to the whole picture.

The security checks (same IP address and shared secret) were added to guard against hacking by arbitrary network traffic (in the form of RMI packets). So, not only the packet needs to originate (or seem to) on the same machine but it also needs to contain some application specific data (shared secret, in this case). It is assumed that once you have broken into a OS level login on the system, then you have better ways of breaking the system (like editing server.xml, or killing processes) than trying to use admin channel to cause some trouble.