Análisis comparativo de la
API REST de GeoServicios de ESRI
                                       y los
 Servicios estándar OGC clásicos
                   Javier Abadía, ESRI España
                        javier.abadia@esri.es
Agenda

   • Introducción
   • KVP vs SOAP vs REST
   • Servicios
      • de Mapa
      • de Features
      • de GeoProcesos
      • otros
   • Conclusiones
   • Preguntas
¿Qué es?
  http://www.esri.com/news/releases/10_3qtr/geoservices-rest.html
  http://www.esri.com/industries/landing-pages/geoservices/geoservices.html
Especificación de GeoServicios REST de ESRI


     Flex

  Silverlight                                          Ficheros

  Javascrip
      t                                    File IO
                  HTT         ArcGIS for
     iOS                                      SQL
                   P            Server
                peticiones
   Android
                 respuestas                          Geodatabases
  Windows
   Phone

   Desktop
Especificación de GeoServicios REST de ESRI


          Flex

      Silverlight                                                         Ficheros

      Javascrip
          t                                                   File IO
       cualquier
                                      HTT      ArcGIS for
                                                  cualquier        cualquier
         iOS                                                   SQL
                                       P         fabricante          cosa
      fabricante                                 Server
                                 peticiones
        Android
                                  respuestas                            Geodatabases
       Windows
        Phone

       Desktop
http://openlayers.org/dev/examples/
2013
Comparación Técnica con
    los protocolos OGC
KVP vs SOAP vs REST

KVP       /map.cgi?service=WMS&request=GetMap&version=1.3.0&…


          <SOAP-ENV:Envelope xmlns:SOAP-
SOA       ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-
          ENC="http://schemas.xmlsoap.org/soap/encoding/"
 P        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema" SOAP-
          ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
           <SOAP-ENV:Body>
            <m:getTypes xmlns:m="http://arcweb.esri.com/v2">
             <dataSource xsi:type="xsd:string">ESRI.Gazetteer.World</dataSource>
             <token xsi:type="xsd:string">MyToken</token>
            </m:getTypes>
           </SOAP-ENV:Body>
          </SOAP-ENV:Envelope>



          /arcgis/rest/services/cantabria/101HabitatsCantabria_Base/
RES       MapServer/export

 T
4 principios – todo es una URL



   URI             /getAllDogs
                   /getDog
                                                GET
                                               POST
                   /getRedDogs                  PUT
    s              /newDog
                   /changeDogName
                                              DELETE

                   /dogs             (GET)

    sin            /dogs/1
                   /dogs?color=red
                                     (GET)
                                     (GET)    JSON
                   /dogs             (POST)
  estado           /dogs/1           (PUT)     XML
Servicios de Mapa
   WMS, WMTS Y MapService
Diseño de WMS

 •   Arquitectura: Object (RPC) vs Resource Oriented (REST)
 •   SLD, XML
 •   Interoperabilidad
 •   Rendimiento y Escalabilidad
 •   Seguridad
Estilos Dinámicos

  • WMS                    • MapService
     • SLD                    • Simbología estática
                              • Dynamic Layers [10.1]




                    ¿para qué?

                    ¿para quién?
Interoperabilidad: GetFeatureInfo

  • Problemas GetFeatureInfo          • MapService
     • Opcional                          •   identify
     • El resultado no está              •   find
       especificado por el estándar      •   query
                                         •   incluso en mapas
                                             cacheados
demo
       WMS - GetFeatureInfo
         Problemas de Interoperabilidad
Escalabilidad
Soluciones para el Cacheado

 • Soluciones Propietarias     • Solución ESRI
    • Google Maps                 • API REST
    • Microsoft Bing/Virtual      • Herramientas para la gestión de
      Earth/Live Maps               las cachés
 • Soluciones Abiertas                • Generación de Cachés
                                      • Automatización de regeneración
    • WMS-C o TMS
                                        de Caché cuando cambian los
                                        datos
                                      • Combinación de Cachés
 • WMTS                               • Cachés compactas
    • Aprobado en Abril de        • Tile Packages
      2010
    • Compatible con las
      cachés ya generadas
