Wiki

Clone wiki

Publianuncios - TecSysWeb / Architecture&Design

Arquitectura de la aplicación

De acuerdo con los principios de diseño de software y de la Ingeniería del Software, cuando el servidor recibe una request correcta debe encaminar su resolución hacia el subsistema de dominio del servidor.

Cuando el dominio la compute, se devolverá la response correspondiente hacia el user agent desde el mismo recurso que recibió la request. De este modo los recursos actuarán como intermediarios entre el user agent y la lógica de negocio del sistema servidor.

Nuestra aplicación tiene dos subsistemas diferenciados:

  • Gestión de usuarios (registro, registro mediante Google+, identificación).

  • Gestión de anuncios (añadir anuncio, subir fotos y vídeos).

Para implementar las funcionalidades crearemos y publicaremos un recurso en el servidor que en un entorno J2EE será una página JSP o una acción de Struts2. Será una página JSP si las tareas a realizar son triviales, como cargar provincias, cargar anuncios, búsquedas...Y serán acciones de Struts2 cuando necesitemos interaccionar con el dominio de la aplicación.

El recurso, tras realizar algún tipo de validación de la información recibida (de parámetros, de cookies, de la sesión…), reencamina la petición hacia el objeto de dominio que corresponda.

Este reencaminamiento se realizará a través de una clase singleton que hará el papel de fachada de acceso al dominio, en nuestro caso Gestor.java. El Gestor no es más que un mero intermediario entre cualquiera de los recursos y todo el dominio, por tanto le pide al objeto de dominio que corresponda que ejecute la operación. Esos objetos de dominio son, en nuestra aplicación, Usuario y Anuncio. Éstas clases conectarán a la BBDD mediante las clases auxiliares DAOUsuario y DAOAnuncio (clases de tipo Data Access Object, que gestionan la persistencia de otras clases).

El siguiente diagrama muestra, sin entrar en detalles, la arquitectura completa de la aplicación:

Diagrama.png

Si nos centramos en las acciones, éste será su diagrama:

diagramaAcciones.png

Por tanto, el diagrama de la parte de dominio de la aplicación quedará de la siguiente manera:

DiagramaDominio.png

Volver al índice

Updated