IDELAB MAPSTRACTIONINTERACTIVE:
API UNIVERSAL Y POLÍGLOTA


Pablo López Escobés
IV Jornadas sobre SIG Libre de la Universidad de Girona
12 de Marzo de 2010
IDELab-Universidad de Valladolid http://www.idelab.uva.es
INTRODUCCIÓN
 El mundo de la web está cambiando
 Aparecen nuevas aplicaciones  Mashups
 Mashups de mapas tienen gran éxito
       Surgen muchas alternativas
       Cada una con su propio API
 Surge el término Neogeografía
 Problema para el usuario
 Necesidad de buscar un API Universal
 El IGN apostó por la integración de sus mapas en
  este API
INTRODUCCIÓN
 El mundo de la web está cambiando
 Aparecen nuevas aplicaciones  Mashups
 Mashups de mapas tienen gran éxito
       Surgen muchas alternativas
       Cada una con su propio API
 Surge el término Neogeografía
 Problema para el usuario
 Necesidad de buscar un API Universal
 El IGN apostó por la integración de sus mapas en
  este API
MAPSTRACTION: API UNIVERSAL

               API Mapstraction


   Yahoo API   Bing API   Google API   Otras API
MAPSTRACTION: API UNIVERSAL

 Librería de abstracción para la utilización de
  distintos proveedores de mapas
 El usuario no se tiene que preocupar por el API
  propia de cada proveedor
 Permite la integración fácil y sencilla de mapas
  en cualquier página web
 No permite interactuar con el mapa fácilmente
PROBLEMAS
   Mapstraction se encontraba en un estado casi de
    abandono
       La mayoría de los ejemplos de la web no funcionaban
       Últimos cambios en Diciembre de 2008
   Arquitectura era obsoleta y añadir funcionalidades o
    proveedores era muy complejo
       Todo incluido en un único script
       No orientado a objetos
   Las APIs de algunos proveedores habían cambiado y
    ya no era operativa en muchos casos o estaba
    incompleta
       Bing Maps
   La evolución de los mashups de mapas exigía nuevas
    funcionalidades
       Interactividad
PROBLEMAS
   Mapstraction se encontraba en un estado casi de
    abandono
       La mayoría de los ejemplos de la web no funcionaban
       Últimos cambios en Diciembre de 2008
   Arquitectura era obsoleta y añadir funcionalidades o
    proveedores era muy complejo
       Todo incluido en un único script
       No orientado a objetos
   Las APIs de algunos proveedores habían cambiado y
    ya no era operativa en muchos casos o estaba
    incompleta
       Bing Maps
   La evolución de los mashups de mapas exigía nuevas
    funcionalidades
       Interactividad
MAPSTRACTION V2
 Se hacía necesaria una nueva arquitectura para la
  librería
 Necesaria la orientación a objetos y la
  modularidad
 Surge la iniciativa de Mapstraction v2
       Lleva a cabo la refactorización
       Sólo incluye 3 proveedores
       No incluye nuevas funcionalidades
 Necesario incluir más proveedores
 Necesario diseñar nuevas funcionalidades
ARQUITECTURA MAPSTRACTION V2


   Base                  mxn.js




 Módulos                mxn.core.js




 Proveedores   google   microsoft     geocommons
LA NUEVA FUNCIONALIDAD
   Creación de una extensión que dote de nueva
    funcionalidad a Mapstraction, denominada
    IDELab MapstractionInteractive
   Posibilidad de interactuar con el mapa
       Creación de geometrías “al vuelo” haciendo click sobre el mapa.
       Modificación de las geometrías haciendo click sobre el mapa.
       Borrado de las geometrías del mapa de forma sencilla e intuitiva.
   Generación de eventos para poder actualizar la
    página en función de lo que el usuario haga con el
    mapa.
       Creación, modificación, borrado...
   Necesario un nuevo ciclo de vida para las geometrías
EL NUEVO CICLO DE VIDA
EL NUEVO CICLO DE VIDA
IMPLEMENTACIÓN DEL WORKFLOW
   Algunos proveedores proporcionan en su API
    métodos para implementar la funcionalidad
    deseada
       OpenLayers, Cartociudad, Google Maps

   Algunos proveedores no implementan en su API
    métodos para implementar la funcionalidad
    deseada
     Fue necesario diseñar para ellos un workflow universal
     Microsoft, Yahoo! Maps
FUNCIONALIDAD UNIVERSAL
 Hace posible la interactividad en cualquier
  proveedor
 Combinación de operaciones de la librería original
 Basado principalmente en el evento click del
  mapa
 Sencillo e intuitivo
FUNCIONALIDAD UNIVERSAL
 Hace posible la interactividad en cualquier
  proveedor
 Combinación de operaciones de la librería original
 Basado principalmente en el evento click del
  mapa
 Sencillo e intuitivo
LA NUEVA ARQUITECTURA

  Base                      mxn.js


 Módulos      mxn.core.js            mxn.interactive.js


   Capa                                   mxn.generic.interactive.js
 universal

Proveedores     provs         provs                provs
DEMOSTRACIÓN
CONCLUSIONES

 La neogeografía es un nuevo campo que ofrece
  muchas alternativas
 Existe una necesidad de crear un API Universal
  para los mashups de mapas
 Mapstraction está intentando cubrir esas
  necesidades
 Todavía quedan muchas preguntas de
  investigación abiertas en este campo
FUTURO TRABAJO

   Integración de más proveedores

   Implementación de nuevas funcionalidades

   El reto de los globos virtuales

   Integración de la librería en componentes GWT
IDELAB MAPSTRACTIONINTERACTIVE:
API UNIVERSAL Y POLÍGLOTA