Proyecciones, un ruego a la comunidad GIS

  • EPSG:900913
     • La “proyección” Google
     • WGS84 Web-Mercator
     • WGS84 ≡ ETRS89
  • Seamos compatibles ¡por favor!
     • Proyección
     • Esquema de tiles
     • Escalas


  • Las operaciones de medida se deben realizar en el
    sistema de referencia nativo del dato
     • Es decir, en ETRS89, geográficas o UTM
     • Nunca midiendo píxeles…
Servicios de Features
      WFS[-T] vs FeatureServices
WFS




      demo
WFS vs FeatureService

   WFS-T                                      FeatureService
  • Rendimiento pésimo                        • Diseñado para ser rápido
       •   GML                                     •   JSON
       •   Nivel de detalle fijo                   •   Optimización al vuelo
       •   NO Paginación (en 1.1)                  •   Precisión Variable
       •   NO Compresión                           •   Paginación
  • NO REST                                   •   REST = cacheable
  • No maneja la variable                     •   Variable temporal
    temporal                                  •   Adjuntos
  • No contempla seguridad                    •   Plantillas de Edición
                                              •   Seguridad ArcGIS Server

http://idelab.uva.es/blog/web-feature-service-acceso-en-red-a-datos-espaciales-vectoriales
Rendimiento: GML vs JSON

 • Un municipio
    • XML/GML, 15.539 bytes
    • JSON (completo), 15.232 bytes
    • JSON (optimizado), 331 bytes


 • WFS - GetFeature, 100 municipios
    • 2.1 Mb (aprox 21Kb/mun)
    • 8.116 municipios, estimado 170 Mb


 • FeatureService (REST), todos los municipios (8.116)
    • Optimizado: 1.4 Mb


                                                         demo

                                                         demo
WFS-T                            FeatureService
• Rendimiento pésimo              • Diseñado para ser rápido
   •   GML                           •   JSON
   •   Nivel de detalle fijo         •   Optimización al vuelo
   •   NO Paginación (en 1.1)        •   Precisión Variable
   •   NO Compresión                 •   Paginación
                                     •   REST = cacheable


            277268.35099999979 ≈ 277268
                 18 bytes vs 6 bytes

             Dame del 0 al 999…
                   ahora del 1000 al 1999…
                           ahora del 2000 al 2999…
Más cosas: Plantillas de Edición

  • Un acceso rápido a la edición
  • Feature Template define:
     •   Simbología
     •   Atributos editables o solo lectura
     •   Valores por defecto
     •   Herramienta de creación preferida

  • Se definen en ArcMap
     • Se respetan en todos los
       clientes
  • Colección de datos estructurada
     • Experiencia de usuario intuitiva



                                              demo
Más Cosas

    • Adjuntos
    • Trazar la edición
    • Ownership Based Data Access
    • Manejar simbología y geometria complejas
       • Feature Service + Map Service
    • Deshabilitar edición de geometria
    • Versionado
       • Flujos Multi-Usuario complejos
    • Edición web compleja
       • Geometry Service
Servicios de GeoProcesos
              a través de la web
GeoProcesos

 • WPS                      • GP Service
    • Aprobado 08-06-2007      • Trabajos Síncronos
                               • Trabajos Asíncronos




                                                       demo
Otros Servicios
    Útiles y Necesarios
Otros Servicios

    • Geometría
    • Impresión
    • Geocodificación
    • Redes Geométricas
       • Rutas
       • Isocronas
       • Optimización
    • Schematics
    • Imágenes




                          demo
Seguridad
En general para todos los protocolos OGC
Seguridad HTTP – Usuario y Password

 • Los protocolos OGC no
   contemplan la seguridad
 • Se implementa en la capa
   de red (HTTP)
 • Problemas:
    • 1. Interoperabilidad
    • 2. Modelo inadecuado para
      aplicaciones
Seguridad basada en Tokens

 1. Permiso para usar el servicio a Un Usuario
 2. Permiso para usar el servicio desde una IP
 3. Permiso para usar el servicio
    desde una aplicación
