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 Archivos XSD Versión 1.0 Geoportal IDECAN Especificacion de Casos de Uso: Configurar archivos XSDD Versión: <1.0> Fecha: <14/04/08> Historial de Revisiones Fecha 14/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 archivos XSDD Versión: <1.0> Fecha: <14/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 los archivos .XSD Requerimientos especiales 8 3.1 3.2 3.3 8 8 8 Tiempo de Respuesta Requerimientos de Consulta Estándar en los archivos XSD Precondiciones 9 4.1 9 Existencia de la Plantilla de deegree para el servicio web WFS Postcondiciones 9 5.1 9 Acceso al servicio WFS Puntos de Extensión 9 <IGAC – CIAF – ICDE> 3 Geoportal IDECAN Especificacion de Casos de Uso: Configurar archivos XSDD Versión: <1.0> Fecha: <14/04/08> Especificación de Casos de Uso: Configurar Archivos XSD 1. Nombre del Caso de Uso 1.1 Descripción Breve El Administrador desea configurar el (o los) archivo(s) de extensión .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, basado en la plantilla de deegree del servicio WFS, que se ha desplegado previamente en el contenedor de servlets Tomcat. Dichos archivos están basados en la especificación OGC WFS Implementation Specification versión 1.1.0. El archivo wfs_configuraton.xml requiere de estos archivos. Debe existir un archivo .xsd por cada capa de información geográfica que se desee mostrar. 2. Flujo de Eventos 2.1 Flujo Básico 1. El Administrador toma los archivos de configuración del servicio WFS, ubicados en la ruta: Directorio de Instalación de Tomcat (ej.: C:/Archivos de Programa/Apache Software Foundation/Tomcat 6.0) /webapps/deegree-wfs, y crea una nueva carpeta con lo necesario de las plantilla de deegree (archivo deegree-wfs.war desplegado en Tomcat) para configurar el servicio wfs, que para este caso será GIDECAN-OWS, construida y configurada con base en estándares OGC. Según el estándar OGC y el contenido de la plantilla del servicio WFS, se deben tener los siguientes directorios: (se mostrarán a fondo sólo los niveles importantes en la configuración de los archivos XSD): El nivel pertinente es el de los directorios contenidos en la carpeta wfs. 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. A continuación se muestran los parámetros claves del archivo de configuración capadeinformación.xsd (para este caso, el ejemplo se realiza con una capa de drenaje, tipo línea): <?xml version="1.0" encoding="ISO-8859-1" ?> <!--Dominio de nombres: identifica cada elemento wfs--> <xsd:schema xmlns:gidecanwfs=http://www.gidecan.com/wfs targetNamespace="http://www.gidecan.com/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:deegreewfs="http://www.deegree.org/wfs" <IGAC – CIAF – ICDE> 4 Geoportal IDECAN Especificacion de Casos de Uso: Configurar archivos XSDD Versión: <1.0> Fecha: <14/04/08> xmlns:ogc="http://www.opengis.net/ogc" elementFormDefault="qualified" attributeFormDefault="unqualified"> <import namespace="ttp://www.opengis.net/gml"schemaLocation="http://schemas.ope ngis.net/gml/3.1.1/base/feature.xsd"/> <import namespace="ttp://www.opengis.net/gml"schemaLocation="http://schemas.ope ngis.net/gml/3.1.1/base/geometryAggregates.xsd"/> <!--Configuración de la persistencia de los datos que serán usados--> <xsd:annotation> <xsd:appinfo> <!--Prefijo para identificación de elementos wfs--> <deegreewfs:Prefix>gidecanwfs</deegreewfs:Prefix> <!--Manejador de Base de Datos--> <deegreewfs:Backend>POSTGIS</deegreewfs:Backend> <!—Sistema espacial de referencia SRS por defecto--> <deegreewfs:DefaultSRS>EPSG:4326</deegreewfs:DefaultSRS> <!--Gestor JDBC de la conexión a la Base de Datos--> <JDBCConnection xmlns="http://www.deegree.org/jdbc"> <!--Driver de conexión--> <Driver>org.postgresql.Driver</Driver> <!--Especificación del origen de los datos: jdbc:postgresql://localhost, ip o nombre de equipo/nombre base de datos --> <Url>jdbc:postgresql://172.17.120.214:5432/icde</Url> <!--Usuario Propietario de la Base de Datos--> <User>igac</User> <!--Contraseña Propietario de la Base de Datos--> <Password>igac</Password> <SecurityConstraints/> <!--Sistema de Codificación de la Base de Datos--> <Encoding>LATIN1</Encoding> </JDBCConnection> <deegreewfs:SuppressXLinkOutput>false</deegreewfs:SuppressXLinkOutput> </xsd:appinfo> </xsd:annotation> <!--================================================================--> <!--Nombre del elemento / Tipo del elemento / Soporte GML--> <xsd:element name="Drenaje" type="gidecanwfs:DrenajeType" substitutionGroup="gml:_Feature"> <xsd:annotation> <xsd:appinfo> <!--Nombre de la tabla en la Base de Datos--> <deegreewfs:table>drenaje</deegreewfs:table> <!--Prefijo para identificación GML--> <deegreewfs:gmlId prefix="Dre"> <!--Mapeo campo identificador de la tabla y su tipo de dato para identificación GML--> <deegreewfs:MappingField field="gid" type="INTEGER"/> </deegreewfs:gmlId> <deegreewfs:visible>true</deegreewfs:visible> <deegreewfs:transaction update="false" delete="false" insert="false"/> </xsd:appinfo> </xsd:annotation> <IGAC – CIAF – ICDE> 5 Geoportal IDECAN Especificacion de Casos de Uso: Configurar archivos XSDD Versión: <1.0> Fecha: <14/04/08> </xsd:element> <!--================================================================--> <!--Definición de campos que serán tomados de la tabla--> <xsd:complexType name="DrenajeType"> <xsd:complexContent> <xsd:extension base="gml:AbstractFeatureType"> <xsd:sequence> <xsd:element name="identificador" type="xsd:integer"> <xsd:annotation> <xsd:appinfo> <deegreewfs:IdentityPart>true</deegreewfs:IdentityPart> <deegreewfs:Content> <!--Mapeo campo identificador de la tabla (gid) y su tipo de dato (INTEGER)--> <deegreewfs:MappingField field="gid" type="INTEGER"/> </deegreewfs:Content> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="tipo" type="xsd:string"> <xsd:annotation> <xsd:appinfo> <deegreewfs:IdentityPart>true</deegreewfs:IdentityPart> <deegreewfs:Content> <!--Mapeo campo nombre de la tabla (nmg) y su tipo de dato (VARCHAR)--> <deegreewfs:MappingField field="nmg" type="VARCHAR"/> </deegreewfs:Content> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="area" type="gml:GeometryPropertyType"> <xsd:annotation> <xsd:appinfo> <deegreewfs:Content> <deegreewfs:SRS>EPSG:4326</deegreewfs:SRS> <!--Mapeo campo tipo de geometría de la tabla (the_geom) y su tipo de dato (GEOMETRY)--> <deegreewfs:MappingField field="the_geom" type="GEOMETRY" srs="4326"/> </deegreewfs:Content> </xsd:appinfo> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- ===============================================================--> </xsd:schema> <IGAC – CIAF – ICDE> 6 Geoportal IDECAN Especificacion de Casos de Uso: Configurar archivos XSDD Versión: <1.0> Fecha: <14/04/08> 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. 2. El Administrador configura los anteriores archivos según las necesidades de la información que se desean mostrar a través del WFS o las peticiones que se quieran consultar por medio de un navegador. Cabe resaltar que el servicio WMS también se apoyará en el servicio WFS para consumir los datos, y por consiguiente en los archivos .XSD. Algunos parámetros a tener en cuenta de los archivos .XSD son: Cada archivo XSD se asigna a una fuente de datos física (por ejemplo, una base de datos). La configuración de un archivo XSD es un “GML3 application schema”, donde la información sobre las fuentes da datos físicas asignadas, tablas y campos es almacenada en las anotaciones de los elementos del “schema”. Un tipo complejo XML es asignado a una entidad (por ejemplo, una tabla de una base de datos). En una parte del archivo se define la configuración del acceso a los datos. Para esto hay que definir, por lo menos los siguientes parámetros: o <Prefix>: Prefijo del espacio de nombres en el que se engloba el FeatureType (en este caso, gidecanwfs). o <Backend>: Tipo de PostgreSQL+PostGIS). o <DefaultSRS>: Sistema de coordenadas por defecto. o <Driver>: Clase java que permite el acceso al <Backend> (en este caso, el driver de java para postgis). o <URL>: Dirección de conexión a la base de datos. o <User>: Usuario propietario de la base de datos donde están las tablas a las que se necesita acceder. o <Password>: Contraseña correspondiente al usuario de base de datos donde están las tablas a las que se necesita acceder. almacenamiento donde se sirven los datos (en este caso, Una vez definidos los parámetros de conexión a los datos, hay que incluir un elemento XML en el que el atributo name tiene que coincidir con el valor del elemento <wfs:Name> sin el prefijo del elemento <wfs:FeatureType> correspondiente, dentro del <wfs:FeatureList> de las capacidades del servicio WFS, dentro del archivo wfs_configuration.xml. El valor del atributo type debe corresponder al de un tipo XML que defina un tipo de capa dentro de este mismo documento (en este caso el tipo DrenajeType). Dentro de la definición del elemento hay que indicar la tabla donde se encuentran los datos de la capa, mediante el elemento <deegreewfs:table> y un campo de la tabla que permita identificar a cada una de los campos de la capa, mediante el elemento <deegreewfs:MappingField>. Después hay que definir el tipo al que se ha hecho referencia en la definición del elemento, mediante la instrucción <xsd:complexType> en la que el atributo name debe contener como valor el nombre del tipo con el prefijo del espacio de nombres definido en el esquema. Posterioremente se define el tipo XML complejo, que es una extensión del tipo gidecanwfs, que extiende al tipo GML AbstractFeatureType y que <IGAC – CIAF – ICDE> 7 Geoportal IDECAN Especificacion de Casos de Uso: Configurar archivos XSDD Versión: <1.0> Fecha: <14/04/08> es condición necesaria para que el tipo pueda ser considerado un tipo de capa. A continuación se pasa a definir el mapeo de los elementos o propiedades de la capa, con los campos de la tabla de la base de datos. Por cada elemento hay que definir su nombre y tipo XML (atributos name y type), su cardinalidad (minOccurs y maxOccurs) y el valor que se debe obtener de la base de datos dentro del elemento <deegreewfs:MappingField>, en el que se especifica el nombre del campo de la tabla del que se tiene que obtener el valor para el elemento (atributo field), y el tipo de campo de base de datos (atributo type). 3. El Administrador reinicia el contenedor de servlets Tomcat. 4. Cualquier usuario puede acceder ahora al servicio WFS, 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 del servicio WFS versión 1.1.0. Dichas peticiones serán vistas con mayor profundidad en los casos de uso de acceso a cada uno de estos servicios geográficos. - A través de un cliente que soporte el servicio WFS. - Por medio del Visor de Mapas del Geoportal de la IDECAN. 2.2 Flujos Alternativos 2.2.1 Errores de configuración en los archivos .XSD 2a. El archivo XSD permite mapear la información que se desea obtener de la tabla en la base de datos, en donde cada tabla representa una capa de información determinada. Un error en este archivo no es fácil de encontrar, ya que los servicios pueden seguir funcionando, con la excepción de que la capa del error no será mostrada. 2a1. El usuario debe comunicar este error al Administrador, y éste debe comparar cada archivo hasta encontrar que el error se encuentra en uno de los archivos de configuración XSD; este error se detecta comparando los archivos con la especificación OGC, y porque además se sabe que hay una capa de información que no está siendo mostrada, pero que si puede conectarse. 3. Requerimientos especiales 3.1 Tiempo de Respuesta Por cualquier medio de acceso al servicio WFS, 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.). También se debe tener en cuenta el tiempo de acceso a la base de datos. 3.2 Requerimientos de Consulta Las consultas a la base de datos son estándar, ya que PostgreSQL soporta el estándar SQL92; requiere de PostGIS para dar soporte al modelo de datos espacial. Por defecto, PostgreSQL proporciona los drivers necesarios, que deben ser especificados en los archivos XSD para garantizar la conexión a la base de datos. 3.3 Estándar en los archivos XSD Los archivos XSD utilizan los estándares de OGC y de la ISO19125, dentro del framework de deegree. <IGAC – CIAF – ICDE> 8 Geoportal IDECAN Especificacion de Casos de Uso: Configurar archivos XSDD Versión: <1.0> Fecha: <14/04/08> 4. Precondiciones 4.1 Existencia de la Plantilla de deegree para el servicio web WFS La instalación de esta plantilla corre por cuenta del Desarrollador; esta es un archivo .war, que es desplegado en el directorio webapps de Tomcat, y que da la estructura base para la configuración del servicio WFS, y por consiguiente, ejemplos de configuración de los archivos XSD. Esta estructura propuesta por deegree cumple con los estándares OGC para el servicio web WFS. 5. Postcondiciones 5.1 Acceso al servicio WFS Si la configuración de los archivos XSD es correcta, y se ha seguido el flujo básico de eventos de la configuración de estos archivos (complementaria a la configuración del servicio WFS), el servicio WFS podrá ser consumido por los diferentes medios que se han mencionado. 6. Puntos de Extensión Este caso de uso no tiene puntos de extensión. <IGAC – CIAF – ICDE> 9