Muchas gracias por su atención
                          http://www.idelab.uva.es

IDELab MapstractionInteractive: API Universal y Políglota

  • 1.
    IDELAB MAPSTRACTIONINTERACTIVE: API UNIVERSALY POLÍGLOTA Pablo López Escobés IV Jornadas sobre SIG Libre de la Universidad de Girona 12 de Marzo de 2010 IDELab-Universidad de Valladolid http://www.idelab.uva.es
  • 2.
    INTRODUCCIÓN  El mundode la web está cambiando  Aparecen nuevas aplicaciones  Mashups  Mashups de mapas tienen gran éxito  Surgen muchas alternativas  Cada una con su propio API  Surge el término Neogeografía  Problema para el usuario  Necesidad de buscar un API Universal  El IGN apostó por la integración de sus mapas en este API
  • 3.
    INTRODUCCIÓN  El mundode la web está cambiando  Aparecen nuevas aplicaciones  Mashups  Mashups de mapas tienen gran éxito  Surgen muchas alternativas  Cada una con su propio API  Surge el término Neogeografía  Problema para el usuario  Necesidad de buscar un API Universal  El IGN apostó por la integración de sus mapas en este API
  • 4.
    MAPSTRACTION: API UNIVERSAL API Mapstraction Yahoo API Bing API Google API Otras API
  • 5.
    MAPSTRACTION: API UNIVERSAL Librería de abstracción para la utilización de distintos proveedores de mapas  El usuario no se tiene que preocupar por el API propia de cada proveedor  Permite la integración fácil y sencilla de mapas en cualquier página web  No permite interactuar con el mapa fácilmente
  • 6.
    PROBLEMAS  Mapstraction se encontraba en un estado casi de abandono  La mayoría de los ejemplos de la web no funcionaban  Últimos cambios en Diciembre de 2008  Arquitectura era obsoleta y añadir funcionalidades o proveedores era muy complejo  Todo incluido en un único script  No orientado a objetos  Las APIs de algunos proveedores habían cambiado y ya no era operativa en muchos casos o estaba incompleta  Bing Maps  La evolución de los mashups de mapas exigía nuevas funcionalidades  Interactividad
  • 7.
    PROBLEMAS  Mapstraction se encontraba en un estado casi de abandono  La mayoría de los ejemplos de la web no funcionaban  Últimos cambios en Diciembre de 2008  Arquitectura era obsoleta y añadir funcionalidades o proveedores era muy complejo  Todo incluido en un único script  No orientado a objetos  Las APIs de algunos proveedores habían cambiado y ya no era operativa en muchos casos o estaba incompleta  Bing Maps  La evolución de los mashups de mapas exigía nuevas funcionalidades  Interactividad
  • 8.
    MAPSTRACTION V2  Sehacía necesaria una nueva arquitectura para la librería  Necesaria la orientación a objetos y la modularidad  Surge la iniciativa de Mapstraction v2  Lleva a cabo la refactorización  Sólo incluye 3 proveedores  No incluye nuevas funcionalidades  Necesario incluir más proveedores  Necesario diseñar nuevas funcionalidades
  • 9.
    ARQUITECTURA MAPSTRACTION V2 Base mxn.js Módulos mxn.core.js Proveedores google microsoft geocommons
  • 10.
    LA NUEVA FUNCIONALIDAD  Creación de una extensión que dote de nueva funcionalidad a Mapstraction, denominada IDELab MapstractionInteractive  Posibilidad de interactuar con el mapa  Creación de geometrías “al vuelo” haciendo click sobre el mapa.  Modificación de las geometrías haciendo click sobre el mapa.  Borrado de las geometrías del mapa de forma sencilla e intuitiva.  Generación de eventos para poder actualizar la página en función de lo que el usuario haga con el mapa.  Creación, modificación, borrado...  Necesario un nuevo ciclo de vida para las geometrías
  • 11.
  • 12.
  • 13.
    IMPLEMENTACIÓN DEL WORKFLOW  Algunos proveedores proporcionan en su API métodos para implementar la funcionalidad deseada  OpenLayers, Cartociudad, Google Maps  Algunos proveedores no implementan en su API métodos para implementar la funcionalidad deseada  Fue necesario diseñar para ellos un workflow universal  Microsoft, Yahoo! Maps
  • 14.
    FUNCIONALIDAD UNIVERSAL  Haceposible la interactividad en cualquier proveedor  Combinación de operaciones de la librería original  Basado principalmente en el evento click del mapa  Sencillo e intuitivo
  • 15.
    FUNCIONALIDAD UNIVERSAL  Haceposible la interactividad en cualquier proveedor  Combinación de operaciones de la librería original  Basado principalmente en el evento click del mapa  Sencillo e intuitivo
  • 16.
    LA NUEVA ARQUITECTURA Base mxn.js Módulos mxn.core.js mxn.interactive.js Capa mxn.generic.interactive.js universal Proveedores provs provs provs
  • 17.
  • 18.
    CONCLUSIONES  La neogeografíaes un nuevo campo que ofrece muchas alternativas  Existe una necesidad de crear un API Universal para los mashups de mapas  Mapstraction está intentando cubrir esas necesidades  Todavía quedan muchas preguntas de investigación abiertas en este campo
  • 19.
    FUTURO TRABAJO  Integración de más proveedores  Implementación de nuevas funcionalidades  El reto de los globos virtuales  Integración de la librería en componentes GWT
  • 20.
    IDELAB MAPSTRACTIONINTERACTIVE: API UNIVERSALY POLÍGLOTA Muchas gracias por su atención http://www.idelab.uva.es