Innovando con esri Desarrolladores y Startups - Conferencia Esri España 2012

Preview:

DESCRIPTION

Presentación sobre las opciones de emprendedores con tecnología Esri en la pasada Conferencia. Si quieres ver fotos, vídeos y presentaciones del evento, visita la web: http://evento.esri.es/es/esri2012/

Citation preview

Innovando con ESRI:

Desarrolladores y

Startups

Departamento de Preventas:

Javier Abadía

José Antonio Anta

Contenido

- Introducción

- Soluciones Desarrollo

* Para Desktop

* Para Server

* Para Movilidad

Introducción

Esri como Plataforma

La plataforma completa

Pu

blic

ació

nC

on

sum

o

Bus de ServiciosBus de Servicios

Dispositivos

MóvilesDesktop Aplicaciones

de negocio

Otros

sistemasExplorador

Web

Pu

blic

ació

nC

on

sum

o

Cre

ació

nP

ub

licac

ión

Geodatos Globos Mapas Geoprocesos Rutas

SOAPREST OGCKML

Pu

blic

ació

nC

reac

ión

La plataforma completa

Pu

blic

ació

nC

on

sum

o

Bus de ServiciosBus de Servicios

Dispositivos

MóvilesDesktop Aplicaciones

de negocio

Otros

sistemasExplorador

Web

Pu

blic

ació

nC

on

sum

o

Servicios

GIS para el

Usuario

Cre

ació

nP

ub

licac

ión

Geodatos Globos Mapas Geoprocesos Rutas

SOAPREST OGCKML

Pu

blic

ació

nC

reac

ión

Repositorio

de Datos

Clientes

Servicios

ArcSDESDKSDK

• C y Java

API

• SQL + spatial

APIs Web

Aplicaciones

• ArcGIS Server

API REST:

Base para la explotación del Servidor

ArcObjects

Aplicaciones

ArcGIS for Desktop

ArcGIS for Server

ArcGIS Desktop• Add-Ins

Runtimes

Runtime SDK

• Objective C• Java

Aplicaciones

• Varias

Python

ArcPy

• Add-Ins

• Geoprocessing

Soluciones de Desarrollo

APIs

• Javascript

• Flex

• Silverlight

• APIs Complementarias

• SharePoint

• Google

• Bing

ArcGIS Engine: • Aplic. Independiente

Server: SOE• Ampliar funcionalidad

servidor

.NET y Java

• Java• Silverlight• .NET• WPF

SDK ArcGIS

Explorer

SDK

• .NET

Aplicaciones

• ArcGIS Explorer

FileGDBAPISDK

• C++

ArcSDESDKSDK

• C y Java

API

• SQL + spatial

APIs Web

Aplicaciones

• ArcGIS Server

API REST:

Base para la explotación del Servidor

ArcObjects

Aplicaciones

ArcGIS for Desktop

ArcGIS for Server

ArcGIS Desktop• Add-Ins

Runtimes

Runtime SDK

• Objective C• Java

Aplicaciones

• Varias

Python

ArcPy

• Add-Ins

• Geoprocessing

Soluciones de Desarrollo

APIs

• Javascript

• Flex

• Silverlight

• APIs Complementarias

• SharePoint

• Google

• Bing

ArcGIS Engine: • Aplic. Independiente

Server: SOE• Ampliar funcionalidad

servidor

.NET y Java

• Java• Silverlight• .NET• WPF

SDK ArcGIS

Explorer

SDK

• .NET

Aplicaciones

• ArcGIS Explorer

FileGDBAPISDK

• C++

Runtimes

Runtime SDK

• Objective C• Java

Aplicaciones

• Varias

Windows

Aplicaciones

• Viewer for Windows

Runtime SDK

• WPF, Java

Linux

Aplicaciones

• Ninguna

Runtime SDK

• Qt, Java

Desktop (PC / Tablet)

iOS

Aplicaciones

• ArcGIS for iOS

Runtime SDK

• Objective C

Android

Aplicaciones

• ArcGIS for Android

Runtime SDK

• Java

Windows Phone

Aplicaciones

• ArcGIS for WP

Runtime SDK

• Silverlight

Windows Mobile

Aplicaciones

• ArcGIS for WM

Runtime SDK

• .NET

Dispositivos Móviles

Soluciones de Desarrollo

• Java• Silverlight• .NET• WPF

Runtimes

Runtime SDK

• Objective C• Java

Aplicaciones

• Varias

Windows

Aplicaciones

• Viewer for Windows

Runtime SDK

• WPF, Java

Linux

Aplicaciones

• Ninguna

Runtime SDK

• Qt, Java

iOS

Aplicaciones

• ArcGIS for iOS

Runtime SDK

• Objective C

Android

Aplicaciones

• ArcGIS for Android

Runtime SDK

• Java

Windows Phone

Aplicaciones

• ArcGIS for WP

Runtime SDK

• Silverlight

Windows Mobile

Aplicaciones

• ArcGIS for WM

