Software de 64 bits

A partir da versão 2010, release 2, a Altova oferece versões de 32 e 64 bits de todos os aplicativos incluídos nas edições Enterprise e Professional do Altova MissionKit, e nas edições Enterprise do Altova Authentic. Esta página fornece informações importantes sobre as vantagens, diferenças e dependências do software de 64 bits, que você deve considerar ao decidir se a versão de 64 bits ou a de 32 bits é a mais adequada para suas necessidades.

Por que 64 bits?

Muitos ambientes modernos de desenvolvimento de software e processamento de dados estão enfrentando uma limitação de memória inerente. As versões atuais e anteriores de 32 bits do Microsoft Windows só podem alocar um máximo de 2 GB de memória para cada processo em execução, independentemente da quantidade de memória física ou virtual disponível em um determinado computador. Traduzindo isso para a realidade do desenvolvimento XML, isso significa que arquivos XML maiores que 100 a 200 MB (dependendo da complexidade) não podem ser abertos.

Um sistema de 64 bits não está sujeito às mesmas limitações de memória. Um processador de 64 bits tem um tamanho máximo teórico de memória endereçável tão grande que é medido em múltiplos petabytes (1 petabyte = 1 milhão de gigabytes). Atualmente, as versões de 64 bits do Microsoft Windows 7 suportam até 192 GB de memória instalada. Na prática, o tamanho máximo de um arquivo XML que um usuário individual de uma aplicação de 64 bits poderá processar é limitado apenas pela quantidade de memória física instalada.

A captura de tela abaixo mostra um arquivo de 2,7 GB aberto na versão de 64 bits do XMLSpy. Este arquivo XML contém o feed XML de resumos da Wikipédia e possui mais de 35 milhões de linhas.

Um arquivo muito grande, aberto para edição, na versão de 64 bits do XMLSpy

(Mesmo que a memória física seja insuficiente, sistemas de 64 bits podem processar arquivos muito grandes utilizando a memória virtual, embora isso seja significativamente mais lento.)

Além disso, arquivos com menos de 100 MB podem ser processados de forma mais eficiente por um sistema de 64 bits que possui uma grande quantidade de memória física, pois o sistema pode manter um cache muito maior de dados do disco rígido na memória.

Perguntas frequentes sobre software de 64 bits

Abaixo, apresentamos as respostas para as perguntas mais frequentes (FAQ) sobre software de 32 bits versus software de 64 bits.

  • Um aplicativo de 32 bits funcionará em uma versão de 64 bits do Windows?

    Sim. No entanto, esteja ciente de que a versão 2010 da Altova é a versão mais antiga compatível com o Windows 7.

  • Um aplicativo de 64 bits funcionará em uma versão de 32 bits do Windows?

    Não.

  • Como posso verificar se o meu sistema está executando uma versão de 32 ou 64 bits do Windows?

    Abra o Painel de Controle do Windows. Selecione a visualização "Clássica" (Vista) ou "Ícones" (Windows 7), e então abra o ícone "Sistema". A linha identificada como "Tipo de sistema" indicará se o sistema é de "32 bits" ou de "64 bits"

  • O meu sistema está executando uma versão de 64 bits do Windows. Devo usar aplicativos de 32 bits ou de 64 bits?

    Depende. É importante considerar as informações adicionais que serão detalhadas a seguir.

Opções de instalação

