geografía como plataforma: api rest vs ogc y geodatabases - conferencia esri españa 2012
DESCRIPTION
Presentación del equipo técnico de Esri España en la pasada conferencia. Si quieres ver los vídeos y fotos de la conferencia, visita la web: http://evento.esri.es/es/esri2012/TRANSCRIPT
Geografía como plataforma:
API REST vs OGC y
GeodatabasesJavier Abadía y Yansa Tejada, ESRI España
Agenda
• GIS Corporativo vs Plataforma GIS
• Arquitecturas de Servicios: REST vs SOAP vs KVP
• Servicios de Mapa
• WMS, WMTS vs MapService
• Features y Edición Web
• WFS-T vs FeatureService• WFS-T vs FeatureService
• Análisis Geográfico
• WPS vs GP Service
• WebMaps
• Conclusiones
• Preguntas
Map Service WMS / WMTS
WFSFeature Service
REST API vs OGCREST API vs OGC
GP Service WPS
En qué mundo vivimos…
InternetInternet
ProsumersProsumers
ConsumidoresConsumidores
ProfesionalesProfesionales
AplicacionesAplicaciones
SocialesSociales
Tiendas deTiendas de
AplicacionesAplicaciones
MóvilesMóviles
Web 2.0Web 2.0
CloudCloud
UXUX
Potenciando el GIS
Decenas de usuarios
Cientos de usuarios
Investigación
Miles de usuarios
Profesionales GIS
Usuarios GIS
SociedadSociedad
Millonesde usuarios
GIS Corporativo vs
Plataforma GIS
Un cambio de enfoque
GIS Corporativo - ¿Cómo Identificarlo?
• Centrado en la Tecnología
• Centrado en Estándares y
Metadatos
• Alejado de los Usuarios y
las Aplicaciones
• Un “visor corporativo”• Un “visor corporativo”
• Interoperabilidad basada
en Estándares
• Ahorrar en licencias
GIS Corporativo vs Plataforma GIS
• Centrado en la Tecnología
• Centrado en Estándares y
Metadatos
• Alejado de los Usuarios y
las Aplicaciones
• Un “visor corporativo”
• Centrado en los Usuarios
• Tiene en cuenta Estándares y
Metadatos, en su justa medida
• Centrado en las Aplicaciones
(para los Usuarios)
• Portal de acceso al GIS• Un “visor corporativo”
• Interoperabilidad basada
en Estándares
• Ahorrar en licencias
• Portal de acceso al GIS
• Interoperabilidad basada en
Integración
• Ahorrar costes: TCO
Plataforma completa
Pu
bli
caci
ón
Co
nsu
mo
Bus de ServiciosBus de Servicios
Dispositivos
MóvilesDesktop Aplicaciones
de negocio
Otros
sistemasExplorador
Web
Pu
bli
caci
ón
Co
nsu
mo
Servicios
GIS para el
Usuario
Cre
aci
ón
Pu
bli
caci
ón
Geodatos Globos Mapas Geoprocesos Rutas
SOAPREST OGCKML
Pu
bli
caci
ón
Cre
aci
ón
Repositorio de
Datos
Clientes
Servicios
El Bus de Servicios
GeoServicios OGC y GeoServicios REST de ESRI
Mapa WMS Rutas Features Impresión
ServiciosServidor de Mapas /
Geodatabase
Datos
Servicios
Cliente Desktop
Base de Datos Espacial
Servidor de Mapas /
Aplicaciones Geográficas
La API del Servidor
ArcGIS for
Flex
Silverlight
Javascript
Ficheros
File IOHTTP ArcGIS for
ServeriOS
Android
Geodatabases
File IO
SQL
Phone
Windows
Phone
Desktop
HTTP
peticionespeticiones
respuestasrespuestas
Arquitecturas de Servicios
REST vs SOAP vs KVP
• Todo es una URL
• Todo es una URL
• Todo es una URL
ArcGIS
forS
erver
http://<host>/<instance>/services/<folder>
API R
EST de ArcGIS
http://<host>/<instance>/services/<folder>
http://www.mapabase.es/ArcGIS/rest/services
4 principios – Todo es una URL
URIsGET
POST
PUT
DELETE
/getAllDogs
/getDog
/getRedDogs
/newDog
/changeDogNameDELETE
sin
estado
JSON
XML
/changeDogName
/dogs (GET)
/dogs/1 (GET)
/dogs?color=red (GET)
/dogs (POST)
/dogs/1 (PUT)
¿REST = bueno?¿REST = bueno?
KVP
SOAP
/map.cgi?service=WMS&request=GetMap&version=1.3.0
<SOAP-ENV:Envelope xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-
ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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>
Bitly
Blogger
Foursquare
Flickr
GitHub
GoogleX
mySpacemySpace
NYTimes
Paypal
Picasa
Salesforce
Spotify
StackExchange
World of Warcraft
Weather Underground
YouTube
Servicios de Mapa
WMS, WMTS y MapService
WMS
Año WMS GoogleMaps
1999 Desarrollo inicial
Abril 2000 1.0.0
Junio 2001 1.1.0
Enero 2002 1.1.1
Enero 2004 1.3.0Enero 2004 1.3.0
Octubre 2004 Google compra Keyhole
Febrero 2005 Se anuncia Google Maps
Julio 2005 Maps API
Google Earth
Septiembre 2006 WMS-C
http://en.wikipedia.org/wiki/Web_Map_Service
Google y OGC
• En 2005 le preguntaron en Where 2.0 a Bret Taylor,
product manager de Google Maps si tenían previsto
soportar los protocolos OGC
• Respondió que no sabía quien o qué era OGC
http://itc.conversationsnetwork.org/shows/detail805.html#
min 9:50
Diseño de WMS
• Arquitectura: RPC vs Resource Oriented (REST)
• SLD, XML
• Interoperabilidad
• Rendimiento y Escalabilidad
• Seguridad
Estilos Dinámicos
• WMS
• SLD
• MapService
• Simbología estática
• Dynamic Layers [10.1]
¿para qué?¿para qué?
¿para quién?
Interoperabilidad: GetFeatureInfo
• Problemas GetFeatureInfo
• Opcional
• El resultado no está
especificado por el estándar
• MapService
• identify
• find
• query
• incluso en mapas
cacheados
WMS - GetFeatureInfo
Problemas de Interoperabilidaddemo
Problemas de Interoperabilidaddemo
Escalabilidad
Y no lo digo yo…
Editando el WMTS. Futuro estándar Web Map Tiling Service del OGC
Joan Masó, GTIDEE Lisboa 2008
Soluciones para el Cacheado
• Soluciones Propietarias
• Google Maps
• Microsoft Bing/Virtual
Earth/Live Maps
• Soluciones Abiertas
• WMS-C o TMS
• Solución ESRI
• API REST
• Herramientas para la gestión de
las cachés
• Generación de Cachés
• Automatización de regeneración
de Caché cuando cambian los de Caché cuando cambian los
datos
• Combinación de Cachés
• Cachés compactas
• Tile Packages
WMTS
• V1.0.0 aprobada en Abril de 2010
• ¡Por fín!
• 5 años después
• REST y SOAP y KVP
• Procedural vs Resource Oriented
• Problema entre obligatorio y recomendadoProblema entre obligatorio y recomendado
• Cliente
“A WMTS client SHOULD support both KVP and RESTful.
SOAP support is optional.”
• Servidor
“A WMTS server SHOULD support KVP and/or RESTful.
SOAP support is optional”
• ¡Compatible con las cachés ya generadas!
• BIENNN!!!
Servicio WMTS
Interoperabilidad WMTSdemo
Interoperabilidad WMTSdemo
Demo WMTS
Servicio WMTS
(ArcGIS Server
10.1)
Servicio WMTS
Visor
JavaScript ESRI
Servicio WMTS
CREAF
Visor
JavaScript
OpenLayersServicio WMTS
PNOA
Proyecciones, un ruego a la comunidad GIS
• EPSG:900913
• La “proyección” Google
• WGS84 Web-Mercator
• WGS84 ≡ ETRS89
• Seamos compatibles ¡por favor!
• ProyecciónProyecció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…
Seguridad HTTP – Usuario y Password
• Los protocolos OGC no
contemplan la seguridad
• Se implementa en la capa
de red (HTTP)
• Problemas:
• 1. Interoperabilidad• 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
WFS
WFS
• Rendimiento pésimo
• GML
• Nivel de detalle fijo
• NO Paginación
• NO Compresión
• NO REST
• FeatureService
• JSON
• Optimización al vuelo
• Precisión Variable
• Paginación
• REST = cacheable
Variable temporal
NO REST
• No maneja la variable
temporal
• No contempla seguridad
• Variable temporal
• Adjuntos
• Plantillas de Edición
• Seguridad ArcGIS Server
http://idelab.uva.es/blog/web-feature-service-acceso-en-red-a-datos-espaciales-vectoriales
WFS
WFS desde Desktopdemo
WFS desde Desktop
WFS desde QGIS
FeatureService desde Desktop
FeatureService desde Javascript
demo
La Edición Web
Diseño de los FeatureServices
1
¿Qué es un Feature Service?
• Desde ArcGIS 10
• Diseñado para edicion web
• Lleva los cambios de la geodatabase a
internet
• También excelente para consultas
• Trae geometrías y atributos
• Cliente renderiza entidad (Mapas
QueryAtributos de Geometria
Cliente renderizaentidad
2
3
4AddDeleteUpdate• Cliente renderiza entidad (Mapas
temáticos, etc.)
• Sin estado, rápido, servicio
RESTful
Geodatabase
Feature
Service
Cómo funciona?
(Simplificado)
Update
http://resources.arcgis.com/en/help/rest/apiref/index.html?fslayer.html
¿Qué es un Feature Template?
• 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 definen en ArcMap
• Se respetan en todos los
clientes
• Colección de datos estructurada
• Experiencia de usuario intuitiva
Directorio de servicios
• of your Feature Service
Servicio de mapas
Feature Service
Templates
¿Cómo crear una aplicación de edición web?
PreparaPreparadatosdatos y y
plantillasplantillas
CreaCreaFeatureFeatureServiceService
UsaUsa\\CreaCreaAplicaciónAplicación
plantillasplantillas ServiceServiceAplicaciónAplicación
Flujos de edición
Desde una edición sencilla… a las más avanzadas
• Adjuntos
• Trazar la edición
• Ownership Based Data Access
• Manejar simbología y geometria complejas
• Deshabilitar edición de geometria• Deshabilitar edición de geometria
• Versionado
• Edición web compleja
Edición sencilla
Avistamiento de Aves en Cantabriademo
Avistamiento de Aves en Cantabriademo
Feature Service en edición web: Flujo I
• FeatureLayer
• Renderiza entidades en el lado cliente
• SNAPSHOT: Devuelve todo en uno
• ON DEMAND: Según se necesite
• Limitaciones / Ventajas
• Subconjunto de simbología ArcGIS
1QueryDeleteAddUpdate
GeometryAttributes
Client rendersfeatures
2
3
Renderizado de entidades en el lado del Cliente
• Subconjunto de simbología ArcGIS
• No más de unas cien entidades en el
display*
• Cuidado con los poligonos/polilineas
más grandes
• Saca ventaja de los maptips (popups)Geodatabase
Update
Renderizado de entidades en el lado cliente* Recuerda: emplea control de escalas, generaliza, emplea filtros
Feature
Service
Feature Service en edición web: Flujo II
• MapService
• Renderizado de entidades
en el lado del servidor
• El mapa se refresca tras
cada actualización
• Las features editadas se
1
Get Featureto be updated
& render
Get Map
2
4Get MapAgain
Renderizado de entidades en el lado del Servidor
• Las features editadas se
muestran en el cliente
• Limitaciones / Ventajas
• Simbologia completa
• Entidades múltiples y
complejasGeodatabase
Feature
Service
Commitchange
3
Map
Service
Again
Renderizado de entidades en el lado servidor
Edición Web Avanzada
El desafio: la eXperiencia de Usuario
• Añadir muchas herramientas es “fácil” pero a menudo
innecesario
• Aplicaciones centradas en la edición
• SOLO las herramientas necesarias, no más
• El flujo de trabajo define el diseño, no al revés!• El flujo de trabajo define el diseño, no al revés!
• Comienza seleccionando el cliente adecuado
• No quieras inventar la rueda
• No empujes la tecnología o los usuarios mas allá de su nivel de
confort
• Desarrollo, cuando sea necesario
Edición Avanzada
Cafeterosdemo
Cafeterosdemo
ArcGIS for Server en edición web
• Edición Web = Múltiples aplicaciones con
distinto fin:
• Crowd sourcing, geocolaboración, edición web…
• ArcGIS Server facilita la edición web
• Feature Service
• Clientes de edición listos para usar
• Visor de ArcGIS.com
• Visor de ArcGIS for Flex
• ArcGIS Web Mapping APIs
• Javascript, Flex, Silverlight
• iOS, Android, WP
• Geometry Service
Geoproceso a
través de la Web
Aplicaciones Ricas en Internet
Geoproceso
• WPS
• Aprobado 08-06-2007
• GP Service
• Trabajos Síncronos
• Trabajos Asíncronos
Geoproceso a Través de Web
Inundaciones en Málagademo
Inundaciones en Málagademo
Webmaps
El nivel que faltaba
Mapa WMS Rutas Features Impresión
Servicios
WebMaps
ArcGIS for Server
ArcGIS Online
Geodatabase
Datos
Servicios
ArcGIS for Desktop
ArcSDE
ArcGIS for Server
ArcGIS Online puede consumir muchas fuentes de
datos
Desktop
Web
…y las hace accesibles para toda la
organización
Dispositivos
ProcesosBasemaps
Web Maps
ArcGIS
for Server
Tus datos
de negocio
ArcGIS for
Desktop
Tus ficheros,
tablas y listas
SHP CSV XLS GPX
ArcGIS Online
Tus mapas
y datos locales
Servicios
externos
Usa mapas inteligentes en cualquier parte
Tablets
Smartphones
Cualquier
dispositivo Redes sociales
UnMapa
Desktop
Websites
ArcGIS Online
Navegadores
Estandarización e
Interoperabilidad
Una reflexión final
Estandarización
• La estandarización es un medio
• para alcanzar la interoperabilidad
• Hay otras formas de alcanzar el mismo fin
• estándares de facto
• integración de plataforma
• especificaciones abiertasespecificaciones abiertas
20132013
GeoServicios REST de ESRI
• La especificación de GeoServicios REST de ESRI
• Es una especificación abierta
• http://www.esri.com/news/releases/10_3qtr/geoservices-rest.html
• Tanto para Cliente
• Como para Servidor
• Implementada por terceros, como OpenLayers
• Enviada a OGC para su adopción como estándar
• http://www.opengeospatial.org/standards/requests/89
• Fase de Comentarios: cerrada en Agosto de 2012
• Aprobación [esperada]: Primavera de 2013
Conclusiones
ArcGIS
Fecha Versión Novedades
Mayo 2004 9.0 ArcGIS Server
Geoprocessing
ModelBuilder
Mayo 2005 9.1 Network Analyst
Noviembre 2006 9.2 Cacheado
Replicación de GDB via web
Web ADF
Mobile ADF
Sigue ArcIMSSigue ArcIMS
Junio 2008 9.3 API REST
Seguridad
API Javascript
Rendimiento
Empieza a desaparecer ArcIMS
Mayo 2009 9.3.1. Mejoras en rendimiento de los servicios de mapas
dinámicos
2010 10 Nueva funcionalidad en Desktop.
Empiezan los SDKs móviles con iOS
FeatureServices
2012 10.1 Nueva arquitectura de Server
Integración con ArcGIS Online
Plataforma GIS
• Centrado en los Usuarios
• Tiene en cuenta
Estándares y Metadatos,
en su justa medida
• Centrado en las
Aplicaciones (para los
Sistema ArcGIS
Web Map
Configurar
Aplicaciones Específicas
Aplicaciones (para los
Usuarios)
• Portal de acceso al GIS
• Interoperabilidad basada
en Integración
Web Map
Extender / Construir
DevSummit, Madrid, 15-N
¿Preguntas?
Gracias por tu
asistencia
Visítanos en la isla
Disfruta de la conferencia