Arquitectura de Ejecución

La arquitectura de ejecución de MyMobileWeb se ilustra en la figura de abajo.En el lado del dispositivo, cuando una interacción del usuario genera un evento que debe ser tratado en el lado del servidor, se envía una petición HTTP que contiene:

  • El identificador del control visual que ha lanzado el evento.
  • El identificador del evento.
  • Los datos que pueden haber sido introducidos por el usuario.

En el lado del servidor, la petición es inicialmente procesada por un componente controlador, el cual reconoce el dispositivo (si no se ha hecho anteriormente). A continuación, los datos son validados, y si la validación es ok, los datos son almacenados en el contexto. El contexto es un contenedor que almacena los datos del modelo, y esta estructurado jerárquicamente en diferentes ámbitos (aplicación, sesión, caso de uso, vista, etc.).

Hay 2 tipos de eventos enviados desde el dispositivo:

  • Eventos específicos de la aplicación. Estos eventos tienen que ver con la funcionalidad de la aplicación y son tratados por gestores específicos (métodos de clases java bien conocidas) proporcionados por los programadores.
  • Eventos específicos de MyMobileWeb. Estos eventos son comunes a todas las aplicaciones y están relacionadas con las funcionalidades proporcionadas por MyMobileWeb. Estos eventos son manejados automáticamente por MyMobileWeb, así que los desarrolladores de aplicaciones no tienen que preocuparse por ellos. Por ejemplo, un evento de pagina siguiente se lanza cuando un usuario esta paginando sobre los contenidos de una tabla.

Los gestores de eventos específicos de la aplicación deciden como procesar las peticiones entrantes. Por lo general, llamarán a operaciones de aplicación (OAs) para obtener más datos que poner en el modelo y , finalmente, realizarán una redirección a la siguiente vista (identificada por su nombre lógico). En este punto MyMobileWeb se encargará de localizar la página JSP apropiada de acuerdo con el contexto de entrega. Esta página JSP contendrá la presentación y resolverá todos los binding de datos y contenidos con la ayuda de las librerías de runtime. El runtime también resolverá aspectos comunes tales como la paginación de contenidos, selección de las mejores imágenes, llamadas al transcodificador de imágenes, tratar con i18N y así sucesivamente.

Todos las operaciones relacionadas con la gestión de eventos son accesibles a traves de un API proporcionado por el framework MVC.

Tags: