BOTH CLIENTS AND SERVICES NEED TO FIND lookup services. Both can do this using low-level core classes, or discovery utilities such as LookupDiscoveryManager . Once a lookup service is found, a service just needs to register with it and try to keep the lease alive for as long as it wants to. A service can make use of the JoinManager class for this.
The ServiceDiscoveryManager class performs client-side functions similar to that of JoinManager for services, and simplifies the task of finding services. The ServiceDiscoveryManager class is only available in Jini 1.1.