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

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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