O suporte à desconexão e a replicação são técnicas já bem conhecidas para aumentar a disponibilidade e a fiabilidade dos sistemas distribuídos.
No entanto, até à data a prática comum tem sido a concretização destas ideias para casos pontuais, ou seja, cada programador implementa algoritmos deste tipo à sua maneira e de acordo com as características da aplicação em causa.
Nesta dissertação são apresentados uma metodologia para dotar uma aplicação já existente, desenvolvida segundo o modelo Cliente-Servidor, de suporte à desconexão e um mecanismo para replicação de servidores.
O suporte à desconexão é conseguido com a introdução de um agente entre o cliente e o servidor.
O agente é obtido por um tradutor que processa a especificação da interface anotada com primitivas de desconexão.
Estas primitivas constituem uma extensão à linguagem de especificação de interfaces.
A replicação de servidores é obtida com a intercepção dos pedidos (invocações remotas) dos clientes e seu posterior reenvio através de um serviço de comunicação em grupo.
O resultado deste trabalho é portanto o modelo Cliente-Agente-Servidores, para aplicação genérica a soluções desenvolvidas sem preocupações notórias no que respeita à disponibilidade e fiabilidade.