27
ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVAR

ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

ARQUITECTURA DE SISTEMA

GEOPORTAL SIMÓN BOLIVAR

Page 2: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

1.1 Objetivos de la Arquitectura del SistemaLos objetivos marcados al escoger esta arquitectura son los de eficiencia, escalabilidad, confiabilidad y mantenibilidad. Es una arquitectura preparada para crecer si es necesario, que permite separar los servicios en varios servidores y repartir la carga de trabajo, además de ser un práctica extendida e incluso recomendada por el OGC para este tipo de trabajos.

2 Vista Lógica

En esta vista se detallan las partes del modelo de diseño que son significativas arquitectónicamente representando los diagramas que permiten tener una visión de los elementos que conforman el sistema y de la interacción entre ellos.

2.1 Diagrama de PaquetesA continuación se muestra el diagrama de paquetes:

2.2 Paquetes de Diseño significativosEn esta sección se muestra para cada uno de los paquetes representados anteriormente una breve descripción y el nombre de las clases que contiene.

Page 3: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

P-01: OPENLAYERSDescripción: Este es el paquete principal de Openlayers. Contiene todas las

clases necesarias para mostrar mapas e interactuar con ellos sobre un navegador web.

Soporta múltiples protocolos y datos raster utilizando tiles o no y otros tantos formatos vectoriales.

Clases Disponibles: Package OpenLayers

Class Style

Class Ajax

Package BaseTypes

Class BaseTypes

Class Bounds

Class Class

Class Element

Class LonLat

Class Pixel

Class Size

Package Control

Class Control

Class ArgParser

Class Attribution

Class Button

Class DragFeature

Class DragPan

Class DrawFeature

Class EditingToolbar

Class GetFeature

Class KeyBoardDefaults

Class LayerSwitcher

Class Measure

Class ModifyFeature

Page 4: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

P-01: OPENLAYERS

Class MouseDefaults

Class MousePosition

Class MouseToolBar

Class Navigation

Class NavigationHistory

Class NavToolBar

Class OverViewMap

Class Pan

Class Panel

Class PanPanel

Class PanZoom

Class PanZoomBar

Class Permalink

Class Scale

Class ScaleLine

Class SelectFeature

Class Snapping

Class Split

Class WMSGetFeatureInfo

Class ZoomBox

Class ZoomIn

Class ZoomOut

Class ZoomPanel

Class ZoomToMaxExtent

Class ScaleControl

Class Console

Class Events

Package Features

Class Feature

Class Vector

Class WFS

Page 5: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

P-01: OPENLAYERS

Package Filter

Class Filter

Class Comparisson

Class FeatureId

Class Logical

Class Spatial

Package Format

Package Filter

Class Filter

Class v1

Class v1_0_0

Class v1_1_0

Package GML

Class GML

Class Base

Class v2

Class v3

Package SLD

Class SLD

Class v1

Class v1_0_0

Package WMC

Class WMC

Class v1

Class v1_0_0

Class v1_1_0

Package Format

Class ArcXML

Class ArcXML.Features

Class GeoJSON

Class GeoRSS

Page 6: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

P-01: OPENLAYERS

Class GPX

Class JSON

Class KML

Class OSM

Class Text

Class WFS

Class WFSCapabilities

Package WFSCapabilities

Class WFSCapabilities.v1

Class WFSCapabilities_v1_0_0

Class WFSCapabilities_v1_1_0

Class WFSDescribeFeatureType

Package WFST

Class WFST

Class v1

Class v1_0_0

Class v1_1_0

Class WKT

Class WMSCapabilities

Package WMSCapabilities

Class WMSCapabilities.v1

Class WMSCapabilities_v1_0_0

Class WMS_Capabilities_v1_1_0

Class WMSDescribeLayer

Class WMSGetFeatureInfo

Class XML

Class WMSDescribeLayer.v1

Package Geometry

Class Geometry

Class Collection

Class Curve

Page 7: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

P-01: OPENLAYERS

Class LinearRing

Class MultiLineString

Class MultiPoint

Class MultiPolygon

Class Point

Class Polygon

Class Rectangle

Package Handler

Class Handler

Class Box

Class Click

Class Drag

Class Feature

Class Hover

Class Keyboard

Class MouseWheel

Class Path

Class Point

Class Polygon

Class RegularPolygon

Package Lang

Class Lang

Class es

Package Layer

Class Layer

Class ArcGIS93Rest

Class Boxes

Class EventPane

Class FixedZoomLevel

Class GeoRSS

Class GML

Page 8: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

P-01: OPENLAYERS

Class Google

Class Grid

Class HTTPRequest

Class Image

Class KaMap

Class KaMapCache

Class MapGuide

Class Mapserver

Class Mapserver.Untiled

Class Markers

Class MultiMap

Class PointTrack

