Вы находитесь на странице: 1из 58

Lder en soluciones geogrficas

empresariales

Seminario Pre-Conferencia

XV Conferencia Colombiana
de Usuarios Esri
Bogot, Agosto 26 30 de 2013

ArcGIS para Desarrolladores


Omar Ceballos - Fernando Benitez

Agenda
Que veremos?

Web GIS

Desktop

Web

Mvil

Suscripcin EDN

ArcGIS para Desarrolladores

Otros Recursos

Web GIS
El nuevo patrn geogrfico.

Quin es usted?

Profesional SIG
Desarrollador experto

Web

Mvil

Analista
Lder de Proyecto

Desarrollo
Cree un plan de desarrollo

Plan de desarrollo
MyCode.html
<html>
<script>
function{

Planee

Disee

</script>
</html>

Escribir su
Codigo
Copy

Paste

Modify

Modificar el Cod Existente

Implemente

Construya

Pruebe
Visor externos
(Sin Codigos)

Desarrollos de
Escritorio
Desktop Add-ins (.NET Java
Python)
Desktop Apps ( .NET Java
C++)
Apps Livianas y desconectadas
( Java [ Linux Windows] WPF
QT MacOS X)

Desarrollos de Escritorio

Add Ins Personalizaciones para tareas especificas

El modelo de Add in de ArcGIS for Desktop es un Framework


declarativo para crear una coleccin de personalizaciones que se
empaquetaran en un solo archivo.

Add Ins Personalizaciones para tareas especificas


Cuando Usarlos?: Depende de las metas y especificaciones
de la solucin que este construyendo.

Python:

Disponible desde 10.1, brinda un camino simple


para crear las personalizaciones, a travs del
Python Add In Wizard

Extendiendo a COM Clsico:

Cuando el Framework de Add In no


soporta el requerimiento que usted tiene

Demo

Demo
Desarrollos dentro de ArcGIS Desktop

Add In - Python

Modelo de ArcObjects
MxDocument

ArcMapUI
DataSet

*
Map

Carto

*
Layer

Geodatabase

Table

Carto Layer
FeatureLayer

0 ... 1 FeatureClass

FeatureDataset

Desktop Apps: Aplicaciones independientes


Aplicaciones con funcionalidades especificas para necesidades especificas

ArcGIS Engine: Windows Forms WPF Java


-

Aplicaciones de interfaz personalizadas

Aplicaciones sin interfaz de mapeo

Inclusin de funcionalidad SIG

ArcGIS Runtime SDKs


SDK para WFP QT ( Win & Linux) Windows 8 Store Java

Android

JavaSE

QT

iOS

OS X

10.1.1

10.1.1

10.2 BETA

10.1.1

10.2 BETA

Java/
Android

Java
Win/Linux

C++
Win/Linux

Objective-C

Objective-C

Cocoa
Touch

Cocoa

Windows
Mobile

WPF
10.1.1

10.1.1
.NET

.NET/XAML

Windows
Phone

Windows
Store

10.1.1

10.2 BETA

.NET/XAML

.NET/XAML

Core Runtime

Demo

Demo
Desarrollos de Escritorio Livianas

WPF MacOS X

Desarrollos Web

REST APIs
ArcGIS Server
Portal for ArcGIS (ArcGIS Online)

JavaScript
Adobe Flex
Silverlight

Compartiendo los SIG

ArcGIS Server y servicios Web

ArcGIS Server
Mapping

Analysis

Admin

HTTP
HTTP

Accediendo a los servicios SIG

Servicio de Mapa
REST

SOAP

KML

http://server:6080/arcgis/rest/
services/service/MapServer

http://server:6080/arcgis/
services/service/MapServer

http://server:6080/arcgis/rest
services/service/MapServer/KMLServer

Arquitectura del sitio ArcGIS Server

Sitio ArcGIS Server


ArcGIS Server

Server directory

Configuration store

Cuenta de S.O de
ArcGIS Server

Cuenta de Administracin
del Sitio

ArcGIS Server Manager


Services Directory
ADMIN Directory

API REST
Toda la funcionalidad de AG expuesta a travez de servicios.

Consumir los servicios listos para usar de ArcGIS Online o


de su organizacin

Publicar sus propios servicios.

Crear y compartir Items sobre AGOL o sobre su


organizacin.

Configurar y automatizar partes del sistema ArcGIS, como


AG for Server y Portal for ArcGIS.

Como Usar el API?


A travs de cualquier lenguaje que use peticiones
HTTP (.NET, Python,)

JavaScript (Web)
Aplicaciones Web que se
ejecutan en cualquier navegador

ArcGIS for Server y el API de JS

Editor de Exto
MyApp.html

<html>
<script>

Server
(i.e., ArcGIS
Online)

..jsapi/arcgis/?v=xx
REST

</script>
</html>

.html

.css
.js

Services

Aplicacione
Web de mapa
JavaScript
web

Despliegue
en el web
server

Anatoma de una aplicacin de JavaScript


<html>

Tags de Apertura

Referencia CSS

<head>
<link href="http://.../js/dojo/dijit/themes/claro/claro.css" rel="stylesheet" type="text/css" >
<script language="JavaScript" type="text/javascript" src="mycode.js"></script>
<script src="http://.../dojo/1.5/dojo/dojo.xd.js" type="text/javascript">
function findFeatures () {

Referencia JavaScript

alert("You entered: " + dojo.byId("findText").value);


}
Funcion

</script>
</head>

Elemento Body

Elemento DIV

<body class="claro">
<div id="appContent" style="width:900px; height:600px; border:1px solid #000;"></div>
</body>
</html>

Tags de cierre

Dentro del API


Tareas

Mapas

Graficos

Demografa de
Colombia

Widgets

JS Flex - Silverlight

Demo Desarrollo
Web
JavaScript

Adobe Flex (Web)


Aplicaciones Web enriquecidas
grficamente

Dentro del API

Framework

IDE

Platform

Crear y usar una aplicacin usando el API de Flex

Crear la App
Compilar la
App

MXML
ActionScript
Debug

Despliegue
en el Web
Server

Ejecutar la
App

SWF
Exportar Release Build
HTML Wrapper
SWF al
Cliente

ArcGIS Server y el API de Flex

Usar
Desktop
.NET
Java
Mobile

Servir

Crear

SOAP

Datos

Servicios

Recursos

Flex
Silverlight
JavaScript

REST

Flex API
(SWC)
ArcGIS
API for
Flex

ArcGIS Online

Basemaps, etc.

Desarrollar
Aplicacin
Con el API

Desplegar
en
Web Server

Silverlight ( Web)
Aplicaciones Web enriquecidas
grficamente

Desarrollando una aplicacin con Silverligth

Agregar assemblies

Agregar Controles

Codigo
XAML

MainPage.xaml

Code behind

MainPage.xaml.cs

Desplegando una aplicacin de Silverligth


Web Server

Navegador

HTML

XAP
Extension MIME Type
.xap
.xaml

application/x-silverlight-app
application/xaml+xml

Assemblies Requeridos
Manifestos
.DLL

JS Flex - Silverlight

Demo Desarrollo
Web
Flex Silverlight

Desarrollos Mvil

iOS
Android
WinPhone

Plataformas SDK
Android

JavaSE

Qt

iOS

OS X

10.1.1

10.1.1

BETA

10.1.1

BETA

Java
Android

Java
Win/Linux

C++
Win/Linux

Objective-C

Objective-C

Cocoa
Touch

Cocoa

Windows
Mobile

WPF
10.1.1

10.1.1
.NET

.NET/XAML

Windows
Phone

Windows
Store

10.1.1

BETA

.NET/XAML

.NET/XAML

Core Runtime

SDK para iOS


Versin 10.1.1 Update 2 (Aug 2013)

Requerimientos de desarrollo
Intel-based Macintosh corriendo Lion (OS X 10.7 o higher) o
Mountain Lion (OS X 10.8 o superior)

iOS SDK 5.0 y iOS SDK 6.0


Puede suscribirse como desarrollador iOS y obtener guas de
programacin, ejemplos, videos y foros para su desarrollo
El SDK de iOS cuenta con un simulador tanto para iPhone como
para iPad, Sin embargo siempre se recomienda que se pruebe la
aplicacin sobre el dispositivo.

Qu es Objective-C?
Subconjunto de C

Como subconjunto de C, cuenta con la misma sintaxis


de C ( int, float, If, else)
Lenguaje orientado a objetos en el cual corren todas las
aplicaciones iOS
Fcil de aprender en especial si usted tiene experiencia
con Java o C++

iOS 10.1.1

GeoApps para
iOS
Demostracin
AGSCredential* credential = [[[AGSCredential
alloc] initWithUser:@"<user>"
password:@"<password>"] autorelease];
credential.authType =
AGSAuthenticationTypeToken; AGSWebMap*
webmap = [[AGSWebMap alloc]
initWithItemId:@"e229d715f7ca4fa980308549fb2
88165" credential:credential];

Update 1 (June 2013)


Android
10.1.1
Java
Android

Android
10.1.1

Android 10.1.1

GeoApp para
Android
Demostracin
// Retrieve the map and initial extent from
XML layout
mMapView =
(MapView)findViewById(R.id.map);
// Add dynamic layer to MapView
mMapView.addLayer(new
ArcGISTiledMapServiceLayer("" +
"http://services.arcgisonline.com/ArcGIS
/rest/services/World_Street_Map/MapServer"))
;
}

SDK para
WinPhone
Versin 10.1.1

Windows 8 y Windows Phone 8


SDK de Windows Phone 8

Qu es Silverlight?
ArcGIS Runtime SDK for Windows Phone

Plataforma de desarrollo aplicaciones de


negocio de escritorio o Web (RIA) para
Windows
Plataforma de desarrollo de aplicaciones
para Windows Phone 7.x o Windows
Phone 8
Base de la plataforma de desarrollo de
Aplicaciones Windows Store en
Windows 8
XAML + .NET

ArcGIS Runtime
SDK for
Windows Phone
10.1.1

Win Phone 10.1.1

GeoApp para
WinPhone 8
Demostracin
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
Document webMap = new Document();
webMap.GetMapCompleted +=
webMap_GetMapCompleted;
webMap.GetMapAsync("c55e069bb94441e5a16e51c3eddc
d0b1");

Vamos a reportar!

http://goo.gl/vHZtlZ

EDN
Esri Developer Network
Suscripcin anual

AG4Devs

ArcGIS para
Desarrolladores
Un sitios que centraliza todos los
recursos para mviles y tabletas

ArcGIS para Desarrolladores

Devs

AG4Devs
Demostracin

Esri en Github
Red social de cdigo abierto,
administracin de versiones

Esri sobre Github

github.com/esri
99+ repos publicas
250 contribuidores
Cientos de source forks
Encontrar:
Apps
Plantillas
Ejemplos

Maps
Data

Apps

Services
Models
Workflows

Esri sobre Github Muchos tipos de Repos

Devs

Esri en Github
Demo

Directorio de Servicios de
REST de entidades en

Colombia

Muchas Gracias

Lder en soluciones geogrficas empresariales