resumo sessão técnica "arcgis 10.1 desktop developer migration topics" do esri...

24
Resumo da Sessão Técnica ArcGIS 10.1 Desktop Developer Migration Topics Bruno Caimar Imagem Soluções Verticais Maio / 2012

Upload: bruno-caimar

Post on 21-May-2015

1.234 views

Category:

Technology


2 download

DESCRIPTION

Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI Developer Summit 2012

TRANSCRIPT

Page 1: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Resumo da Sessão Técnica

ArcGIS 10.1 Desktop Developer Migration Topics

Bruno CaimarImagem Soluções Verticais

Maio / 2012

Page 2: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Agenda• Mudanças no ArcGIS 10.0 e 10.1 - Requisitos do SDK - Suporte 64 Bit - Publisher Policy Files - Mudanças nome de produto (10.1)• Runtime Binding ( Aplicações Standalone )• Mudanças no registro de componentes• Workflow para migração• Novas opções para customização - Add-ins - Python - ArcGIS Runtime• Migração VBA/VB6• FAQ (Perguntas e Respostas) e Dicas rápidas

Page 3: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Requisitos SDK10.0• Visual Studio 2008 sp 1 / Visual Studio Express 2008• Visual Studio 2010• .NET Framework - 3.5 sp 1• Certificado no .Net 3.5 sp1

10.1• Visual Studio 2010 / Visual Studio 2010 Express • .NET Framework - 3.5 sp 1• Certificado .Net 4.0

ArcGIS Desktop• Engine Runtime deve estar instalado• ArcObjects .NET SDK• ArcGIS Engine Developer Kit License

Page 4: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

.NET Framework

.NET Framework 3.5 é o minimo requerido - Instalado com o Engine ou Desktop .NET Framework 4.0 completamente suportado (10.1) - requer instalação independente

Interop types não são mais necessários

Page 5: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Suporte 64 Bit

• ArcGIS Desktop e Engine são aplicações de 32 bit - Rodam como aplicações 32 bit em SO's 64 Bit

• Aplicações Standalone - Compilar para plataforma x86 (padrão VS é “Any CPU”)

• ArcGIS 10 já é Large Address Aware - Pode utilizar até 4 GB de RAM (se disponível) em SO's 64 bit

Page 6: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

No Publisher Policy Files

● Policy files especificam o redirecionamento de assembly's- Incluído nas versões anteriores

● Desktop inclui um arquivo de configuração- Redireciona os assemblies do 9.3.x para o 10- Apenas para auxiliar na migração

● Recomenda-se que todas as aplicações sejam recompiladas (tanto para o 10.0 quanto para o 10.1)

Page 7: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Mudanças no nome de Produto (10.1)

- Mudanças na enumeração esriProductCode10.0 10.1esriProductCodeArcView esriProductCodeBasicesriProductCodeArcEditor esriProductCodeStandardesriProductCodeArcInfo esriProductCodeAdvanced

- Mudanças na enumeração esriLicenseProductCode10.0 10.1esriLicenseProductCodeArcView esriLicenseProductCodeBasicesriLicenseProductCodeArcEditor esriLicenseProductCodeStandardesriLicenseProductCodeArcInfo esriLicenseProductCodeAdvanced

Page 8: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Runtime BindingAplicações Standalone

• No ArcGIS 10 cada aplicação possui seu próprio runtime - Cada aplicação tem seu próprio local de instalação - Service pack separados

● ArcObjects deve ser, obrigatoriamente, apontado para um runtime - Requerido para todas as aplicações standalone - Obrigatório fazer “bind” antes de qualquer chamada ArcObjects - Aplicações “Engine” podem fazer “bind” para runtime “Desktop” ou “Engine”

● Importante - Binding não é licenciamento - Ainda e necessário utilizar uma licença

Page 9: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Runtime Binding - How To

• Adicionar uma referencia para ESRI.ArcGIS.Version• Utilizar classe estática RuntimeManager - Chamar ESRI.ArcGIS.RuntimeManager.Bind passando o código do produto que deseja utilizar - Também é possível utilizar o método BindLicense que realiza o “Bind” e também chama o AoInitialize (licença)