Runtime SDK

• .NET

Dispositivos

Soluciones de Desarrollo

• Java• Silverlight• .NET• WPF

Soluciones de Desarrollo

ArcGIS Server

Clientes Web, Desktop y Móviles

API RESTAPI REST

APIs WEB:

Javascript, Flex, Silverligh

APIs WEB:

Javascript, Flex, Silverligh

Runtime:

WPF, Java, WM, iOS, Android, WP

Runtime:

WPF, Java, WM, iOS, Android, WP

Publicador de

Servicios

GIS para el

Usuario

BBDDFile GDB y ArcSDE

ArcGIS DesktopArcObjectsArcObjects PythonPython

ArcSDE SDKArcSDE SDKFile GDB APIFile GDB APIRepositorio de

Datos

Creador y

Cliente

Avanzado

Soluciones de Desarrollo

Ejemplos

• Incidencias en la Vía Pública de un Ayuntamiento

• iOS, Android, WP

• Control Móvil en el Ámbito Militar

• Runtime WPF y JAVA, ArcGIS Engine

• Análisis de la Visibilidad Disponible en Carreteras

• Desktop + Add-Ins (ArcObjects)

CASOS DEUSO

• Desktop + Add-Ins (ArcObjects)

• Consultas Estadísticas en Secciones Censales de Madrid

• Aplicación Web

• Administración Periódica de Mapas

• Desktop + Python

• Actualización Cartográfica de Postes Telefónicos

• Runtime Windows Mobile

CASOS DE

Desarrollo en Desktop

ArcObjects - Python

Que son los ArcObjects

• Componentes de desarrollo.

• Todos los componentes de la arquitectura de ArcGIS

están construidos y desarrollados con ArcObjects.

Otras ClasesArcObjects

Los ArcObjects son Clases COM

Otras Clases

Mis Clases Mi Aplicación

Jerarquia y relaciones con los Arcobjects

*

Layer

MxDocument

Map

FeatureLayer

*

*

Application

FeatureLayer

Cada parte del GIS corresponde a una ClaseCada parte del GIS corresponde a una Clase

Las Clases están relacionadas entre siLas Clases están relacionadas entre si

Estas relaciones permiten pasar de una a otra de una Estas relaciones permiten pasar de una a otra de una manera manera cómoda, rápida y sin duplicación de memoria.cómoda, rápida y sin duplicación de memoria.

IMxDocument mxDoc = ArcMap.Document;

IActiveView m_focusMap = mxDoc.FocusMap as IActiveView;

ILayer lyr = null;

IFeatureLayer2 fLayer;

for (int i = 0; i < m_focusMap.FocusMap.LayerCount; i++)

{

if (m_focusMap.FocusMap.get_Layer(i).Name.ToString() == “Provincias”)

{

lyr = m_focusMap.FocusMap.get_Layer(i);

break;

}

}

fLayer = lyr as IFeatureLayer2;

Búsqueda de la Capa:

“Provincias”

Entorno para utilizar los ArcObjects

¿Qué podemos hacer con los ArcObjects?

Crear, Modificar, configurar,…

aplicaciones sobre:

ArcMap

ArcCatalog

ArcScene

ArcGIS Desktop

ArcGIS Engine

3 ENTORNOS

1

ArcScene

ArcGlobe

para automatizar procesos. ADD-INS

Construir y desplegar Aplicaciones Desktop a medida con ArcGIS Engine.

Construir SOE con ArcGIS Server.

ArcGISServer

DesktopDeveloper Kit

EngineDeveloper Kit

.NET JAVA .NET COM

C++ Java

.NET

ArcObjects

Java

SOESOE

2

3

Que es Python

• Lenguaje de programación “Gratuito”

• Fácil de aprender

• Usado como comandos simples o en Scripts

• Múltiples librerías de terceras casas (Envi,…)

• ESRI potencia Python:• ESRI potencia Python:

• Python windows

• Herramientas script Python

• ArcPy

Python

Python Windows

Punto de acceso a la funcionalidad de Python y ArcPy

Embebido dentro de ArcGIS e interactivo

ArcPy

Funciones

Clases

MódulosArcPy

Python

MappingGeoprocessing

Map Algebra

Python libraries

ScientificPython

Librerías

Standard Python

Librerías

Mapping

Map Algebra

Geoprocessing

Demo ArcObjects y Python

Desarrollo Web

APIs Web:

JavaScript, Flex y Silverlight

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

ArcGIS

forS

erver

API R

EST de ArcGIS

DEMO: API REST

DEMO: ArcGIS Viewer for Flex

HTML5 YHTML5 YHTML5 YHTML5 YHTML5 YHTML5 YHTML5 YHTML5 Y

JAVASCRIPTJAVASCRIPTJAVASCRIPTJAVASCRIPTJAVASCRIPTJAVASCRIPTJAVASCRIPTJAVASCRIPT

¿Qué es HTML5?¿Qué es HTML5?

caniuse.com