Class SphericalMercator

Class Text

Class TileCache

Class TMS

Class Vector

Class Vector.RootContainer

Class VirtualEarth

Class WFS

Class WMS

Class WMS.Untiled

Class WorldWin

Class Yahoo

Class ArcIMS

Class XYZ

Class Icon

Class Map

Package Marker

Class Marker

Class Box

Page 9: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

P-01: OPENLAYERS

Package Popup

Class Popup

Class Anchored

Class AnchoredBubble

Class Framed

Class FramedCloud

Class Projection

Class Rule

Package Protocol

Class Protocol

Class HTTP

Package SQL

Class SQL

Class Gears

Package WFS

Class WFS

Class v1

Class v1_0_0

Class v1_1_0

Package Renderer

Class Renderer

Class Canvas

Class Elements

Class SVG

Class VML

Package Request

Class Request

Class XMLHttpRequest

Package Strategy

Class Strategy

Class BBOX

Page 10: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

P-01: OPENLAYERS

Class Cluster

Class Fixed

Class Paging

Class Save

Package Tile

Class Tile

Class Image

Class WFS

Class StyleMap

Class Tween

Class Util

P-02: MAPFISH

Descripción:Paquete principal de Mapfish. Permite la integración de Ext.js y Openlayers y ofrece los principales widgets de la aplicación como la barra de herramientas y el árbol de capas.

Clases Disponibles: Package core

Class PrintProtocol

Class Offline

Class Color

Class Util

Class Protocol

Class ProtocolListener

Package widgets

Class Form

Class MapComponent

Class Shorcuts

Package LayerTree

Class LayerTree

Class LayerTreeExtra

Page 11: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

P-02: MAPFISH

Package Toolbar

Class Toolbar

Class CheckItem

Class MenuItem

P-03: PROJ4JS

Descripción:Paquete principal del proyecto Proj4JS. Permite realizar conversión de coordenadas entre sistemas de referencia.

Clases Disponibles:Class Proj

Class EPSG:4189

P-04: EXTJS

Descripción:ExtJS es la librería javascript que nos permite crear ventanas, menús, botones, etc, y a la vez abstraernos de los problemas de tratar con distintos tipos de navegadores.

Clases Disponibles:

Package chart

Package data

Package dd

Package direct

Package form

Package grid

Package layout

Package menu

Package state

Package tree

Package util

Class Layout

Class Toolbar

Class Button

Page 12: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

P-05: PRODE-CORE

Descripción: Paquete con utilidades generales de JavaScript

Clases Disponibles: Class Util

P-06: PRODE-MAPS

Descripción:Paquete principal del proyecto Proj4JS. Permite realizar conversión de coordenadas entre sistemas de referencia.

Clases Disponibles:

Class ScaleControl

Class Class1

Package util

Package ui

Class MapFoundation

Class MapConfig

Class Resources

Class Login

Class Util

Class InfoByPoint

Class Wms

Class Wmc

Class CatalogSearch

Class XmlParse

Class Session

Page 13: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

2.3 Diagrama de clases agrupado por paquetes

Openlayers

Page 14: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

Mapfish

Proj4JS

Page 15: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

ExtJS

Prode-core

Page 16: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

Prode-maps

Page 17: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

2.4 Realización de los Casos de Uso. Diagramas de SecuenciaA continuación se ilustra el cómo funciona la aplicación, a través de los Diagramas de Secuencia de los casos de uso más importantes del sistema.

Caso de uso navegación

Page 18: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

Caso de uso Medidas

Page 19: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

Caso de uso Búsqueda

Page 20: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

Caso de uso Sesión

Page 21: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

3 Vista de Implementación La vista de implementación muestra el empaquetado físico de las partes reutilizables del sistema en unidades sustituibles, llamadas componentes. Una vista de implementación muestra los elementos físicos del sistema mediante componentes, así como sus interfases y dependencias entre componentes. Los componentes son piezas reutilizables de alto nivel a partir de las cuales se pueden construir los sistemas.

3.1.1 Diagrama de Componentes del SistemaEl diagrama de componentes describe la descomposición física del sistema en componentes, a efectos de construcción y funcionamiento. La descomposición del diagrama de componentes se realiza en términos de componentes y de relaciones entre los mismos. Los componentes identifican objetos físicos que hay en tiempos de ejecución, de compilación o de desarrollo, y tienen identidad propia y una interfaz bien definida. Cada componente incorpora la implementación de ciertas clases del diseño del sistema.En un diagrama de componentes se muestran las diferentes relaciones de dependencia que se pueden establecer entre componentes. Los componentes bien diseñados no dependen de otros componentes sino de las interfases que ofrecen los componentes. En ese caso, un componente en un sistema puede ser sustituido por otro componente que ofrezca las interfases apropiadas.