A partir da versão 2010, release 2, os códigos de ativação válidos para as edições Enterprise e Professional dos aplicativos Altova são suportados ambos 32 bits e Versões de 64 bits. Esta funcionalidade oferece flexibilidade de várias maneiras importantes:

  • Caminho de atualização – Um usuário que atualmente utiliza um sistema de 32 bits deve instalar as versões de 32 bits do software Altova. Posteriormente, quando o usuário fizer o upgrade para uma estação de trabalho de 64 bits, a versão de 32 bits pode ser desinstalada do sistema antigo, e a mesma chave de licença permite a instalação da versão de 64 bits na nova máquina de 64 bits.
  • Ambientes mistos – Um código de ativação multiusuário funciona de forma eficaz em ambientes mistos. Por exemplo, um código de ativação para 10 usuários pode suportar alguns usuários executando a versão de 32 bits e outros executando a versão de 64 bits, em qualquer combinação necessária para o grupo de trabalho.
  • Requisitos mistos – Um usuário individual que atualmente utiliza um sistema de 64 bits pode instalar as versões de 32 bits e 64 bits dos aplicativos Altova na mesma estação de trabalho, utilizando uma única chave de ativação válida.
  • Isso significa que um desenvolvedor pode instalar qualquer um ou todos os aplicativos do pacote completo Altova MissionKit, tanto nas versões de 32 bits quanto nas de 64 bits, e escolher a versão apropriada para cada tarefa. Por exemplo, a versão de 32 bits do MapForce pode ser necessária para se conectar a um banco de dados devido a uma limitação do driver. Mais tarde, o desenvolvedor pode iniciar a versão de 64 bits do XMLSpy para trabalhar com um arquivo XML muito grande.
  • Para evitar confusões, as versões de 64 bits de cada aplicativo Altova são identificadas no nome do atalho na área de trabalho, na barra de status na parte inferior da janela do aplicativo e na janela de informações que aparece ao iniciar o programa.
  • A captura de tela abaixo mostra as versões de 32 e 64 bits da tela de inicialização (splash screen) e da barra de status do XMLSpy.
Tela de inicialização e barra de status para a versão de 64 bits do XMLSpy

Problemas inerentes a softwares de 64 bits:

Requisitos de memória

Um aplicativo de 64 bits exigirá mais memória para abrir qualquer arquivo específico do que um aplicativo de 32 bits, porque os tamanhos dos endereços de ponteiros de memória e outras estruturas aumentam automaticamente. Uma regra geral para arquivos XML é que o consumo de memória aumenta em cerca de 50 a 60%. Isso significa que um usuário deve ter, no mínimo, 4 GB de memória instalada para se beneficiar de um aplicativo de 64 bits.

Conexão a bancos de dados

Em geral, uma aplicação de 64 bits requer um driver de 64 bits para a conexão com o banco de dados. Aqui estão algumas considerações mais específicas:

  • ODBC – Apenas as versões de 64 bits dos drivers ODBC podem ser utilizadas com aplicações de 64 bits. Os utilizadores podem verificar quais os drivers ODBC instalados numa determinada máquina utilizando a ferramenta de configuração ODBC. Existem duas ferramentas de configuração de drivers numa máquina de 64 bits. Ambas têm o nome "odbcad32.exe", mas estão localizadas em pastas diferentes:
  • O arquivo Windows\system32\odbcad32.exe gerencia as versões de 64 bits dos drivers ODBC
  • O arquivo Windows\sysWOW64\odbcad32.exe gerencia as versões de 32 bits correspondentes
  • Outras bases de dados – Alguns bancos de dados ainda não possuem um driver de 64 bits. Outros apresentam problemas na instalação do driver, ou ainda não são compatíveis com o Windows 7. Para obter mais informações, consulte os sites dos desenvolvedores de cada banco de dados.

Utilizando aplicações de 64 bits com arquivos de banco de dados do Microsoft Access

O motor de banco de dados Microsoft Jet remonta ao Windows 95 ou versões anteriores e foi o motor de banco de dados original utilizado para os arquivos *.mdb criados com o Microsoft Access. Versões do Jet estão incluídas em todas as edições do Microsoft Windows, até o Windows 7, e são utilizadas por aplicações de 32 bits para se conectarem a bancos de dados Access contidos em arquivos *.mdb.

A partir do Office 2007, o Microsoft Access introduziu um novo formato de arquivo com a extensão *.accdb, além de funcionalidades adicionais. Os arquivos de banco de dados do Access 2007 (e versões posteriores) são suportados pelo novo driver Microsoft ACE (Access Database Engine).

O motor de banco de dados Microsoft Jet é considerado um produto descontinuado. Embora ainda esteja presente no Windows 7, não foram anunciados planos para adaptá-lo a uma versão de 64 bits. O motor de banco de dados Microsoft ACE está disponível em uma versão para sistemas de 64 bits e pode ser baixado diretamente (apenas o driver) em:

O mecanismo de banco de dados Microsoft ACE também pode ser baixado como parte da versão x64 do Microsoft Office 2010, em:

Atualmente, existe uma limitação infeliz no driver ACE de 64 bits: ele não pode ser usado em conjunto com versões de 32 bits do Microsoft Office.

As versões de 64 bits dos aplicativos Altova MissionKit atualmente exigem o driver Microsoft ACE x64 para abrir bancos de dados Access, independentemente de a extensão do arquivo ser *.mdb ou *.accdb.

Arquivos existentes criados com versões de 32 bits dos aplicativos Altova, como os mapeamentos do MapForce ou as folhas de estilo do StyleVision, podem conter informações de conexão que especificam o provedor OLEDB Jet de 32 bits (Microsoft.Jet.OLEDB.4.0). Os aplicativos Altova de 64 bits converterão automaticamente esses arquivos mais antigos para conexões que utilizam o driver ACE (Microsoft.ACE.OLEDB.12.0). Os usuários precisam apenas instalar o driver ACE de 64 bits, conforme descrito acima.

Sistemas de controle de versão

A Altova implementou a interface de controle de código-fonte da Microsoft (MSSCCI) nas versões 1.1 a 1.3 do XMLSpy e do UModel, e testou a compatibilidade com diversos sistemas de controle de versão populares. Além disso, o DiffDog pode ser facilmente configurado para funcionar como a ferramenta padrão de comparação e mesclagem quando um sistema de versionamento independente é utilizado.

Como a maioria dos clientes da SCC não possui versões de 64 bits, a Altova oferece um software especial de "ponte" para a SCC, que permite que as versões de 64 bits dos aplicativos Altova utilizem clientes da SCC de 32 bits. Essa "ponte" é totalmente integrada e funciona de forma transparente para o usuário sempre que uma versão de 64 bits do cliente da SCC não estiver disponível.

Plugins para navegadores

Um navegador de 32 bits requer plugins de 32 bits, e um navegador de 64 bits requer plugins de 64 bits. Atualmente, apenas o Internet Explorer está disponível em ambas as versões. Portanto, os plugins do Altova Authentic Browser para Internet Explorer também estão disponíveis nas versões de 32 e 64 bits. O Firefox está atualmente disponível apenas como uma aplicação de 32 bits. Um exemplo de código HTML está publicado na documentação do plugin Authentic Browser, mostrando como incorporar instruções em uma página HTML para baixar e instalar a versão correta do plugin Authentic Browser.

Integração com o Visual Studio e o Eclipse

O Visual Studio está disponível apenas como uma aplicação de 32 bits. Portanto, os pacotes de integração Altova para Visual Studio também estão disponíveis apenas em versões de 32 bits.

Como o Visual Studio está disponível apenas em uma versão de 32 bits, você deve instalar a versão de 32 bits do XMLSpy, MapForce, StyleVision, UModel ou Authentic para que eles funcionem dentro do Visual Studio, garantindo uma integração perfeita no fluxo de trabalho do ambiente de desenvolvimento. Você também deve instalar a versão de 32 bits do pacote de integração correspondente, independentemente de ter uma versão de 32 bits ou 64 bits do Windows.

O Eclipse está disponível como um aplicativo de 32 bits e um de 64 bits, e requer um plugin correspondente. A Altova oferece pacotes de integração do Eclipse para sistemas de 32 bits desde o lançamento da versão 2007, e atualmente oferece componentes de integração para ambas as versões, de 32 e 64 bits.

Integração com o Microsoft Word

O Microsoft Word está disponível em versões de 32 bits e 64 bits. O Altova StyleVision gera e exibe relatórios avançados em formatos Microsoft Word 2007 e versões posteriores (OOXML), bem como em formato .rtf, entre outros. O Altova DiffDog inclui uma função especial de comparação para documentos do Microsoft Word 2003 e versões mais recentes.

Para exibir documentos do Microsoft Word no StyleVision ou no DiffDog, a versão do Microsoft Word exibida na tela de ajuda deve corresponder à versão da ferramenta Altova instalada. Em outras palavras, se você estiver usando uma versão de 32 bits do Microsoft Word, você deve usar uma versão de 32 bits do StyleVision ou do DiffDog. Se você estiver usando uma versão de 64 bits do Word, você deve usar uma ferramenta Altova de 64 bits.