¿Cómo empezar?

Aprender Plantillas

Resource

Center

HTML5 / CSS3 / Javascript

Dojo

Dojo

• tutoriales

• layout

• widgets• widgets

http://dojotoolkit.org

ArcGISArcGIS ResourceResource CenterCenter

WebMapshttp://www.arcgis.com/home/item.html?id=0e88586b64aa408facd54e6996a285e8

Plantillas

• visor básico

• twitter

• swipe• swipe

• compare

• etc

Javascript

Flex

Silverlight

Demo aplicaciones Web

Desarrollo Con los SDKs

Runtime SDK:

Windows, Linux

Windows Mobile

iOS, Android, WP y Javascript móvil

Runtimes

Runtime SDK

• Objective C• Java

Aplicaciones

• Varias

Windows

Aplicaciones

• Viewer for Windows

Runtime SDK

• WPF, Java

Linux

Aplicaciones

• Ninguna

Runtime SDK

• Qt, Java

iOS

Aplicaciones

• ArcGIS for iOS

Runtime SDK

• Objective C

Android

Aplicaciones

• ArcGIS for Android

Runtime SDK

• Java

Windows Phone

Aplicaciones

• ArcGIS for WP

Runtime SDK

• Silverlight

Windows Mobile

Aplicaciones

• ArcGIS for WM

Runtime SDK

• .NET

Dispositivos

Soluciones de Desarrollo

• Java• Silverlight• .NET• WPF

WPF y JAVA

ArcGIS Runtime SDK

ArcGIS Runtime SDK for WPF y JAVA

Plataforma de desarrollo para crear aplicaciones con funcionalidad SIGPlataforma de desarrollo para crear aplicaciones con funcionalidad SIG

• Nueva Arquitectura(64 bit Nativo y 32)

• API Moderna (WPF, Java and Qt) (Windows y

Linux)

• Funcionalidad:

• Mapping, Navegación, Identificar, Consultas,

Buscar, Edición, Geolocalización y Buscar, Edición, Geolocalización y

Geoprocesamiento.

• Funcionalidad residente en Local o en el Servidor

• Fácil de Desplegar

• No requiere instalación

• Independiente de otras instalaciones de ArcGIS

• Software, mapas y datos

. . . Trabajo en entornos conectados y

desconectados

Runtime

Datos Locales

ArcGIS

ArcGIS Runtime SDK for WPF y JAVA

Comparando ArcGIS Server

ArcGIS Server

ArcGIS Runtime

WPF

VS2010

Ejemplos

Demo

ArcGIS Runtime SDK

Ejemplos

Aplicaciones Móviles

ArcGIS funciona en …

iOSMicrosoft

Windows Phone

AndroidWindows Mobile

Windows

Dispositivos ruguerizadosDispositivos ruguerizados Smartphones y TabletsSmartphones y Tablets

• ArcGIS for Windows Mobile. Modo conectado y desconectado.

• Copian datos a local. Sincronización

ArcGIS ServerArcGIS.com

Flujos de trabajo

• iOS, Android, WP7. Modo conectado.

• Contra el Servidor, similar a una aplicación Web

Mapa

Servicios Web

TerminalesTerminalesmóvilesmóviles

ArcGIS ServerArcGIS.com

ArcGIS DesktopArcEditor

Nueva funcionalidad sobre laaplicación ArcGIS Mobile Nueva aplicación

Opciones con ArcGIS Runtime SDK for

Windows Mobile

ArcGIS Runtime SDK for

iOS, Android, WP7

• Visualizar WebMap de www.arcgis.com o

cualquier ArcGIS portal

SDK Lenguaje IDE

iOS Objective-C Xcode Mac

Android Java Eclipse PC

WP7 Silverlight VS2010 PC

cualquier ArcGIS portal

• Visualizar información mediante Popups

• Consultas SQL

• Ejecutar Geoprocesamientos

• Coleccionar datos

• Geocodificación

• Operaciones geométricas entre entidades

Demo

iOS, Android, WP7

VS2008

Eclipse

Resursos WP7

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

dispositivo

Acceso limitado a las posibilidades del

dispositivo

Usabilidad propia del dispositivo Usabilidad común

Fácil controlar distribución Difícil controlar distribuciónFá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

HTML5. Aplicación Nativa �������� Aplicación Web

Ejecutar Aplicación Web en Navegadores (PC ó Móvil)

No accede a los sensores del dispositivo

SolucionesSoluciones

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)

• SI Accede a los sensores del dispositivo pruebaphone1

Demos de Movilidad

EjemplosEjemplos

Recursos web

Javascript

Conclusiones

Más información

• Jueves 4 11:30 - 13:00

“GIS en el Móvil y Aplicaciones Configurables”

• Developer Summit en Madrid. 15 de noviembre 2012

Gracias por su asistencia

• Referencias

• http://resources.arcgis.com

• Contacto:

javier.abadia@esri.es

joseantonio.anta@esri.esPREGUNTAS