12.1. Vamos a implementar una aplicación de mensajería interna para un grupo de trabajo. La aplicación nos debe permitir enviar mensajes a todos los usuarios y recibir los mensajes que hayan sido enviados por otros usuarios.
Estos mensajes constarán de un asunto y un texto. La aplicación nos debe permitir:
Esta aplicación deberá seguir el patrón MVC. Podemos encontrar
una base para desarrollar la aplicación en el directorio Mensajes
de las plantillas de la sesión. Encontramos ya implementado el controlador
y la vista, y tenemos una plantilla para la fachada del modelo. Deberemos implementar
el resto de clases para el modelo.
Para implementar la aplicación podemos basarnos en la aplicación
Agenda
que vimos como ejemplo en la sesión anterior.
Podemos seguir los siguientes pasos:
a) Podemos reutilizar el adaptador RMS que implementamos en la sesión de almacenamiento persistente para almacenar los mensajes en RMS.
b) Implementar el subsistema local del modelo. Esto nos debe permitir añadir y consultar los mensajes que hayamos creado.
c) Implementar un proxy remoto que nos permita acceder a la función de sincronización del servidor. Deberemos acceder a la siguiente URL:
http://www.jtech.ua.es/ejemplos/servlet/ServletMensajes
En la petición deberemos enviar codificados mediante un DataOutputStream
los siguientes datos:
<long> Timestamp cliente <int> Número de mensajes Para cada mensaje Serializar mensaje
En la respuesta se recibirán los datos con un DataInputStream
,
llegando éstos con el siguiente formato:
<long> Timestamp servidor <int> Numero de mensajes Para cada mensaje Deserializar mensajes
Podemos utilizar la interfaz web existente en la siguiente dirección para crear y consultar mensajes desde el servidor:
http://www.jtech.ua.es/ejemplos/mensajes
De esta forma podremos hacer pruebas creando mensajes en el servidor y sincronizando desde el cliente para recibirlo, o creándolo en el cliente y comprobando si el mensaje se refleja en el servidor tras sincronizar.
d) Incorporar la posibilidad de utilizar modo online de conexión, en el que las conexiones al servidor sean automáticas cada vez que consultamos o añadimos mensajes.