Los componentes principales del sistema son:– Capa de presentación: Geoportal + gvSIG (o cualquier otro cliente IDE)– Capa de negocio: Servicios OGC (MapServer, Geonetwork, GeoServer, TileCache) + MapFish server– Capa de recursos: PostgreSQL+PostGIS + ficheros RASTER

A continuación se muestra el Diagrama de Componentes:

Page 22: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

Diagrama de Componentes:

Entrando más en detalle en los componentes del geoportal, tenemos que éste esta formado por los elementos que se muestran en la siguiente figura:

Page 23: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

4 Vista de Despliegue

La vista de despliegue muestra la disposición física de los recursos de ejecución computacionales, tales como computadores y sus interconexiones.La vista de despliegue puede mostrar cuellos de botella para el rendimiento si las instancias de los componentes con dependencia se ponen en distintos nodos.A continuación se detalla el despliegue realizado en el entorno de producción del CNTI. En concreto veremos qué artefactos están involucrados en el despliegue, sus comunicaciones y los entornos de ejecución en los que se ejecutan.

Page 24: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

4.1 Artefactos y entorno de ejecución

Disponemos de un nodo físico con arquitectura de 64 bits en el que está instalado el sistema operativo Debian. Además, tenemos el entorno de la máquina virtual de Java que será la responsable de ejecutar el contenedor de Servlets Tomcat. En dicho contenedor se desplegarán las aplicaciones web Geoserver-1.5.4 y Geonetwork-2.2.0. Por otra parte, está el servidor web Apache el cual ejecutará el CGI de Mapserver y la aplicación Python TileCache. Para finalizar esta descripción general, tenemos el gestor de base de datos PostgreSQL con el módulo PostGIS que le permitirá trabajar con entidades geográficas. Entrando más en detalle en cada uno de los artefactos, podemos mencionar que tanto Geoserver como Mapserver obtienen sus fuentes de datos de PostGIS, Geonetwork almacena su configuración en PostgreSQL y que TileCache consigue las teselas realizando peticiones web al servicio WMS que ofrece Mapserver.

Page 25: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

4.2 Comunicaciones Desde la perspectiva de comunicaciones entre nodos virtuales, el despliegue físico anterior se podría representar en el siguiente modelo conceptual donde agrupamos los distintos artefactos en nodos virtuales que se comunican a través de protocolos de red. Por una parte el cliente del Geoportal únicamente se comunicará con el sistema a través del puerto 80 y el protocolo HTTP. En cuanto a los artefactos desplegados en el servidor, podríamos dividirlos en tres nodos (ya sean físicos o lógicos), el servidor web , el contenedor de servlets y la base de datos. En concreto, el servidor web (con Mapserver, TileCache y Apache) se comunicaría con la base de datos a través del puerto 5432 y el protocolo de comunicación de postgres. A su vez, el servidor web, se comunicaría con el contenedor de servlets, para ejecutar sus aplicaciones web, a través del puerto 8009 y el protocolo AJP-1.3. Finalmente, puesto que las aplicaciones del contenedor necesitan acceder a la base de datos, se comunicarían con ésta a través del protocolo de postgres mencionado anteriormente.

Page 26: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

5 Modelo de Datos

El Modelo de datos es aquel que describe de forma abstracta cómo se representan los datos de un sistema. Un modelo de datos consiste en: entidades, atributos y sus relaciones.

5.1 Modelo Entidad-Relación de las Bases de Datos

El modelado de datos es realizado a través de un modelo entidad-relación. Estos modelos permiten expresar entidades relevantes para un sistema de información, sus inter-relaciones y propiedades.

En nuestro caso, vamos a dividir los datos en datos vectoriales y datos raster. Los datos vectoriales están contenidos en una base de datos PostgreSQL+ la extensión PostGIS para trabajar con los datos alfanuméricos + espaciales.

A continuación se muestra el Modelo Entidad – Relación con las capas vectoriales. Los campos the_geom contienen la información espacial (líneas, puntos, polígonos). El campo gid es la clave principal.

Esquema carto

Page 27: ARQUITECTURA DE SISTEMA GEOPORTAL SIMÓN BOLIVARcolabora.softwarelibre.gob.ve/home/ideven/Document... · Es una arquitectura preparada para crecer si es necesario, que permite separar

NOTA: Existe otro esquema (geonetwork) que lo crea la instalación de GeoNetwork, y que creemos que no hace falta documentar aquí. Si se desea más información, el lector puede consultar la documentación de GeoNetwork.

Además de las capas vectoriales, se ha utilizado la siguiente capa raster:

/DIRECTORIO_RASTER/imagen_base.tiff (GeoTiff con una imagen BlueMarble de baja resolución)

En el localizador, se ha utilizado la siguiente imagen:

DIRECTORIO_RASTER/mapa_base_geoportal.tiff