Usando objetos distribuídos

Do ponto de vista de quem oferece o serviço, é preciso habilitar o objeto para que seus métodos possam ser invocados remotamente. Isto é realizado através das seguintes atividades:

Descrever o serviço
Na arquitetura de objetos, a descrição ou especificação de serviços é determinada através das interfaces. Em Java, isto é realizado através da especificação oferecida por uma interface.
Implementar o serviço
Isto é realizado através do desenvolvimento de uma classe Java que implemente a interface especificada.
Anunciar o serviço
Quando um objeto que implementa o serviço torna-se ativo, é preciso que ele seja registrado em um "diretório de serviços" de forma que potenciais clientes possam localizá-lo.

Sob o ponto de vista do objeto cliente, que vai usar o serviço do objeto remoto, é preciso:

Localizar o serviço
Isto é feito acessando o registro de serviços. Portanto, é necessário que servidores e clientes estejam de acordo com o local (a máquina) onde o registro é realizado. Como resultado dessa tarefa, obtém-se uma referência ao objeto remoto que pode ser utilizada como se fosse uma referência para o objeto local.

A utilização desse mecanismo de localizar o serviço através de um diretório ou registro permite que as máquinas clientes ignorem totalmente em que máquinas os serviços solicitados estão operando -- uma facilidade conhecida como transparência de localização.