Geografía como plataforma: API REST vs OGC y Geodatabases - Conferencia Esri España 2012

Post on 21-May-2015

937 views 2 download

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 of Geografía como plataforma: API REST vs OGC y Geodatabases - Conferencia Esri España 2012

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

Facebook

Foursquare

Flickr

GitHub

GoogleX

Instagram

Linkedin

mySpacemySpace

NYTimes

Paypal

Picasa

Salesforce

Spotify

StackExchange

Twitter

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