Interfaces ActiveX

Uma interface ActiveX pode integrar a interface do usuário e a funcionalidade de um aplicativo Altova em sua própria aplicação. Se sua aplicação for de 32 bits, você precisará instalar uma versão de 32 bits do software Altova. Para sua aplicação de 64 bits, é necessária uma versão de 64 bits do software Altova.

Interfaces COM

As interfaces COM automatizam a funcionalidade das aplicações Altova através da API, sem a necessidade de integração com uma interface de utilizador. Por padrão, o Windows torna uma interface COM de 32 bits visível para uma aplicação de 32 bits e uma interface COM de 64 bits para uma aplicação de 64 bits. É possível utilizar ambos os tipos, mas isso requer algum trabalho adicional: por exemplo, se você instalou apenas a versão de 64 bits do software Altova e deseja utilizá-lo a partir da sua aplicação de 32 bits, você precisa fazer o seguinte:

connect to an application:
 
	CComPtr < IUnknown > ipApplication;
	HRESULT hRes;
	DWORD dwClsContext = CLSCTX_ALL;
	hRes = ::CoCreateInstance( m_clsidOfApplication, NULL, dwClsContext, IID_IUnknown, 
		(void **)&ipApplication.p );
	if ( !SUCCEEDED( hRes ) )
	{
#if defined( _WIN64 )
		dwClsContext |= CLSCTX_ACTIVATE_32_BIT_SERVER, 
#else // _WIN64
		dwClsContext |= CLSCTX_ACTIVATE_64_BIT_SERVER, 
#endif // _WIN64
		hRes = ::CoCreateInstance( m_clsidOfApplication, NULL, dwClsContext, IID_IUnknown, 
			(void **)&ipApplication.p );
	}
 
	if ( SUCCEEDED( hRes ) )
	{
		// some code
		...
	}
 
 	
 
open CLSID in correct view:
 	
	LONG OpenCLSID( LPCTSTR  strCLSID, REGSAM samDesired, hObjCLSIDKey )
	{
		HKEY hCLSIDKey;
		LONG rc = RegOpenKeyEx( HKEY_CLASSES_ROOT,_T("CLSID"), 0, samDesired, &hCLSIDKey );
		if ( rc == ERROR_SUCCESS )
		{
			LONG lRet = RegOpenKeyEx( hCLSIDKey, strCLSID, 0, samDesired, &hObjCLSIDKey );
			RegCloseKey(hCLSIDKey);
			if ( lRet != ERROR_SUCCESS && samDesired == KEY_READ )
			{
#if defined( _WIN64 )
				samDesired |= KEY_WOW64_32KEY;
#else // _WIN64
				samDesired |= KEY_WOW64_64KEY;
#endif // _WIN64
				// try other view
				rc = OpenCLSID( strCLSID, samDesired, hObjCLSIDKey );
			}
		}
		return rc;
	}
	...
	HKEY hObjCLSIDKey;
	if ( OpenCLSID( < a class id > , KEY_READ, hObjCLSIDKey ) == ERROR_SUCCESS )
	{
		// one can now open subkeys using this key as parent
		...
	}

Observe que, ao fazer chamadas entre si, as aplicações Altova tentarão utilizar a versão correspondente. No entanto, se a versão correspondente não for encontrada, a versão oposta será utilizada, se disponível. Isso significa que, por exemplo, se você tiver instalado uma versão de 64 bits do MapForce e uma versão de 32 bits do XMLSpy, eles poderão se comunicar para, por exemplo, editar um esquema XML referenciado em um mapeamento do MapForce dentro do XMLSpy, ou para executar uma transformação do MapForce a partir de um projeto do XMLSpy.

“Aprendi que não existe substituto para ferramentas de qualidade. E, de fato, o seu conjunto de ferramentas MissionKit é uma ferramenta de alta qualidade, sendo, sem dúvida, o melhor recurso para desenvolvimento empresarial que já encontrei, e um excelente exemplo de como um software deve ser desenvolvido. Meus sinceros parabéns por um produto excelente.”

Thomas D. Blersch Senior Software Engineer, Exeter Government Services LLC