Este documento describe las diferentes soluciones de desarrollo de Esri para crear aplicaciones GIS, incluyendo APIs web, runtimes para dispositivos móviles y SDK. Explica las opciones para desarrollar aplicaciones web con ArcGIS, así como aplicaciones para dispositivos móviles como Windows Mobile, iOS, Android y Windows Phone utilizando los correspondientes SDK. También cubre visores configurables para Flex, Silverlight y otras plataformas.
4. Soluciones de Desarrollo
ArcObjects Python ArcSDE APIs Web Runtimes
SDK Aplicaciones
Aplicaciones ArcPy Aplicaciones
SDK
ArcGIS for Desktop • Add-Ins • ArcGIS Server • Varias
• C y Java
ArcGIS for Server
• Geoprocessing
API REST:
API Runtime SDK
ArcGIS Desktop Base para la explotación del
• Add-Ins • SQL + spatial Servidor • Objective C
• Java
• Silverlight
ArcGIS Engine: SDK FileGDB APIs • .NET
• Aplic. Independiente • WPF
ArcGIS API
• Javascript
Explorer SDK
• Flex
Server: SOE Aplicaciones • Silverlight
• Ampliar funcionalidad • C++
• ArcGIS Explorer • APIs Complementarias
servidor
SDK • SharePoint
• .NET • Google
.NET y Java
• Bing
5. Soluciones de Desarrollo
ArcObjects Python ArcSDE APIs Web Runtimes
SDK Aplicaciones
Aplicaciones ArcPy Aplicaciones
SDK
ArcGIS for Desktop • Add-Ins • ArcGIS Server • Varias
• C y Java
ArcGIS for Server
• Geoprocessing
API REST:
API Runtime SDK
ArcGIS Desktop Base para la explotación del
• Add-Ins • SQL + spatial Servidor • Objective C
• Java
• Silverlight
ArcGIS Engine: SDK FileGDB APIs • .NET
• Aplic. Independiente • WPF
ArcGIS API
• Javascript
Explorer SDK
• Flex
Server: SOE Aplicaciones • Silverlight
• Ampliar funcionalidad • C++
• ArcGIS Explorer • APIs Complementarias
servidor
SDK • SharePoint
• .NET • Google
.NET y Java
• Bing
6. Soluciones de Desarrollo
Desktop (PC / Tablet) Dispositivos Móviles
Runtimes Windows Linux Windows iOS Android Windows
Mobile Phone
Aplicaciones Aplicaciones Aplicaciones Aplicaciones Aplicaciones Aplicaciones Aplicaciones
• Varias • Viewer for • Ninguna • ArcGIS for • ArcGIS for • ArcGIS for • ArcGIS for
Windows WM iOS Android WP
Runtime SDK
Runtime SDK Runtime SDK Runtime SDK Runtime SDK Runtime SDK Runtime SDK
• Objective C
• WPF, Java • Qt, Java • .NET • Objective C • Java • Silverlight
• Java
• Silverlight
• .NET
• WPF
7. Soluciones de Desarrollo
Dispositivos
Runtimes Windows Linux Windows iOS Android Windows
Mobile Phone
Aplicaciones Aplicaciones Aplicaciones Aplicaciones Aplicaciones Aplicaciones Aplicaciones
• Varias • Viewer for • Ninguna • ArcGIS for • ArcGIS for • ArcGIS for • ArcGIS for
Windows WM iOS Android WP
Runtime SDK
Runtime SDK Runtime SDK Runtime SDK Runtime SDK Runtime SDK Runtime SDK
• Objective C
• WPF, Java • Qt, Java • .NET • Objective C • Java • Silverlight
• Java
• Silverlight
• .NET
• WPF
15. API de ArcGIS para JavaScript
Descripción API Ejemplos Foro
Plantillas Ejemplos de aplicaciones
16. ArcGIS Online
ArcGIS Online es una plataforma abierta de datos basada en la
nube para mapas e información geográfica.
Facilita crear y compartir mapas y herramientas GIS con
cualquiera, en cualquier lugar y sobre cualquier dispositivo.
Se puede usar YA, AHORA y GRATIS – www.arcgis.com
17. ArcGIS Online es un nuevo patrón
• Una Plataforma abierta para Mapas e Información
Geográfica
Cloud / Web
Desktop Server
Intelligent Web Maps
• … fácil y accesible para cualquiera
19. Opciones disponibles
1 - ArcGIS.com
• Usuarios noveles sin conocimientos de
programación
2 – Reutilizar una plantilla de la Galería de Recursos
• Usuarios avanzados
3 – Desarrollar con la API
• Desarrolladores JavaScript
21. ArcGIS + Flex
• API de ArcGIS para Flex
• Flex Viewer
Compilado
Código
fuente
22. ArcGIS Viewer para Flex
• Cliente Web Configurable ready-to-deploy
- Construido con la API de ArcGIS para Flex
• Crear aplicaciones Web GIS de manera Fácil y rápida
Instalar Configurar Publicar
• Conjunto de herramientas y funcionalidades
• Funciona con ficheros de configuración a los que no hace falta ni
editar ni programar.
- Ideal para técnicos GIS no desarrolladores.
24. Software necesario
• IDE para compilar el visor (por ejemplo. Flash
Builder)
• Adobe Flex 4.5 SDK o posterior
• Fuente de ArcGIS Viewer for Flex en Github
• API de ArcGIS para Flex
• Más instrucciones en Flex Resource Center
28. ArcGIS + Silverlight
• API de ArcGIS para Silverlight
C#
xaml
• Plantillas de Visual Studio y Expression Blend
29. ArcGIS Viewer para Silverlight
• Cliente Web Configurable ready-to-deploy
- Construido con la API de ArcGIS para Silverlight
• Crear aplicaciones Web GIS de manera Fácil y rápida
Instalar Configurar Publicar
• Conjunto de herramientas y funcionalidades
• Funciona con ficheros de configuración a los que no hace falta ni
editar ni programar.
- Ideal para técnicos GIS no desarrolladores.
30. ArcGIS Viewer for Silverlight Overview
• on-premise
• Tiene 3 módulos
1. Visor configurable
2. Constructor de aplicación
3. Kit Extensibilidad
• Versión 32-bit y 64-bit
31. Visor Configurable
• El visor permite
• Configuración de mapas
• Definir la arquitectura del visor general
• Incorporar herramientas genéricas y
personalizadas
• Definir la apariencia (título, colores, logo)
32. Visor Configurable
• Extensibilidad “Add-in” → módulo de código que conEene
una funcionalidad
• Código Silverlight compilado (*.xap)
• Admite la reutilización
• Partes configurables:
Herramientas → normalmente en la barra de
herramientas
Comportamientos → con lógica non-UI
Layouts → personalizar la aplicación en apariencia
Controles → UI integrados dentro de una aplicación
33. Add-Ins – Extendiendo el visor
• Software necesario para desarrollar los Add-In
• Visual Studio 2010 SP1
• Expression Blend 4 SDK
• Silverlight 4 Toolkit
• ArcGIS Extensibility SDK para Silverlight 2.4
• Plantillas Visual Studio 2010
• El mismo Add-in funciona en Silverlight Viewer y
en ArcGIS para SharePoint
36. Soluciones de Desarrollo Movilidad
Dispositivos
Runtimes Windows Linux Windows iOS Android Windows
Mobile Phone
Aplicaciones Aplicaciones Aplicaciones Aplicaciones Aplicaciones Aplicaciones Aplicaciones
• Varias • Viewer for • Ninguna • ArcGIS for • ArcGIS for • ArcGIS for • ArcGIS for
Windows WM iOS Android WP
Runtime SDK
Runtime SDK Runtime SDK Runtime SDK Runtime SDK Runtime SDK Runtime SDK
• Objective C
• Java • WPF, Java • Qt, Java • .NET • Objective C • Java • Silverlight
• Silverlight
• .NET
• WPF
37. Aplicaciones Móviles
ArcGIS funciona en …
Windows Mobile Android
Microsoft
iOS Windows Phone
Windows
Dispositivos ruguerizados Smartphones y Tablets
38. Flujos de trabajo
• ArcGIS for Windows Mobile. Modo conectado y desconectado.
• Copian datos a local. Sincronización
ArcGIS.com ArcGIS Server
Mapa
ArcGIS Desktop
ArcEditor
• iOS, Android, WP7. Modo conectado.
• Contra el Servidor, similar a una aplicación Web
Servicios
Web
ArcGIS.com ArcGIS Server Terminales
móviles
40. Opciones con ArcGIS Runtime SDK for
Windows Mobile
Nueva funcionalidad sobre la
Nueva aplicación
aplicación ArcGIS Mobile
41. ArcGIS for Windows Mobile
Arquitectura
Aplicación de campo centrado en tareas:
Mobile Project Center
Crear y gestionar proyectos móviles
ArcGIS Mobile
Para Windows
Para Windows Mobile
Rápido y fácil de usar para el manejo de datos, mapas y
proyectos
Basada en Tareas
Toma de datos directamente del GPS.
Acceso a Datos vía ArcGIS Server y ArcGIS Desktop
Trabajo en modo desconectado.
Trabajo en modo conectado. Consume Servicios Mapa
Desarrollable en .NET (SDK)
42. Operaciones de Rutas en Local
• Abrir Ruta y dibujar en Mapa
RouterFactoryClass rfc = new RouterFactoryClass();
IRouter _route = rfc.CreateRouter(@“<PATH>Streets.rs");
StreetMapDataset _dataset =
new StreetMapDataset(@“<PATH>_navteq_na.navmap");
StreetMapLayer _layer = new StreetMapLayer(_dataset);
_dataset.Open();
mapControl1.MapLayers.Add(_layer);
43. Routing
• Abrir ruta y Calcular ruta entre dos puntos
RouterFactoryClass rfc = new RouterFactoryClass();
IRouter _route = rfc.CreateRouter(@“<PATH>Streets.rs");
StopCollectionClass stopsCollection = new StopCollectionClass();
//Add StopClass to the StopCollectionClass
stopsCollection.Add();
IDirections directions = _route.Solve(stopsCollection, null);
IDirectionsSummary summary = directions.Summary;
IDirectionCollection directionCollection = directions.Items;
44. Demo ArcGIS Runtime SDK
Windows Mobile
Mostrar Aplicación defecto y VS2008 crear
46. ArcGIS Runtime SDK for iOS
Lenguaje de desarrollo Objective-C
Integración en XCode (ejemplos, plantillas)
Descarga desde “ESRI iOS Resource Center”
• Visualizar WebMap de www.arcgis.com o
cualquier ArcGIS portal
• Visualizar información mediante Popups
• Consultas SQL
• Ejecutar Geoprocesamientos
• Coleccionar datos
• Geocodificación
• Operaciones geométricas entre entidades
47. Requisitos para ArcGIS Runtime SDK for iOS
• Apple
• 1- Requisitos Hardware:
• Apple Macintosh con procesador Intel
• MacOS: Snow Leopard (OS X 10.6.2 o superior) o Lion (OS X 10.7 o superior)
• 2- iOS SDK 4 o superior (iOS SDK 5.1 también)
• 3- Dispositivos iPhone 3G / 3GS / 4 / 4S, iPod touch, y iPad / 2 / 3.
Con Sistema iOS 4 o superior
• ArcGIS Runtime SDK para iOS API 2.3
• Suscripción al ‘iOS Developer Program’ de Apple
• Necesario para probar aplicaciones en el dispositivo real
• $100 al año
51. SDK Requisitos
• Java Development Platform (JDK)
http://www.oracle.com/technetwork/java/javase/downloads/index.html
• Eclipse Development Platform (3.6.2+ Helios)
http://www.eclipse.org/downloads/
• Google Android SDK
http://developer.android.com/sdk/index.html
• Google ADT para Eclipse
• ArcGIS Runtime SDK para Android API 2.0
Emulador está soportado??
• SI: http://blogs.esri.com/esri/arcgis/2012/05/02/arcgis-runtime-sdk-for-android-v1-1-supports-android-emulator/
53. Tareas (Tasks)
• Todas la tareas son asíncronas
• Identify
• Query
• Geocode
• GeoProcessing
Componentes Gráficos del SDK
• Callouts
- Bocadillo sobre el mapa
• IdentifyResultSpinner
- Rellenar el adaptador con la lista de resultados
- Popups
- Propios de la configuración del WebMap
54. Off-Line
• Para Capas Base:
• Para Capas Operacionales:
• Utilizar Feature Services. Proporciona datos vectoriales
• Los resultados de la consulta pasarlos a disco en json y
después leerlo:
59. App Nativa Vs App Web
App Nativa App Web
Aplicación se instala en el dispositivo El navegador del dispositivo accede a la
aplicación Web
Acceso ilimitado a las posibilidades del Acceso limitado a las posibilidades del
dispositivo dispositivo
Usabilidad propia del dispositivo Usabilidad común
Fácil controlar distribución Difícil controlar distribución
Exposición a través de las Store
Un lenguaje para cada dispositivo Lenguaje único aunque cambios para
cada modelo dispositivo
Actualización depende del usuario Actualización depende programador
Ciclo actualización lento Ciclo actualización rápido
APIs integrables en 3ª app
60. HTML5. Aplicación Nativa Aplicación Web
Ejecutar Aplicación Web en Navegadores (PC ó Móvil)
No accede a los sensores del dispositivo
Soluciones
Dentro de una Aplicación Nativa Embeber la Aplicación Web
a) Código Aplicación Web (o URL) dentro aplicación Nativa
• No Accede a los sensores del dispositivo
b) Añadir librería “Phonegap” (Todos los dispositivos)
pruebaphone1
• SI Accede a los sensores del dispositivo
64. ArcGIS Viewer for …
• Un asistente para crear aplicaciones
• Diseño interface y Configuración funcionalidad.
• Genera un archivo de configuración de la aplicación
• Distintas plataformas (iOS, Android, WP, Windows, WEB)
• En cada una un ejecutable
• El ejecutable lee fichero configuración (JSON)
Idéntica en
todas las
Mismos datos
plataformas
Misma interface
Misma funcionalidad
Misma experiencia usuario