INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI S E D E C E N T R A L Centro de Investigación y Desarrollo en Información Geográfica - Oficina CIAF Infraestructura Colombiana de Datos Espaciales - ICDE Grupo Geoportales y Geoservicios Geoportal de la IDECAN Especificación de Casos de Uso: Configurar Servicios Web Geográficos Versión 1.0 Geoportal IDECAN Especificacion de Casos de Uso: Configurar Servicios Web Geograficos Versión: <1.0> Fecha: <10/04/08> Historial de Revisiones Fecha 10/Abr/2008 Versión 1.0 Descripción Creación del Documento <IGAC – CIAF – ICDE> Autor Luis Fernando Ortiz Reyes 2 Geoportal IDECAN Especificacion de Casos de Uso: Configurar Servicios Web Geograficos Versión: <1.0> Fecha: <10/04/08> Tabla de Contenido 1. 2. 3. 4. 5. 6. Nombre del Caso de Uso 4 1.1 4 Descripción Breve Flujo de Eventos 4 2.1 2.2 4 8 8 Flujo Básico Flujos Alternativos 2.2.1 Errores de configuración en el archivo web.xml 2.2.2 Errores de configuración en archivos xsd, wfs_configuration.xml, wms_configuration.xml y styles.xml 10 Requerimientos especiales 10 3.1 3.2 3.3 10 10 11 Tiempo de Respuesta Requerimientos de Consulta Estándar en los servicios web Precondiciones 11 4.1 11 Existencia de las Plantillas de deegree para servicios web WFS y WMS Postcondiciones 11 5.1 5.2 11 11 Acceso a servicios web geográficos Mensajes de Confirmación Puntos de Extensión 11 6.1 6.2 11 12 Configurar Servicio WFS Configurar Servicio WMS <IGAC – CIAF – ICDE> 3 Geoportal IDECAN Especificacion de Casos de Uso: Configurar Servicios Web Geograficos Versión: <1.0> Fecha: <10/04/08> Especificación de Casos de Uso: Configurar Servicios Web Geográficos 1. Nombre del Caso de Uso 1.1 Descripción Breve El Administrador desea configurar los servicios web geográficos Web Feature Service y Web Map Service que ofrecerá el Geportal de la IDECAN, basado en las plantillas respectivas del framework deegree, que se han desplegado previamente en el contenedor de servlets Tomcat. Dichos servicios están basados en la especificación OGC WFS Implementation Specification versión 1.1.0, y OGC WMS Implementation Specification versión 1.1.1, respectivamente. La siguiente es la estructura general de los servicios web geográficos: 2. Flujo de Eventos 2.1 Flujo Básico 1. Uno de los roles (puede ser un Desarrollador) descarga las plantillas de deegree de su sitio web, en los vínculos mencionados en los casos de uso específicos de configuración de cada servicio web geográfico. 2. El Desarrollador debe colocar estas plantillas (archivos deegree-wfs.war y deegree-wms.war) en el contenedor de servlets Tomcat, dentro de la carpeta webapps, ubicada en la ruta: Directorio de Instalación de Tomcat (ej.: C:/Archivos de Programa/Apache Software Foundation/Tomcat 6.0) /webapps. 3. El Desarrollador reinicia el contenedor de servlets Tomcat. 4. Automáticamente, Tomcat desplegará los archivos .war y se generarán unos directorios. 5. El Administrador toma los archivos de configuración de los servicios web geográficos, ubicados en la ruta: Directorio de Instalación de Tomcat (ej.: C:/Archivos de Programa/Apache Software Foundation/Tomcat 6.0) /webapps, y crea una nueva carpeta con lo necesario de las plantillas de deegree (archivos deegree-wfs.war y deegree-wms.war desplegados en Tomcat) para configurar los servicios wfs y wms, que para este caso será GIDECAN-OWS, construida y configurada con base en estándares OGC. Esta carpeta, según el estándar OGC y el contenido de las plantillas de los servicios WFS y WMS debe tener los siguientes directorios, mostrados aquí por niveles (se mostrarán a fondo sólo los niveles importantes en la configuración): 1er nivel: <IGAC – CIAF – ICDE> 4 Geoportal IDECAN Especificacion de Casos de Uso: Configurar Servicios Web Geograficos Versión: <1.0> Fecha: <10/04/08> META-INF: Su propósito es contener meta información sobre los archivos contenidos dentro del archivo .war. Es generado por la plataforma Java para configurar aplicaciones, extensiones, cargadores de clases y servicios. Contiene los archivos: MANIFEST.MF: Contiene información de quién ha creado el archivo .war, con qué máquina virtual de java se ha construido, el nombre la aplicación y el número de versión. context.xml: Contiene información necesaria para integrar la aplicación en un Tomcat. SLDImages: Contiene las imágenes para la simbología utilizada en algunas capas con geometría de punto, y otras imágenes solicitadas como referencia externa, según el estándar OGC Styled Layer Descriptor. requestHandler.jsp: Manejador de peticiones KVP o XML. WEB-INF: Contiene los directorios de información sobre los servicios web. El siguiente nivel pertinente es el de los directorios contenidos en la carpeta WEB-INF. 2do nivel: conf: Contiene las carpetas wfs y wms, con los archivos propios de su configuración. lib: Contiene todas las librerías necesarias para la ejecución de los servicios web (archivos .jar propios de deegree). web.xml: Contiene la guía general de los parámetros de inicialización de los servicios web WFS y WMS, que será interpretada por el contenedor de servlets. A continuación se muestran los parámetros claves del archivo de configuración web.xml: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <!-—Nombre de los servicios ofrecidos--> <display-name>OGC-GIDECAN</display-name> <!-—Descripción--> <description>Servicios web bajo especificaciones OGC para el Geoportal de la IDECAN</description> <servlet> <!—Controlador de servlets--> <servlet-name>services</servlet-name> <IGAC – CIAF – ICDE> 5 Geoportal IDECAN Especificacion de Casos de Uso: Configurar Servicios Web Geograficos Versión: <1.0> Fecha: <10/04/08> <servletclass>org.deegree.enterprise.servlet.OGCServletController</servletclass> <!-—Parámetros del servlet--> <init-param> <!--Nombre del servlet--> <param-name>services</param-name> <!--Valores de los servicios del servlet--> <param-value>wfs,wms</param-value> <!--Descripción de los servicios--> <description>Servicios soportados</description> </init-param> <!--Parámetros de inicialización del servicio WMS--> <init-param> <!--Nombre del manejador del servicio WMS--> <param-name>wms.handler</param-name> <!--Valor del manejador del servicio WMS--> <paramvalue>org.deegree.enterprise.servlet.WMSHandler</param-value> </init-param> <init-param> <!--Nombre del parámetro de configuración del servicio WMS--> <param-name>wms.config</param-name> <!--Valor del archivo de configuración del servicio WMS--> <param-value>WEBINF/conf/wms/wms_GIDECAN_configuration.xml</param-value> </init-param> <!--Parametros de inicialización del servicio WFS--> <init-param> <!--Nombre del manejador del servicio WFS--> <param-name>wfs.handler</param-name> <!--Valor del manejador del servicio WMS--> <paramvalue>org.deegree.enterprise.servlet.WFSHandler</param-value> </init-param> <init-param> <!--Nombre del parámetro de configuración del servicio WFS--> <param-name>wfs.config</param-name> <!--Valor del archivo de configuración del servicio WFS--> <param-value>WEBINF/conf/wfs/wfs_GIDECAN_configuration.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-—Mapeo de Servlet--> <servlet-mapping> <!--Nombre del servlet--> <servlet-name>services</servlet-name> <!-—Parámetro url de direccionamiento a los servicios--> <url-pattern>/GIDECANservicios</url-pattern> </servlet-mapping> <!—Archivos de bienvenida--> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list> <IGAC – CIAF – ICDE> 6 Geoportal IDECAN Especificacion de Casos de Uso: Configurar Servicios Web Geograficos Versión: <1.0> Fecha: <10/04/08> <!-—Pagina de errores--> <error-page> <error-code>500</error-code> <location>/error.jsp</location> </error-page> <error-page> <!—Control de excepciones--> <exceptiontype>org.deegree.ogcwebservices.OGCWebServiceException</exception-type> <location>/error.jsp</location> </error-page> </web-app> El siguiente nivel pertinente es el de los directorios contenidos en la carpeta conf. 3er nivel: El siguiente nivel pertinente es el de los directorios contenidos en la carpeta wfs. 4to nivel: featuretypes: Esta carpeta contiene los archivos XSD, que describen la información de la característica que va a ser implementada en el mapa, es decir, la capa que va a ser añadida desde la base de datos. wfs_GIDECAN_configuration.xml: Define parámetros importantes del servicio WFS como: Directorio de los archivos XSD; Identificación del Servicio; Información del Proveedor del Servicio; Metadatos de las operaciones servidas en el Servicio; Lista de Características (o capas); Filtros. El nivel paralelo tenemos los directorios contenidos en la carpeta wms. featureinfo2gml.xsl: Script de Conversión por Defecto para transformar la respuesta GML en una petición GetFeatureInfo. featureinfo2html.xsl: Script de Conversión por Defecto para transformar la respuesta GML en una petición GetFeatureInfo, en formato HTML. LOCALWFS_capabilities.xml: Capacidades del servicio WFS local, suministradas como apoyo al servicio <IGAC – CIAF – ICDE> 7 Geoportal IDECAN Especificacion de Casos de Uso: Configurar Servicios Web Geograficos Versión: <1.0> Fecha: <10/04/08> WMS. styles.xml: Define la simbología con que se mostrará cada una de las capas de información, según la geometría de dicha capa (polígono, punto o línea), con parámetros OGC implementados mediante la especificación Styled Layer Descriptor. wms_GIDECAN_configuration.xml: Define parámetros importantes del servicio WMS como: Referencia al archivo de estilos; Identificación del Servicio; Información del Proveedor del Servicio; Metadatos de las operaciones servidas en el Servicio; Lista de Características (o capas). 6. El Administrador configura los anteriores archivos según las necesidades de la información que se desean mostrar a través del WMS o las peticiones que se quieran consultar a través del WFS. Algunos parámetros a tener en cuenta del archivo web.xml son: El nombre del servlet y la clase java que lo representa se deben indicar en los tags <servlet>. El nombre del servlet puede ser definido por el Administrador, teniendo en cuenta que debe ser el mismo que se utiliza en el parámetro serlvet-mapping. El tag <init-param> define los parámetros que serán analizados por el servlet en la inicialización. En el caso de GIDECAN-OWS son: o “services”. El valor de este parámetro contiene una lista separada por comas de los servicios OWS disponibles a través de archivos de contexto. En este caso, los servicios WFS y el WMS. o Para cada servicio listado en el parámetro “services” se debe referenciar la clase java manejadora y un archivo de configuración. El nombre del init-param para definir esta clase java, empieza con el nombre del servicio (WFS) seguido de “.handler”. El valor del parámetro es el nombre de la clase java a usar. El tag <servlet-mapping> define el alias del servlet. No es necesario que <servlet-name> y <url-pattern> sean idénticos. <url-pattern> es el nombre con el que el servlet será llamado en la URL. 7. El Administrador reinicia el contenedor de servlets Tomcat. 8. Cualquier usuario puede acceder ahora a los servicios WFS y WMS de las siguientes formas: - Haciendo peticiones por medio de un navegador web estándar como Internet Explorer o Mozilla Firefox (recomendado), con los parámetros OGC establecidos en las especificaciones de los servicios. Dichas peticiones serán vistas con mayor profundidad en los casos de uso de acceso a cada uno de estos servicios. - A través de un cliente que soporte dichos servicios. - Por medio del Visor de Mapas del Geoportal de la IDECAN. La dirección de conexión general para acceder a ellos es: http://localhost:8080/GIDECAN-OWS/GIDECANservicios. localhost puede ser remplazado por la dirección ip o por el nombre del equipo. El 8080 es el puerto que utiliza por defecto Tomcat, que puede ser configurado en su instalación. Además, puede ser ocultado mediante la instalación del conector JK. 2.2 Flujos Alternativos 2.2.1 Errores de configuración en el archivo web.xml 6.a. Existen varias notificaciones de este error, producido por un parámetro llenado incorrectamente por el Administrador en el archivo web.xml; dependiendo del medio de acceso a los servicios, las notificaciones <IGAC – CIAF – ICDE> 8 Geoportal IDECAN Especificacion de Casos de Uso: Configurar Servicios Web Geograficos Versión: <1.0> Fecha: <10/04/08> son: 6.a.1. Petición por medio de un navegador web: Al realizar una petición del servicio mediante el navegador, se mostrará la siguiente pantalla: guardando el error en un archivo que podemos visualizar con cualquier editor de texto. En este caso se verá algo como: <?xml version="1.0" encoding="UTF8"?> <ServiceExceptionReport> <ServiceException locator=" org.deegree.enterprise.servlet.OGCServletController"> Unknown service handler for requested service:WMS </ServiceException> </ServiceExceptionReport> 6.a.2. Petición por medio de un cliente: Si tenemos un cliente para añadir los servicios como wms y wfs, podemos visualizar la siguiente pantalla de error: (en este caso se usó el cliente gvSIG) <IGAC – CIAF – ICDE> 9 Geoportal IDECAN Especificacion de Casos de Uso: Configurar Servicios Web Geograficos Versión: <1.0> Fecha: <10/04/08> 6.a.2.1. El usuario debe comunicar este error al Administrador, y éste debe comparar cada archivo hasta encontrar que el error se encuentra en el archivo de configuración web.xml; este error se detecta comparando los archivos con la especificación OGC. 6.a.3. Petición por medio del Visor de Mapas del Geoportal de la IDECAN: El Visor de Mapas simplemente no desplegará la información de los servicios solicitados. Muy seguramente mostrará una excepción de Java. 2.2.2 Errores de configuración en archivos xsd, wfs_configuration.xml, wms_configuration.xml y styles.xml 6.b. Estos errores serán tratados en los casos de uso de la configuración de cada uno de los servicios web. 3. Requerimientos especiales 3.1 Tiempo de Respuesta Por cualquier medio de acceso a los servicios web geográficos, el tiempo de respuesta del contenedor de servlets (Tomcat) debe ser rápido (dentro de 2 segundos). Sin embargo, esto depende también de las capacidades del equipo desde donde se acceda a los servicios (memoria RAM, procesador, etc.). 3.2 Requerimientos de Consulta Las consultas a la base de datos son estándar, ya que PostgreSQL soporta el estándar SQL92. <IGAC – CIAF – ICDE> 10 Geoportal IDECAN Especificacion de Casos de Uso: Configurar Servicios Web Geograficos Versión: <1.0> Fecha: <10/04/08> 3.3 Estándar en los servicios web Los servicios web utilizan los estándares de OGC y de la ISO19125, dentro del framework de deegree. 4. Precondiciones 4.1 Existencia de las Plantillas de deegree para servicios web WFS y WMS La instalación de estas plantillas corre por cuenta del Desarrollador; estas plantillas son archivos .war, que son desplegados en el directorio webapps de Tomcat, y que dan la estructura base para armar un directorio que contenga los dos servicios (para este caso, la carpeta llamada GIDECAN-OWS). Esta estructura propuesta por deegree cumple con los estándares OGC para servicios web geográficos. 5. Postcondiciones 5.1 Acceso a servicios web geográficos Si la configuración de los servicios web es correcta, y se ha seguido el flujo básico de eventos de la configuración (y como complemento, los de configuración de cada servicio de forma individual), estos servicios WFS y WMS podrán ser consumidos por los diferentes medios que se han mencionado. 5.2 Mensajes de Confirmación Si el acceso a los servicios se hace por medio de un navegador no habrá un mensaje de confirmación de que ha accedido correctamente a los servicios, pero las peticiones serán correctamente ejecutadas. Si el acceso a los servicios se hace por medio de un cliente, la conexión al servicio WMS mostrará el siguiente mensaje: Web Map Service sirviendo información para el Geoportal de la IDECAN. En el caso del servicio WFS por medio de un cliente, la conexión al servicio no muestra ningún mensaje, pero permite acceder a la petición. Si el acceso a los servicios se hace por medio del Visor de Mapas del Geoportal de la IDECAN, no habrá un mensaje de confirmación de que ha accedido correctamente a los servicios, pero las peticiones serán correctamente ejecutadas. Estos mensajes se ven más a fondo en los casos de uso referentes a cada servicio. 6. Puntos de Extensión Existen dos puntos de extensión de este caso de uso: Configurar Servicio WFS y Configurar Servicio WMS. 6.1 Configurar Servicio WFS Este punto de extensión ocurre luego de que se ha configurado el archivo web.xml, y requiere configurar el archivo wfs_configuration.xml. Es descrito en otro caso de uso. <IGAC – CIAF – ICDE> 11 Geoportal IDECAN Especificacion de Casos de Uso: Configurar Servicios Web Geograficos 6.2 Versión: <1.0> Fecha: <10/04/08> Configurar Servicio WMS Este punto de extensión ocurre luego de que se ha configurado el archivo web.xml, y requiere configurar el archivo wms_configuration.xml. Es descrito en otro caso de uso. <IGAC – CIAF – ICDE> 12