Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Resumo da Sessão Técnica "ArcGIS 10.1 Desktop D...

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

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

Bruno Caimar

May 25, 2012
Tweet

More Decks by Bruno Caimar

Other Decks in Technology

Transcript

  1. Resumo da Sessão Técnica ArcGIS 10.1 Desktop Developer Migration Topics

    Bruno Caimar Imagem Soluções Verticais Maio / 2012
  2. 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
  3. 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
  4. .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
  5. 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
  6. 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)
  7. 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
  8. 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
  9. 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
  10. 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)
  11. 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
  12. Componentes customizados Deploy 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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.
  20. 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.
  21. 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