SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Resumo da Sessão Técnica


ArcGIS 10.1 Desktop Developer Migration Topics




                                           Bruno Caimar
                                Imagem Soluções Verticais
                                             Maio / 2012
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
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
.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
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
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)
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
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
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
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)
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%ArcGISEngine10.0ConfigurationCATID
                         ArcGISEngine10.1ConfigurationCATID
  Desktop:
     %CommonProgramFiles%ArcGISDesktop10.0ConfigurationCATID
                         ArcGISDesktop10.1ConfigurationCATID


• Sugestão em tempo de desenvolvimento
   - Adicionar um “custom build step” no seu projeto .NET
para realizar a chamada ao utilitário
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 FilesArcGISbin

Opção 2:
  - Registrar o componente COM normalmente
  - Copiar o arquivo ecfg para o local apropriado
  Engine:
     %CommonProgramFiles%ArcGISEngine10.0ConfigurationCATID
                         ArcGISEngine10.1ConfigurationCATID
  Desktop:
     %CommonProgramFiles%ArcGISDesktop10.0ConfigurationCATID
                         ArcGISDesktop10.1ConfigurationCATID
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
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
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
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
compatilhamentodistribuição
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
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
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 criadostestados
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.
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.
Resources
●    Migration Resources para desenvolvedores
    http://blogs.esri.com/esri/arcgis/2011/03/09/migration-resources/

●   ArcGIS Beta Resources
    http://resourcesbeta.arcgis.com/

●   VBAVB6 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
Perguntas?




       Obrigado!

     Bruno Caimar
Imagem Soluções Verticais
  bcaimar@img.com.br

       Maio/2012

Mais conteúdo relacionado

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

TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...tdc-globalcode
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android EmbarcadoOdair Sousa
 
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Renato Groff
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?akamud
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?Letticia Nicoli
 
Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018Renato Groff
 
Todos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIOTodos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIOFernando Rizzato
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureGiovanni Bassi
 
TDC2016SP - O que há de novo no Entity Framework Core 1.0
TDC2016SP - O que há de novo no Entity Framework Core 1.0TDC2016SP - O que há de novo no Entity Framework Core 1.0
TDC2016SP - O que há de novo no Entity Framework Core 1.0tdc-globalcode
 
Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0Caliel Costa
 
ASP.NET Core em Linux - Canal .NET Dev Week
ASP.NET Core em Linux - Canal .NET Dev WeekASP.NET Core em Linux - Canal .NET Dev Week
ASP.NET Core em Linux - Canal .NET Dev WeekRenato Groff
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010Norton Guimarães
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacAndre Baltieri
 
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017Renato Groff
 
O novo ASP.NET - Stone Tech Saturday - Março/2017
O novo ASP.NET - Stone Tech Saturday - Março/2017O novo ASP.NET - Stone Tech Saturday - Março/2017
O novo ASP.NET - Stone Tech Saturday - Março/2017Renato Groff
 
Novidades do ASP.NET Core 2.0 - ASP.NET Core Campinas - Agosto/2017
Novidades do ASP.NET Core 2.0 - ASP.NET Core Campinas - Agosto/2017Novidades do ASP.NET Core 2.0 - ASP.NET Core Campinas - Agosto/2017
Novidades do ASP.NET Core 2.0 - ASP.NET Core Campinas - Agosto/2017Renato Groff
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...Renato Groff
 
ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016Renato Groff
 
Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Bernardo Porto
 

Semelhante a Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESRI DevSummit2012 (20)

TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android Embarcado
 
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
 
Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018
 
Todos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIOTodos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIO
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e Azure
 
TDC2016SP - O que há de novo no Entity Framework Core 1.0
TDC2016SP - O que há de novo no Entity Framework Core 1.0TDC2016SP - O que há de novo no Entity Framework Core 1.0
TDC2016SP - O que há de novo no Entity Framework Core 1.0
 
Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0
 
ASP.NET Core em Linux - Canal .NET Dev Week
ASP.NET Core em Linux - Canal .NET Dev WeekASP.NET Core em Linux - Canal .NET Dev Week
ASP.NET Core em Linux - Canal .NET Dev Week
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no Mac
 
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017
 
2006 - SegundaAula.ppt
2006 - SegundaAula.ppt2006 - SegundaAula.ppt
2006 - SegundaAula.ppt
 
O novo ASP.NET - Stone Tech Saturday - Março/2017
O novo ASP.NET - Stone Tech Saturday - Março/2017O novo ASP.NET - Stone Tech Saturday - Março/2017
O novo ASP.NET - Stone Tech Saturday - Março/2017
 
Novidades do ASP.NET Core 2.0 - ASP.NET Core Campinas - Agosto/2017
Novidades do ASP.NET Core 2.0 - ASP.NET Core Campinas - Agosto/2017Novidades do ASP.NET Core 2.0 - ASP.NET Core Campinas - Agosto/2017
Novidades do ASP.NET Core 2.0 - ASP.NET Core Campinas - Agosto/2017
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...
 
ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016
 
Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010
 

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

  • 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.
  • 12.
  • 13. 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%ArcGISEngine10.0ConfigurationCATID ArcGISEngine10.1ConfigurationCATID Desktop: %CommonProgramFiles%ArcGISDesktop10.0ConfigurationCATID ArcGISDesktop10.1ConfigurationCATID • Sugestão em tempo de desenvolvimento - Adicionar um “custom build step” no seu projeto .NET para realizar a chamada ao utilitário
  • 14. 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 FilesArcGISbin Opção 2: - Registrar o componente COM normalmente - Copiar o arquivo ecfg para o local apropriado Engine: %CommonProgramFiles%ArcGISEngine10.0ConfigurationCATID ArcGISEngine10.1ConfigurationCATID Desktop: %CommonProgramFiles%ArcGISDesktop10.0ConfigurationCATID ArcGISDesktop10.1ConfigurationCATID
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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 compatilhamentodistribuição
  • 19. 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
  • 20. 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
  • 21. 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 criadostestados 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.
  • 22. 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.
  • 23. Resources ● Migration Resources para desenvolvedores http://blogs.esri.com/esri/arcgis/2011/03/09/migration-resources/ ● ArcGIS Beta Resources http://resourcesbeta.arcgis.com/ ● VBAVB6 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
  • 24. Perguntas? Obrigado! Bruno Caimar Imagem Soluções Verticais bcaimar@img.com.br Maio/2012