1 Sistema para la Interoperabilidad de Servicios y Datos GIS a través de la Semántica. Primer Autor: Borja Soutullo. Resumen—El panorama tecnológico en cuanto a sistemas de información geográfica ha dado un vuelco en los últimos años debido a la reciente aparición de multitud de dispositivos con funcionalidad de geoposicionamiento y a la popularización de servicios GIS. Con la aparición de tanta oferta de servicios y funcionalidades, surge la necesidad de buscar un modo de entender, comprender y usar eficientemente dichas facilidades. A través de la semántica, y más en concreto el proyecto LinkingOpenData, pretendemos llegar a conseguir una plataforma de acceso semántico a servicios y datos GIS a partir de conceptos de ámbito general. Términos de índice: GIS, Aplicaciones semántica,interoperabilidad GIS, LinkingOpenData distribuidas, I. INTRODUCCIÓN E l uso de herramientas basadas en Sistemas de Información Geográfica (Geographic information system – Sistemas de Información Geográfica) ha demostrado ser un medio eficaz para la comunicación y la muestra de información. Las propias aplicaciones GIS son cada vez más demandadas, y su uso se está revelando necesario en cada vez más diversos campos de aplicación [1][2][3]. Hasta hace poco, estas herramientas han venido asociadas a un alto desembolso de capital y a una barrera técnica de acceso que hacían de las mismas un recurso de difícil uso y reutilización. Eran grandes sistemas, complejos y monolíticos, con escasa interoperabilidad y orientados a un sólo sistema [5]. Gracias a las nuevas herramientas GIS existentes en Internet, y a la gratuidad de muchas de ellas está surgiendo una gran cantidad de aplicaciones que están cambiando la forma en que se trata y muestra la información, a la vez que ofrecen al usuario y a otros sistemas una manera atractiva para compartir la información de la que disponen. La web está pasando de ser una web de contenidos a una web de aplicaciones con las que interactuar [10] y construir otras nuevas aplicaciones. Los actuales sistemas GIS y otras aplicaciones que quieren hacer uso de parte de funcionalidad GIS, utilizan internet como medio de acceder a informaciones geográficas, datos, y herramientas de análisis. SOA (Service Oriented Arquitecture – Arquitectura Orientada a Servicios), como paradigma, entiende la manera de construir aplicaciones a través de servicios reutilizables en un entorno distribuido. Estos servicios se comunican unos con otros en una arquitectura distribuida, en diferentes Este artículo parte de un proyecto del plan Avanza llevado a cabo por Cedetel. En dicho proyecto se utiliza un pseudo arquitectura SOA, que por la naturaliza del curso de doctorado nos sirvió de inspiración para orientar el informe o trabajo final. localizaciones a través de protocolos conocidos. En este contexto se encuadran los distintos servicios GIS disponibles en la red, muchos de ellos publicados como servicios web, o a través de interfaces de aplicación bien definidos. El desarrollo de las aplicaciones GIS requeridas para cumplir las expectativas de la sociedad se está convirtiendo en un problema [3]. Debido a la expansión de las aplicaciones GIS y su interacción con diversos dominios surge la necesidad, no satisfecha, de que las aplicaciones y usuarios sean capaces de interactuar entre sí [2][3]. Puesto que el GIS es aplicable a múltiples dominios de creciente importancia (monitorización de desastres, sistemas de control de flotas, mapeo de informaciones…), los tipos de datos manejados y los servicios asociados son cada vez más heterogéneos y dispares, afectando la interoperabilidad [2][6]. El futuro del GIS está en la combinación y compartición de distintos datos y servicios GIS, de distintas aplicaciones en un entorno distribuido [3]. Existen propuestas creadas para solucionar estos problemas de interoperabilidad en aplicaciones GIS, pero se centran normalmente en dominios muy concretos de conocimiento o aplicación: servicios en tiempo real como monitorización de sensores en desastres o para redes de emergencia y redes vehiculares [][]. Si bien son válidos para dichos dominios, su extrapolación a servicios o sistemas más generales no es posible. El desarrollo de los distintos estándares para cubrir las necesidades crecientes de la web en cuanto al gis, también busca solucionar esta problemática. Sin embargo, es algo común, en el entorno de la red, que las distintas plataformas GIS existentes trabajen con sus propios datos, muchas veces legados de viejas aplicaciones sin estandarizaciones o semántica. Así mismo los datos adolecen de falta de significado, impidiendo un aprovechamiento óptimo de los mismos. Estos datos y servicios GIS existentes en la red podrían ser complementarios y reutilizados entre las plataformas si se resuelven los problemas de interacción inherentes a un entorno heterogéneo, cambiante y distribuido, tanto a nivel de dispositivos GPS como a nivel de plataformas GIS. La resolución de este problema mejoraría la calidad de los productos GIS, ahorrando recursos computacionales y reduciendo los costes de los servicios. La semántica se presenta como un punto de encuentro entre los consumidores de estos recursos y los servicios disponibles en la red, de tal manera que podremos saber si un servicio responde a nuestras necesidades de uso y podremos ofrecer servicios que otros usuarios (desarrolladores o sistemas inteligentes) sean capaces de usar convenientemente. Para abordar dicha interoperabilidad se pretende generar una capa de abstracción 2 entre el usuario y los servicios, donde se comprueba la semántica de la petición. Se pretende aplicar los resultados del proyecto http://linkeddata.org/ para la interconexión de las semánticas de las peticiones de servicios GIS junto con el uso estandarizado de referencias GIS. De lo anteriormente mencionado entendemos que necesitamos dotar de semántica a los diversos servicios existentes en la red, bajo un paradigma SOA. Los servicios web se presentan como la manera de aglutinar y ofrecer diversos servicios heterogéneos ofrecidos a lo largo de la red. Los servicios web para soporte de GIS se convertirán en un modelo importante en las próximas aplicaciones de internet [7]. Si añadimos la palabra semántica a estos servicios, nos encontramos que podemos interactuar con dichos servicios para descubrir aquellos capaces de realizar la tarea solicitada, elegir el más adecuado que se ajuste semánticamente a lo que estamos solicitando, e invocarlo. En el presente artículo queremos analizar la posibilidad de cruzar datos de servicios y peticiones a través de una nube de semántica y discutir si este proceso puede ser un medio factible de resolver estos problemas de compartición y manejo de datos y servicios geoespaciales heterogéneos dentro del contexto general de uso de internet y no sólo para dominios de conocimiento concretos. En la sección II presentamos un caso de uso de la funcionalidad perseguida. En la sección III empezamos a entrar en detalle cómo llegamos a conseguir esa funcionalidad; será a través de la estandarización y la semántica. En la sección IV presentamos un sistema, no validado, para implementar la solución presentada. Por último se hablará de las conclusiones, trabajo futuro agradecimientos. buscar un servicio (o en caso necesario componerlo) que siga el razonamiento necesario para obtener esa respuesta. El usuario (tal y como lo entiende foaf) vive en algún sitio. Este lugar lo comprobamos con la dbpedia y consultamos su altura con geonames. Otro ejemplo viene de la mano de Juan, alumno de la universidad de Sevilla y que quiere ver los personajes famosos nacidos en la misma ciudad donde viven sus amigos. A través de foaf nuevamente, se miran los amigos, a través de la dbpedia consultamos los datos del los amigos con ciudad de nacimiento, o bien transformamos las coordenadas de donde están sus amigos en un lugar a través de geonames, y de ahí a la dbpedia para preguntar por personas nacidas en ese lugar. El ejemplo se podría aplicar a diversos ámbitos de uso, como para emergencias, donde podríamos obtener información de un edificio a través de sus coordenadas, buscar los hospitales más cercanos y los números de teléfonos asociados. Como se ve, se proponen diversos ejemplos de uso amparados la idea de la comunicación semántica de entre las necesidades y los servicios. La visión hacia la que nos estamos encaminando mediante retazos de informaciones y tecnologías, y a la que se quiere llegar consiste en un usuario final, desconocido que pueda acceder a un catálogo de recursos, bien sean servicios, datos u otra funcionalidad, agrupados dando soporte como una plataforma global II. EJEMPLO DE USO Pedro es un programador que necesita información GIS sobre datos generales en tiempo real. Su empresa se dedica a la estadística y suele necesitar información referente a la localización de diversos activos y realizar análisis en base a su posición de manera eficiente. Su sistema actual deja la posibilidad de implementar dicha funcionalidad, si bien no resulta rentable en cuanto a recursos (tiempo y dinero) necesarios. Presentando su necesidad de datos en forma de una pregunta realizada con términos dentro de ontologías, el sistema debería ser capaz de entender, relacionar y ofrecer un servicio para responder a esa pregunta. Así pues quiere saber a qué altura vive cada uno de los consumidores de un producto X, ya que necesita relacionar el uso de dicho producto con un parámetro como la altura (se sospecha que el producto X, unas piruletas, se consumen más cuando el aire tiene menos oxígeno) Para ello presenta una pregunta al sistema basada en la ontología FOAF (friend of a friend) y en los estándares OGC (Open Geospatial Consortium) indicando que necesita saber la altura (según lo que significa para el OGC o alguna ontología) de un usuario (según lo que entiende foaf por usuario). Esta pregunta es procesada por el sistema, que trata de enlazar dichos conceptos a través de la nube semántica del proyecto http://linkeddata.org/. Es capaz de enlazar los 2 conceptos a través de la dbpedia y geonames, y es capaz de Figura 1: Una visión de la plataforma. Imagen obtenida de ¡Error! Marcador no definido. III. GIS SEMÁNTICO Nuestra propuesta de sistema se sustenta en dos ideas clave: La primera es la posibilidad de dar acceso a un compendio de recursos distribuidos, en base a funcionalidad GIS. - La segunda implica el poder ofrecer interoperabilidad de servicios y comunicación semántica entre las necesidades de usuario y los servicios disponibles. - A. ¿Porqué semántica y web semántica? La Web Semántica es una Web extendida, dotada de mayor significado, en la que cualquier usuario en Internet podrá encontrar respuestas a sus preguntas de forma más rápida y 3 sencilla gracias a una mejor definición de la información. Al dotar a la Web de más semántica (más significado), se pueden obtener soluciones a problemas habituales en la búsqueda de información gracias a la utilización de una infraestructura común, mediante la cual, es posible compartir, procesar y transferir información de forma sencilla. Esta Web extendida y basada en el significado se apoya en ontologías que resuelven los problemas ocasionados por una Web sin semántica alguna, mejorando así el acceso a la información, ya que en ocasiones esto se convierte en una tarea ardua, difícil y frustrante. La semántica en la Web facilitará la comprensión y el uso eficiente de los contenidos digitales no sólo por humanos, sino también por las máquinas. Con la semántica y la generación de metadatos, se opta por dar una estructura, marcar los recursos con semántica explícita que pueda ser procesada por las máquinas y dar un valor añadido a los recursos clasificados (ya sean recursos web -web semántica-, o recursos físicos – vídeos, libros, colecciones de items-). La generación de de estándares abiertos e interoperables dentro de los Sistemas de Información Geográfica. Persigue acuerdos entre las diferentes empresas del sector que posibiliten la interoperación de sus sistemas de geoprocesamiento y facilitar el intercambio de la información geográfica en beneficio de los usuarios. Anteriormente fue conocido como Open GIS Consortium. Las especificaciones más importantes surgidas del OGC que podemos enmarcar dentro del presente estudio son: - GML: Lenguaje de Marcado Geográfico. - WFS: Web Feature Service o Servicio de entidades vectoriales que proporciona la información relativa a la entidad almacenada en una capa vectorial (cobertura) que reúnen las características formuladas en la consulta. - WMS: Web Map Service o Servicio de mapas en la web que produce mapas en formato imagen a la demanda para ser visualizados por un navegador web o en un cliente simple. - KML: Keyhole Markup Language. semántica, quiere superar las limitaciones actuales introduciendo en ella descripciones explícitas de significado. Para poder hacer compatible la semántica y a la vez mantener los conceptos básicos de las clasificaciones existentes, como pueden ser la compatibilidad, compartición, descentralización, contribución, facilidad de acceso y la apertura al crecimiento se impulsa el concepto de las ontologías. Una ontología proporciona un vocabulario de clases y relaciones para describir un dominio, poniendo el acento en la compartición del conocimiento y el consenso en la representación de éste. 1) WMS (Web Map Service) El servicio Web Map Service (WMS) definido por el OGC (Open Geospatial Consortium) produce mapas de datos espaciales referidos de forma dinámica a partir de información geográfica. Este estándar internacional define un "mapa" como una representación de la información geográfica en forma de un archivo de imagen digital conveniente para la exhibición en una pantalla de ordenador. Un mapa no consiste en los propios datos. Los mapas producidos por WMS se generan normalmente en un formato de imagen como PNG, GIF o JPEG, y ocasionalmente como gráficos vectoriales en formato SVG (Scalable Vector Graphics) o WebCGM (Web Computer Graphics Metafile). 2) WFS (Web Feature Service): El servicio de publicación de objetos (WFS) permite recuperar y modificar (consultar, insertar, actualizar y eliminar) datos espaciales en formato vectorial codificados en Geography Markup Language GML. Cada servicio puede manejar uno o más tipos de fenómenos, cada uno de los cuales tiene asociado un XML Schema que describe su estructura. Para acceder y manipular estos fenómenos geográficos, el estándar WFS define interfaces que operan mediante la utilización de HTTP como plataforma de cómputo distribuido. Gracias a esos interfaces, un usuario o servicio web puede combinar, utilizar y gestionar información acerca de los fenómenos que constituyen los mapas. 3) WCS (Web Coverage Service) Web Coverage Service proporciona una interfaz que permite realizar solicitudes de cobertura geográfica a través de la web usando llamadas independientes a la plataforma. Las coberturas son objetos (o imágenes) en una zona geográfica, mientras que la interfaz WMS o portales de servicios de mapas en línea como Google Maps, devuelve sólo una imagen, que los usuarios finales no pueden editar o analizar espacialmente. Este servicio permite la obtención de datos geoespaciales en forma de “coberturas”, es decir, información geográfica espacial digital que representa fenómenos de variación espacial (distribución continua), de modo que sean útiles para la representación o como dato de entrada de modelos científicos. Una cobertura define, por cada localización en el dominio, un conjunto de campos que pueden ser valores La web semántica, la semántica en la web, las ontologías en dominios de conocimiento, están llamados a tener un papel importante en el crecimiento de aplicaciones inteligentes en la red. Para dotar de semántica al sistema GIS propuesto hemos de tener en cuenta en primer lugar las ontologías y dominios de conocimiento referente a sistemas geográficos, y en segundo lugar su relación con otras ontologías existentes. En esta línea se ha avanzado la existencia de estándares aceptados por la comunidad y ontologías que exponen información a lo largo de toda la red. Por otra parte, a través de los llamados servicios web semánticos, cuya idea central es la del uso de descripciones más completas y declarativas de los elementos que forman parte de computación distribuida de una manera dinámica (servicios, procesos, transacciones…) [4] obtendremos una provisión de servicios de manera flexible, dinámica y que facilitará la construcción de servicios mucho más complejos (la eterna promesa de computación distribuida inteligente…) Podremos usar los Servicios Web semánticos para: - la selección e invocación de servicios de manera más automática - que varios mensajes de distintos servicios puedan interactuar o entenderse. - la composición de servicios de manera semi automática. B. Estándares GIS como primera opción El Open Geospatial Consortium (OGC) agrupa a más de 250 organizaciones públicas y privadas. Su fin es la definición 4 escalares (como una elevación) o valores vectoriales (como valores de luminosidad en diferentes partes del espectro electromagnético). Estos campos y sus valores son conocidos como rango de la cobertura. 4) KML (Keyhole Markup Language) KML es un lenguaje XML enfocado a la visualización geográfica, incluyendo la anotación de mapas e imágenes. La visualización geográfica incluye no sólo la presentación de datos sobre el globo, sino también el control de la navegación del usuario en el sentido de donde ir y donde mirar. C. Linking Open Data Como hemos venido comentando la necesidad real tras de esta propuesta de sistema es la de la interoperabilidad real entre las necesidades del usuario y los servicios disponibles en un contexto GIS. Puesto que muchos problemas GIS provienen de sistemas, software o situaciones de carácter general o amplio, se ha de buscar una manera real y efectiva de relacionar dichas necesidades con las posibilidades de la red. El proyecto Linking Open Data hace referencia a usar la web para conectar datos que no estaban unidos, o al menos para eliminar ese coste de enlazar datos en la red. En nuestro caso lo usaremos para enlazar distintas informaciones con datos y servicios GIS. Nos va a servir como capa aglutinadora o como traductora universal, de tal manera que podamos conectar la información, los datos, el conocimiento y los servicios semánticamente. Es necesario ver la figura 2 para entender hasta qué punto es posible interconectar datos. Algunos ejemplos de datos interconectados gracias al proyecto son: - DBpedia: Un set de datos y servicios para accede a ellos que contienen información extraida de la Wikipedia expresada en forma de sentencias rdf (Contiene más de 218 millones) - GeoNames: Proporciona la descripción en rdf de más de 6,5 millones de lugares georreferenciados a lo largo del mundo - Sensorpedia – Una iniciativa para exponer datos relativos a sensors en la web. Figura 2: Interconexión de datos mediante la semántica. Imagen obtenida de http://linkeddata.org/ IV. SISTEMA PROPUESTO El sistema propuesto, que se puede ver en la Figura 3, ofrece a través de 4 capas de arquietctura una visión de cómo el sistema debería ser diseñado para conseguir interoperabilidad en el uso de servicios y datos GIS. EN primer lugar nos encontramos con una capa de acceso al sistema, donde el usuario/programador podrá acceder a partir de unos datos y solicitar otros. Dirá qué tiene y qué necesita, partiendo para definir ese punto de partida de las ontologías disponibles. En caso de que no estén disponibles en la nube semántica que supone el proyecto LinkingOpenData, la opción sería la de incluirlas y enlazarlas. A través de este punto de acceso a datos y servicios GIS, el usuario podrá usar, componer o buscar información o funcionalidad, que será ofrecida semánticamente a través del proyecto mencionado. Así mismo, habrá un directorio de Servicios Web, recursos REST y Servicios Web Semánticos que enlazan con dicha nube. En el caso de los 2 primeros habrá que añadirles una capa extra de semántica. Transversalmente a todos ellos, la presencia de los estándares definidos por el OGC, nos da una ventaja adicional y un primer punto de aproximación a los servicios ofrecidos por el sistema. 5 Figura 3: Sistema propuesto para la orquestación y uso de datos y servicios GIS Habrá que integrar sistemas 3D en un futuro no muy lejano, y dotar de inteligencia a las aplicaciones. En redes vehiculares, los tiempos de respuesta serán prioritarios… Muchos campos abiertos para muchas aplicaciones posibles. Todo un mundo por explorar, sin lugar a dudas. VII. RECONOCIMIENTOS Simplemente dar las gracias por el curso. Interesante y didáctico, a la par que relativamente entretenido. Gracias a Juan Ignacio y a Guillermo por tener paciencia con nosotros y por plantearnos por primera vez el hecho de descubrir una línea de investigación o una pregunta de tesis. Aún no he podido plantear siquiera de cerca una respuesta. Gracias también obviamente a los compañeros con quien tantos artículos hemos discutido y comentado. REFERENCIAS Aunque no entramos en detalle de cómo implementar una plataforma de este nivel, sí dejamos constancia de un par de ideas. En primer lugar, debería haber un directorio de servicios y datos, que deben estar enlazados con la nube semántica. En segundo lugar, y de cara al usuario, debe haber la posibilidad de valorar cuál es la información de partida, y si realmente sirve de algo. V. CONCLUSIONES Con la aparición de nuevos dispositivos, nuevas tecnologías, y nuevos servicios, se ha de replantear siempre las ideas preconcebidas de los sistemas existentes. Así pues, como hemos demostrado, frente a los mastodónticos y restringidos sistemas GIS de antaño, se abre ahora la posibilidad de tener un mundo GIS interdisciplinar de servicios y datos. Cabe destacar en torno a este proyecto el concepto de Internet de los servicios, que surge como punto de intersección entre los paradigmas de la web 2.0 y el SOA. Así pues, la web 2.0 incorpora una filosofía social que debemos considerar complementaria a la filosofía, centrada en la tecnología, que define SOA, ya que ésta proporciona técnicas y principios de diseño que facilita el uso activo de servicios y recursos web. Frente a los nuevos retos y posibilidades que definen la aparición de estos servicios GIS, se han de buscar nuevas tecnologías que den respuesta a las necesidades surgidas. SOA más semántica, apoyado sobre los estándares existentes, forman un buen pack para dar solución a plataformas multidispositivos GIS con servicios distribuidos. VI. TRABAJO FUTURO Cada vez más y más soportes físicos requieren de funcionalidad gis en entornos altamente cambiantes (véase sistemas basados en redes MANET donde la geolocalización y la fiabilidad pueden jugar un papel importante). Además, los usuarios exigen cada vez más aplicaciones más interacción y versatilidad, los requisitos de accesibilidad se hacen cada vez más estrictos… Todo ello implica sistemas de altas prestaciones y altas funcionalidades, en un entorno altamente cambiante. [1] Research on distributed GIS process modeling and integration Rui-sheng Jia; Yan Jiang; Hong-mei Sun; Xi-juan Wei; IT in Medicine and Education, 2008. ITME 2008. IEEE International Symposium on 12-14 Dec. 2008 Page(s):33 - 38 [2] Interoperability Research of Heterogeneous GIS Based on Spatial Information Grid Yu Sun; Guoqing Li; Computer Science and Software Engineering, 2008 International Conference on Volume 3, 12-14 Dec. 2008 Page(s):41 – 44 [3] Research on GIS Spatial Database Based on Grid Computing Xiaosheng Liu; Xiaobin Huang; Zhiyong Zhao; Communications and Mobile Computing, 2009. CMC '09. WRI International Conference on Volume 3, 6-8 Jan. 2009 Page(s):156 – 159 [4] Semantic Web Services, Part 1 Martin, D.; Domingue, J.; Intelligent Systems, IEEE Volume 22, Issue 5, Sept.-Oct. 2007 Page(s):12 - 17 Digital Object Identifier 10.1109/MIS.2007.4338488 [5] Open Source Software Approach for Internet GIS and Its Application Tan Jing; Xu Juan; Wan Li; Intelligent Information Technology Application, 2008. IITA '08. Second International Symposium on Volume 3, 20-22 Dec. 2008 Page(s):264 - 268 Digital Object Identifier 10.1109/IITA.2008.501 [6] Realization and Development of GIS Interoperability HUI Jun, and WANG Huan, Journal of Xinjiang Normal University(Natural Sciences Edition), Volume 24, issue 3. 2005.09. 6 [7] Research on Architecture for Web Services Based Uniform GIS Transportation Information Platform Xiao-Lin Lu; Machine Learning and Cybernetics, 2006 International Conference on 13-16 Aug. 2006 Page(s):2770 - 2775 Digital Object Identifier 10.1109/ICMLC.2006.258996 [10] Toward 2w, Beyond Web 2.0 T.V. RAMAN Communications of the ACM, February 2009, Vol 52, No2 DOI:10.1145/1461928.1461945 [11] Understanding service-oriented software Gold, N.; Mohan, A.; Knight, C.; Munro, M.; Software, IEEE Volume 21, Issue 2, Mar-Apr 2004 Page(s):71 - 77 Digital Object Identifier 10.1109/MS.2004.1270766 [12] A Semantic Web Services GIS based Emergency Management Application Vlad Tanasescu, Alessio Gugliotta, John Domingue, Rob Davies, Leticia Gutiérrez-Villarías, Mary Rowlatt, Marc Richardson, Sandra Stinčić