ATP é o protocolo de transferência de agentes. É um protocolo de aplicação simples que permite transferir agentes de modo independente do sistema.
Quando um aglet invoca o método dispatch, passa como argumento um URL que utiliza ATP como protocolo:
this.dispatch(new URL("atp://algum.host/algum.lugar"));
Como resultado dessa invocação, o aglet "desaparece" da máquina onde está executando no momento e reaparece na máquina especificada, retomando a execução na máquina virtual Java correspondente ao contexto (ou lugar) especificado.
Por trás dessa transferência está o protocolo ATP. Uma requisição ATP consiste de uma linha de requisição (request), campos de cabeçalho e um conteúdo. A linha request especifica o método de requisição; quatro métodos são definidos em ATP:
Na especificação do URL para ATP, a porta assumida como default é a 434, reservada para agentes móveis. Em sistemas que restrigem o acesso a portas notáveis apenas para o sistema operacional e super-usuário, a porta sugerida (que deve ser explicitada na especificação do URL) é a número 10434.
© Ivan L. M. Ricarte
DCA/FEEC/UNICAMP