Download Visualizar/Abrir

Transcript
5.2 Mobile Chat
5.2.2
91
Aspectos de Implementação - Mobile Chat
Existem dois elementos principais que compõem o Mobile Chat: o cliente e o
servidor. Com a aplicação cliente o usuário poderá interagir com os outros usuários
através de mensagens, além de obter informações sobre os servidores e sobre os usuários
através de comandos. O Mobile Chat apresenta três tipos de servidores:
• ChatServer: fornece as funcionalidades básicas do servidor.
• MainServer: é uma extensão do ChatServer, trata-se do servidor principal.
• ClientServer: também é uma extensão do ChatServer, porém trata-se do servidor
responsável pelo cliente. A abstração de agentes móveis provida pela API µCode
exige que cada nó da rede possua um servidor através do qual serão enviados e recebidos os agentes móveis. Deste modo, os clientes também devem possuir servidores
que no caso são instâncias da classe ClientServer.
Vale ressaltar que os três tipos de servidores apresentados são extensões do servidor MuServer, oferecido pela µCode, que possibilita a relocação de código através dos
nós da rede fornecendo o ambiente que dá suporte à mobilidade de código e tornando
assim possı́vel a implementação deste aplicativo.
O Mobile Chat é composto por quatro pacotes (Figura 5.19): agents, chat,
client e server.
O pacote agents possui todos os agentes móveis necessários para a realização
de troca de mensagens, conexão e desconexão de um cliente, impressão da tabela de
roteamento, migração do servidor através de uma requisiçao(comando /getserver) ou de
uma restauração(comando /restore), informação atualizada da localização do servidor
e a troca de apelidos (Figura 5.20). Vale ressaltar que o pacote agents é composto por
treze agentes móveis responsáveis pelos serviços citados.
O pacote chat, Figura 5.21, contém todas as classes que mantém a sessão de
chat com relação as informações do usuário, da tabela de roteamento, e das constantes
utilizadas no chat(conectado, não conectado, adicionar ou excluir apelido).
O pacote client, ilustrado pela Figura 5.22, possui classes que tratam das informações do cliente; e o pacote server, Figura 5.23, é composto pelo servidor principal