Download Ejemplo de Arquitectura

Document related concepts
no text concepts found
Transcript
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
Documento de Arquitectura de Software
1. Introducción
1.1 Propósito
Este documento proporciona una vista general de la arquitectura del sistema,
usando determinadas vistas de arquitectura para describir diferentes aspectos
del Geoportal de la IDECAN. Se pretende capturar y transmitir las decisiones
arquitecturales importantes que se han tomado en el desarrollo del proyecto.
1.2 Alcance
El alcance de este documento será enfocado en varias vistas: vista abstracta de
alto nivel, vista lógica, vista de despliegue y vista de implementación; todas ellas
de la aplicación Visor de Mapas del Geoportal de la IDECAN, ya que la
definición de la arquitectura del Geoportal de la IDECAN como tal requiere otra
especificación de arquitectura (arquitectura de un portal web); esta será definida
en una versión posterior del documento.
1.3 Definiciones, Acrónimos, y Abreviaturas
Ver el Glosario del Geoportal de la IDECAN.
1.4 Referencias
Casos de uso, diagramas de paquetes, diagrama de clases, diagrama de
despliegue, diagrama de componentes.
2. Objetivos y Restricciones de Arquitectura
El Visor de Mapas del Geoportal de la IDECAN es desarrollado en Java,
Javascript y HTML, como proyecto open source. Gracias al uso de Java, se hace
un gran uso de otros proyectos open source, lo que permite enfocarse en las
funcionalidades primarias sin involucrarse en problemas que han sido ya
solucionados. Java también proporciona medios simples de distribución.
3. Vista Abstracta de Alto Nivel
En esta parte se determina una visión abstracta de alto nivel, donde se muestra
la organización fundamental del Visor de Mapas del Geoportal de la IDECAN, en
conjunto con los Servicios Web Geográficos desarrollados para la IDECAN;
dentro de ella se encuentran los componentes de almacenamiento de datos, los
servicios web geográficos usados, el modelo de datos y los protocolos bajo los
cuales el sistema se soporta.
IGAC-Entidad
Diseño de Arquitectura
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
Arquitectura de Alto Nivel
4. Vista Lógica
Descripción de la Vista Lógica
Vemos claramente que, según lo descrito en este y otros documentos, la
aplicación del Visor de Mapas es muy cercana al patrón de arquitectura MVC
(Modelo Vista – Controlador), combinado con el patrón DAO (Data Access
Object) para la configuración del acceso a datos. Esto debido al carácter web de
la aplicación.
Los Servicios Web Geográficos son resultado de información consumida de la
Base de Datos. La interfaz es producida por componentes Java y HTML.
Según esto, el modelo de la aplicación se definirá de la siguiente forma:
Modelo: Configuración de la Base de Datos de acuerdo al Modelo de Datos
propuesto (ver documento Modelo de Datos y casos de uso sobre Configuración
de la Base de Datos).
IGAC-Entidad
Diseño de Arquitectura
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
Vista: Interfaz de usuario en Javascript y HTML del Visor de Mapas.
Controlador: Servicios Web Geográficos.
Esto nos lleva al siguiente diagrama que explica mejor la interrelación de estos
componentes:
Vista Lógica – Patrones de Arquitectura
Nota: Las líneas sólidas indican una asociación directa y las punteadas una indirecta.
IGAC-Entidad
Diseño de Arquitectura
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
La aplicación entonces se podría dividir arquitecturalmente en los siguientes paquetes:
Diagrama de Paquetes
A continuación se describe de modo general los paquetes globales. Los demás
paquetes pueden ser revisados en detalle en el modelo de casos de uso.
1. Consultas: Contiene la información de configuración de la Base de Datos en
PostgreSQL, y los datos como tal. Utiliza Un conector PostGIS JDBC para
permitir acceso a los datos. Será el repositorio utilizado por los archivos .xsd,
que serán la fuente de información que consumirá el servicio WFS.
2. Servicios Web Geográficos: Contiene la configuración de los servicios web
geográficos. La información de cada capa geográfica es mapeada de la base de
datos en los archivos .xsd y referenciada en el archivo wfs_configuration.xml, lo
que permitirá consumir el servicio WFS, que no tiene resultados gráficos. Una
réplica de este archivo llamada LOCALWFS_capabilities.xml es referenciada en
el archivo wms_configuration.xml, junto con el archivo de simbología de las
capas geográficas, lo que permitirá consumir el servicio WMS, cuyo resultado es
una imagen.
3. Visor de Mapas: Contiene de manera general la configuración del Visor de
Mapas. El Visor consume los servicios web geográficos mediante una referencia
del servidor de información, hecha en el archivo ArchivoDeContexto.xml. Este
archivo hace referencia además a los componentes de la Interfaz Gráfica de
Usuario y a las funcionalidades hechas en JavaScript 1.2., respaldado por Java.
IGAC-Entidad
Diseño de Arquitectura
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
5. Vista de Despliegue
La aplicación utiliza una base de datos PostgreSQL. El servicio web geográfico
WFS consume información directamente de esta base de datos, información que
es consumida por el servicio web geográfico WMS. En la Interfaz de Usuario se
encuentran el Visor de Mapas, que se encuentra embebido dentro del Geoportal
de la IDECAN. El Visor de Mapas puede soportar servicios WMS externos, a
través del protocolo HTTP. Las aplicaciones de Interfaz de Usuario y de
Servicios Web Geográficos se encuentran dentro de un Contenedor JSP +
Servlets Apache Tomcat 6.0. Así mismo, por medio de un servidor Apache 2.2
se manejan todas las peticiones HTTP estáticas de las aplicaciones web. La
aplicación utliza Java JSDK 5, y se ejecutará en cualquier sistema con Máquina
Virtual de Java 1.5.0_10 o superior.
IGAC-Entidad
Diseño de Arquitectura
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
Diagrama de Despliegue
IGAC-Entidad
Diseño de Arquitectura
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
6. Vista de Implementación
Se presenta entonces una vista más detallada de la implementación de los paquetes
mencionados:
1. Consultas: Se ha mencionado que los archivos XSD se encargan de mapear la
información de la base de datos (no mostrada en el diagrama por no ser una
clase). Estos archivos son usados por el servicio WFS, el cual es referenciado
por el servicio WMS.
2. Servicios Web Geográficos: Esta es la configuración de los servicios web
geográficos. El servicio WMS genera una lista de capas geográficas, que serán
desplegadas en el Visor de Mapas. A su vez, genera tres clases más:
WMSBroker, que conecta el servicio con la capa geográfica, WMSExterno,
añadido mediante el Visor, y WMSPropio, por defecto en el Visor de Mapas.
También, como se ha mencionado, se tiene asociado un estilo por capa.
IGAC-Entidad
Diseño de Arquitectura
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
3. Visor de Mapas: Establece clases propias del visor, como el mapa generado a
partir de los servicios, las capas cargadas por defecto o por los servicios WMS
externos, los estilos asociados y los metadatos asociados.
4.
IGAC-Entidad
Diseño de Arquitectura
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
7. Tamaño y Desempeño
Las siguientes son las suposiciones relacionadas al desempeño de la aplicación
en cuestión.
 Se presume que los archivos js, jsp o html tendrán un límite aproximado
de hasta 1 MB en tamaño. Esto convierte al Visor de Mapas en una
aplicación web ligera.
 El tamaño descrito anteriormente no incluye el tamaño de la JVM, ni el
empleado por el despliegue de la aplicación en el contenedor de servlets
Apache Tomcat.
 La aplicación es soportada en un procesador x86 de 500MHz o superior.
8. Calidad
Esta aplicación es bastante fiable, aunque puede llegar a un punto crítico si
existe una sobrecarga de peticiones a los servicios web geográficos. Si esto
sucede puede que la aplicación no trabaje como se esperaba. No tiene
requerimientos de seguridad ya que depende de las características de seguridad
del sistema operativo y de la base de datos.
IGAC-Entidad
Diseño de Arquitectura