Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Requisitos SDK 10.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

Slide 4

Slide 4 text

.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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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)

Slide 7

Slide 7 text

Mudanças no nome de Produto (10.1) - Mudanças na enumeração esriProductCode 10.0 10.1 esriProductCodeArcView esriProductCodeBasic esriProductCodeArcEditor esriProductCodeStandard esriProductCodeArcInfo esriProductCodeAdvanced - Mudanças na enumeração esriLicenseProductCode 10.0 10.1 esriLicenseProductCodeArcView esriLicenseProductCodeBasic esriLicenseProductCodeArcEditor esriLicenseProductCodeStandard esriLicenseProductCodeArcInfo esriLicenseProductCodeAdvanced

Slide 8

Slide 8 text

Runtime Binding Aplicaçõ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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

Componentes customizados Registro 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)

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Componentes customizados Como 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

Slide 14

Slide 14 text

Componentes customizados Deploy Opção 1: - Chamar o utilitário ESRIRegAsm.exe na maquina alvo - ESRIRegAsm.exe /p: * 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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

Add-Ins Novo 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

Slide 17

Slide 17 text

Python Muitas 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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

Migração VBA Status 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

Slide 20

Slide 20 text

Migração VB6 Status 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

Slide 21

Slide 21 text

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.

Slide 22

Slide 22 text

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.

Slide 23

Slide 23 text

Resources ● Migration Resources para desenvolvedores http://blogs.esri.com/esri/arcgis/2011/03/09/migration-resources/ ● ArcGIS Beta Resources http://resourcesbeta.arcgis.com/ ● VBA\VB6 devs vejam 2008 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

Slide 24

Slide 24 text

Perguntas? Obrigado! Bruno Caimar Imagem Soluções Verticais [email protected] Maio/2012