• Recomendado efetuar o “Bind” no método main(c#)/evento startup(VB.NET)

- O assembly chama-se ESRI.ArcGis.Version- O namespace chama-se Esri.ArcGis

Page 10: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Componentes customizadosRegistro de componentes

• Antes da versão 10, o ArcGIS 'descobria' quais customizações ele deveria carregar baseado na categoria que o componente estava registrado (registro do Windows)

• No ArcGIS 10 as categorias de componentes NÃO são mais obtidas no registro

• Essas informações são agora obtidas em arquivos de configuração (*.eecfg)

Page 11: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012
Page 12: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012
Page 13: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Componentes customizadosComo registrar componentes

• Componentes ainda são baseados em COM - Obrigatório registrar como componente COM

• Utilizar o utilitário ESRIRegAsm.exe para: - Registrar o componente COM - Criar o arquivo ECFG no local apropriado Engine: %CommonProgramFiles%\ArcGIS\Engine10.0\Configuration\CATID

\ArcGIS\Engine10.1\Configuration\CATID Desktop: %CommonProgramFiles%\ArcGIS\Desktop10.0\Configuration\CATID

\ArcGIS\Desktop10.1\Configuration\CATID

• Sugestão em tempo de desenvolvimento- Adicionar um “custom build step” no seu projeto .NET

para realizar a chamada ao utilitário

Page 14: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Componentes customizadosDeploy

Opção 1: - Chamar o utilitário ESRIRegAsm.exe na maquina alvo - ESRIRegAsm.exe <MyDll.dll> /p:<Product>

* Utillitário é sempre instalado pelo ArcGIS no caminho%CommonProgramFiles%\Common Files\ArcGIS\bin

Opção 2: - Registrar o componente COM normalmente - Copiar o arquivo ecfg para o local apropriado Engine: %CommonProgramFiles%\ArcGIS\Engine10.0\Configuration\CATID

\ArcGIS\Engine10.1\Configuration\CATID Desktop: %CommonProgramFiles%\ArcGIS\Desktop10.0\Configuration\CATID

\ArcGIS\Desktop10.1\Configuration\CATID

Page 15: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Workflow para migração• Executar o “Code Migration Analyzer” que está incluído no ArcObjects SDK - Gera um relatório com avisos que auxiliam na migração para o 10

• Acertar as mudanças nos Assemblies (Marcar “specific version” para “false”)• Adicionar novo passo para o registro dos componentes• Aplicações Standalone devem adicionar o código para o “Bind” do runtime

(10.1) • Atualizar códigos que utilizam as enumerações que mudaram

Page 16: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Add-InsNovo Framework de Customização

• Não requer componentes COM• Disponível em Java\.NET e Python (10.1)• Empacotado em um arquivo *.esriaddin(zip file)

• Deploy pode ser feito com um simples Xcopy• Instalação com duplo clique

• Instalação por usuário• Não requer permissões administrativas• Pode ser assinado digitalmente• Instalação pode ser controlada por administrador• Pode ser disponibilizado em um diretório compartilhado na rede

Page 17: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

PythonMuitas melhorias no suporte ao Python no ArcGIS 10

• Pacote ArcPy - Automation of GIS mapping functionality - Geoprocessing / Printing and Exporting - Manipulate Map Document and Layer Files - Automate Map Book creation / Automation of GIS analysis - Python API for Spatial Analyst and GeoStatistical Analyst

* Add-Ins em Python (10.1)

• Um mesmo script pode rodar no - Desktop - Engine - Server - Windows / Linux

Page 18: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Novo ArcGIS Runtime (10.1)- Nova arquitetura- Deploy mais simples (app, maps e data)- Suporte a 64 bit nativo- API modernas (WPF and JAVA)- Footprint de Memoria e espaço em disco reduzidos

Mas atenção...- Não é equivalente funcionalmente ao Engine- Não é um substituo para o ArcObjects - Novas API's - Código deverá ser reescrito- Representa um novo padrão para compatilhamento\distribuição

Page 19: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Migração VBAStatus para 10.0 e 10.1

• Free VBA Compatibility Setup - Requer solicitação de licença - Sem suporte e sem SDK

• Esri recomenda a migração das aplicações VBA para um dos ambientes de desenvolvimentos suportados atualmente

• Para onde um desenvolvedor VBA deve ir?- Python- Add-Ins

Page 20: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Migração VB6Status atual

• VB6 não é mais suportado na versão 10- Não possui mais um SDK para VB6- VB6 runtime não é instalado com o ArcGIS

• Componentes VB6 não são bloqueados- Podem ser registrados para auxiliar na migração- Recomenda-se testar muito bem para se certificar que

funcionam

Page 21: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

FAQ Perguntas e Respostas

● O utilitário EsriRegAsm.Exe é instalado em todas as maquinas?Sim. Todas as instalações de Desktop e Engine instalam o utilitário.

● Houve alguma mudança no registro de componentes entre o 10.0 e 10.1?Não. As mesmas regras se aplicam a ambas versões incluindo a necessidade do “Bind”

● Tenho que me preocupar com a duplicação dos arquivos .ecfg?Não. Como são baseados em GUID's, na teoria eles nunca se duplicam.

● Tenho que recompilar minhas aplicações a cada nova versão 10.x?A recomendação é sempre recompilar.

● Existe algo similar as macros VBA?Não. O mais próximo disso são scripts Python que podem ser criados\testados interativamente.

● Existe algum roadmap para que o ArcGIS Desktop seja 64 bits?Não. Ainda existem muitas dependências de 32 bits e isso ainda irá levar um certo tempo para ser alterado.

Page 22: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Dicas rápidas

●Quando você está trabalhando com VB.NET é sempre recomendado trabalhar com “Option Explicit” e “Option Strict”. Isso pode ajudar a evitar a descoberta de problemas apenas em tempo de execução.

● É possível utilizar o utilitário Categories.exe para converter componentes existentes para o novo formato.

● Add-In é a forma existente para que você não tenha que se preocupar com registro e afins.

Page 23: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Resources● Migration Resources para desenvolvedoreshttp://blogs.esri.com/esri/arcgis/2011/03/09/migration-resources/

● ArcGIS Beta Resourceshttp://resourcesbeta.arcgis.com/

● VBA\VB6 devs vejam2008 Dev Summit - Migrando aplicações ArcObjects VBA/VB6 para .NET - http://bit.ly/IekSwW

● Dev Summit 2011 - ArcGIS 10 Desktop Developer Migration Topics

Slides - http://bit.ly/Ixt3Qy e Vídeo - http://bit.ly/Ii6Nzb

● Dev Summit 2012 - ArcGIS 10.1 for Desktop Developer Migration Topics

Vídeo - http://bit.ly/JUFzsE

Page 24: Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012

Perguntas?

Obrigado!

Bruno CaimarImagem Soluções Verticais

[email protected]

Maio/2012