Conclusiones
    • Los estándares deben ser un medio, no un fin
    • Necesitamos
       • Interoperabilidad REAL
       • Mantenernos en la vanguardia del avance
         tecnológico
       • Pensar en los usuarios finales,
           • no solo en los usuarios GIS
    • ESRI
       • Máximo soporte a los estándares OGC
           • Sin esfuerzo/coste adicional
       • Innovación Tecnológica
           • a disposición de la comunidad
¿Alguna Pregunta?
   javier.abadia@esri.es
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIIDE 2012

API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIIDE 2012

  • 1.
    Análisis comparativo dela API REST de GeoServicios de ESRI y los Servicios estándar OGC clásicos Javier Abadía, ESRI España javier.abadia@esri.es
  • 2.
    Agenda • Introducción • KVP vs SOAP vs REST • Servicios • de Mapa • de Features • de GeoProcesos • otros • Conclusiones • Preguntas
  • 3.
    ¿Qué es? http://www.esri.com/news/releases/10_3qtr/geoservices-rest.html http://www.esri.com/industries/landing-pages/geoservices/geoservices.html
  • 4.
    Especificación de GeoServiciosREST de ESRI Flex Silverlight Ficheros Javascrip t File IO HTT ArcGIS for iOS SQL P Server peticiones Android respuestas Geodatabases Windows Phone Desktop
  • 5.
    Especificación de GeoServiciosREST de ESRI Flex Silverlight Ficheros Javascrip t File IO cualquier HTT ArcGIS for cualquier cualquier iOS SQL P fabricante cosa fabricante Server peticiones Android respuestas Geodatabases Windows Phone Desktop http://openlayers.org/dev/examples/
  • 6.
  • 7.
    Comparación Técnica con los protocolos OGC
  • 8.
    KVP vs SOAPvs REST KVP /map.cgi?service=WMS&request=GetMap&version=1.3.0&… <SOAP-ENV:Envelope xmlns:SOAP- SOA ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP- ENC="http://schemas.xmlsoap.org/soap/encoding/" P xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SOAP- ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:getTypes xmlns:m="http://arcweb.esri.com/v2"> <dataSource xsi:type="xsd:string">ESRI.Gazetteer.World</dataSource> <token xsi:type="xsd:string">MyToken</token> </m:getTypes> </SOAP-ENV:Body> </SOAP-ENV:Envelope> /arcgis/rest/services/cantabria/101HabitatsCantabria_Base/ RES MapServer/export T
  • 9.
    4 principios –todo es una URL URI /getAllDogs /getDog GET POST /getRedDogs PUT s /newDog /changeDogName DELETE /dogs (GET) sin /dogs/1 /dogs?color=red (GET) (GET) JSON /dogs (POST) estado /dogs/1 (PUT) XML
  • 10.
    Servicios de Mapa WMS, WMTS Y MapService
  • 11.
    Diseño de WMS • Arquitectura: Object (RPC) vs Resource Oriented (REST) • SLD, XML • Interoperabilidad • Rendimiento y Escalabilidad • Seguridad
  • 12.
    Estilos Dinámicos • WMS • MapService • SLD • Simbología estática • Dynamic Layers [10.1] ¿para qué? ¿para quién?
  • 13.
    Interoperabilidad: GetFeatureInfo • Problemas GetFeatureInfo • MapService • Opcional • identify • El resultado no está • find especificado por el estándar • query • incluso en mapas cacheados
  • 14.
    demo WMS - GetFeatureInfo Problemas de Interoperabilidad
  • 17.
  • 18.
    Soluciones para elCacheado • Soluciones Propietarias • Solución ESRI • Google Maps • API REST • Microsoft Bing/Virtual • Herramientas para la gestión de Earth/Live Maps las cachés • Soluciones Abiertas • Generación de Cachés • Automatización de regeneración • WMS-C o TMS de Caché cuando cambian los datos • Combinación de Cachés • WMTS • Cachés compactas • Aprobado en Abril de • Tile Packages 2010 • Compatible con las cachés ya generadas
  • 19.
    Proyecciones, un ruegoa la comunidad GIS • EPSG:900913 • La “proyección” Google • WGS84 Web-Mercator • WGS84 ≡ ETRS89 • Seamos compatibles ¡por favor! • Proyección • Esquema de tiles • Escalas • Las operaciones de medida se deben realizar en el sistema de referencia nativo del dato • Es decir, en ETRS89, geográficas o UTM • Nunca midiendo píxeles…
  • 20.
    Servicios de Features WFS[-T] vs FeatureServices
  • 21.
    WFS demo
  • 23.
    WFS vs FeatureService WFS-T FeatureService • Rendimiento pésimo • Diseñado para ser rápido • GML • JSON • Nivel de detalle fijo • Optimización al vuelo • NO Paginación (en 1.1) • Precisión Variable • NO Compresión • Paginación • NO REST • REST = cacheable • No maneja la variable • Variable temporal temporal • Adjuntos • No contempla seguridad • Plantillas de Edición • Seguridad ArcGIS Server http://idelab.uva.es/blog/web-feature-service-acceso-en-red-a-datos-espaciales-vectoriales
  • 24.
    Rendimiento: GML vsJSON • Un municipio • XML/GML, 15.539 bytes • JSON (completo), 15.232 bytes • JSON (optimizado), 331 bytes • WFS - GetFeature, 100 municipios • 2.1 Mb (aprox 21Kb/mun) • 8.116 municipios, estimado 170 Mb • FeatureService (REST), todos los municipios (8.116) • Optimizado: 1.4 Mb demo demo
  • 25.
    WFS-T FeatureService • Rendimiento pésimo • Diseñado para ser rápido • GML • JSON • Nivel de detalle fijo • Optimización al vuelo • NO Paginación (en 1.1) • Precisión Variable • NO Compresión • Paginación • REST = cacheable 277268.35099999979 ≈ 277268 18 bytes vs 6 bytes Dame del 0 al 999… ahora del 1000 al 1999… ahora del 2000 al 2999…
  • 26.
    Más cosas: Plantillasde Edición • Un acceso rápido a la edición • Feature Template define: • Simbología • Atributos editables o solo lectura • Valores por defecto • Herramienta de creación preferida • Se definen en ArcMap • Se respetan en todos los clientes • Colección de datos estructurada • Experiencia de usuario intuitiva demo
  • 29.
    Más Cosas • Adjuntos • Trazar la edición • Ownership Based Data Access • Manejar simbología y geometria complejas • Feature Service + Map Service • Deshabilitar edición de geometria • Versionado • Flujos Multi-Usuario complejos • Edición web compleja • Geometry Service
  • 30.
    Servicios de GeoProcesos a través de la web
  • 31.
    GeoProcesos • WPS • GP Service • Aprobado 08-06-2007 • Trabajos Síncronos • Trabajos Asíncronos demo
  • 34.
    Otros Servicios Útiles y Necesarios
  • 35.
    Otros Servicios • Geometría • Impresión • Geocodificación • Redes Geométricas • Rutas • Isocronas • Optimización • Schematics • Imágenes demo
  • 36.
    Seguridad En general paratodos los protocolos OGC
  • 37.
    Seguridad HTTP –Usuario y Password • Los protocolos OGC no contemplan la seguridad • Se implementa en la capa de red (HTTP) • Problemas: • 1. Interoperabilidad • 2. Modelo inadecuado para aplicaciones
  • 38.
    Seguridad basada enTokens 1. Permiso para usar el servicio a Un Usuario 2. Permiso para usar el servicio desde una IP 3. Permiso para usar el servicio desde una aplicación
  • 39.
    Conclusiones • Los estándares deben ser un medio, no un fin • Necesitamos • Interoperabilidad REAL • Mantenernos en la vanguardia del avance tecnológico • Pensar en los usuarios finales, • no solo en los usuarios GIS • ESRI • Máximo soporte a los estándares OGC • Sin esfuerzo/coste adicional • Innovación Tecnológica • a disposición de la comunidad
  • 40.
    ¿Alguna Pregunta? javier.abadia@esri.es