Software de 64 bits

A partir da versão 2010, lançamento 2, a Altova oferece versões de 32 e 64 bits de todas as aplicações incluídas 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 deverá ter em consideração ao decidir se uma versão de 64 ou 32 bits é a mais adequada para as suas necessidades.

Por que 64 bits?

Muitos ambientes modernos de desenvolvimento de software e processamento de dados estão a enfrentar uma limitação de memória integrada. As versões atuais e anteriores de 32 bits do Microsoft Windows só conseguem 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 numa determinada máquina. Traduzindo isto para a realidade do desenvolvimento XML, significa que ficheiros XML com mais de 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 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 ficheiro XML que um utilizador individual de uma aplicação de 64 bits poderá processar é limitado apenas pela quantidade de memória física instalada.

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

Numa versão de 64 bits do XMLSpy, é possível abrir e editar ficheiros muito grandes

(Mesmo que não haja memória física suficiente, sistemas de 64 bits podem processar ficheiros muito grandes utilizando a memória virtual, embora a uma velocidade significativamente mais lenta.)

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

Perguntas frequentes sobre software de 64 bits

Abaixo, encontra-se uma lista de respostas às perguntas mais frequentes (FAQ) sobre software de 32 bits versus software de 64 bits.

  • Uma aplicação de 32 bits consegue funcionar numa versão de 64 bits do Windows?

    Sim. No entanto, tenha em atenção que a versão 2010 da Altova é a mais antiga compatível com o Windows 7.

  • Uma aplicação de 64 bits consegue funcionar numa versão de 32 bits do Windows?

    Não.

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

    Abra o Painel de Controlo do Windows. Selecione a vista "Clássica" (Vista) ou "Ícones" (Windows 7), e, em seguida, abra o ícone "Sistema". A linha identificada como "Tipo de sistema" indicará se o sistema operativo é de "32 bits" ou de "64 bits"

  • O meu sistema está a executar uma versão de 64 bits do Windows. Devo usar aplicações de 32 bits ou de 64 bits?

    Depende. É importante considerar as informações adicionais que serão explicadas detalhadamente 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 das aplicações Altova são suportados ambos 32 bits e Versões de 64 bits. Esta funcionalidade oferece flexibilidade de várias formas importantes:

  • Caminho de atualização – Um utilizador que atualmente utiliza um sistema de 32 bits deve instalar as versões de 32 bits do software Altova. Posteriormente, quando o utilizador atualizar 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 produto 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 multiutilizador funciona eficazmente em ambientes mistos. Por exemplo, um código de ativação para 10 utilizadores pode suportar alguns utilizadores a utilizar a versão de 32 bits e outros a utilizar a versão de 64 bits, em qualquer combinação necessária para o grupo de trabalho.
  • Requisitos mistos – Um utilizador individual que atualmente utiliza um sistema de 64 bits pode instalar as versões de 32 bits e de 64 bits das aplicações Altova na mesma estação de trabalho, utilizando uma única chave de licença válida.
  • Isto significa que um desenvolvedor pode instalar qualquer uma ou todas as aplicações do pacote Altova MissionKit, tanto nas versões de 32 bits como nas de 64 bits, e escolher a versão mais adequada para cada tarefa. Por exemplo, a versão de 32 bits do MapForce pode ser necessária para se conectar a uma base 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 ficheiro XML muito grande.
  • Para evitar confusões, as versões de 64 bits de cada aplicação Altova são identificadas no nome do atalho no ambiente de trabalho, na barra de estado na parte inferior da janela da aplicação e na janela de apresentação "Sobre".
  • A captura de ecrã abaixo mostra as versões de 32 e 64 bits da tela de inicialização (splash screen) e da barra de estado do XMLSpy.
Tela de inicialização e barra de estado para a versão de 64 bits do XMLSpy

Problemas inerentes ao software de 64 bits:

Requisitos de memória

Uma aplicação de 64 bits necessitará de mais memória para abrir qualquer ficheiro do que uma aplicação de 32 bits, porque os tamanhos dos endereços de memória e de outras estruturas aumentam automaticamente. Uma regra geral para ficheiros XML é que o consumo de memória aumenta em cerca de 50 a 60%. Isso significa que um utilizador deve ter, no mínimo, 4 GB de memória instalada para usufruir dos benefícios de uma aplicação de 64 bits.

Conectividade com bases 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 questõ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 nomes semelhantes ("odbcad32.exe"), mas estão localizadas em diferentes pastas:
  • O ficheiro Windows\system32\odbcad32.exe gerencia as versões de 64 bits dos drivers ODBC
  • O ficheiro Windows\sysWOW64\odbcad32.exe gerencia as versões de 32 bits correspondentes
  • Outras bases de dados – Algumas bases de dados ainda não possuem um driver de 64 bits. Outras apresentam problemas de 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 base de dados.

Utilização de aplicações de 64 bits com ficheiros de base de dados Microsoft Access

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

A partir do Office 2007, o Microsoft Access ganhou um novo formato de ficheiro com a extensão *.accdb e funcionalidades adicionais. Os ficheiros de base de dados do Access 2007 (e versões posteriores) são suportados pelo novo driver Microsoft ACE (Access Database Engine).

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

O motor de base de dados Microsoft ACE também pode ser descarregado como parte da versão x64 do Microsoft Office 2010, em:

Atualmente, existe uma limitação lamentável no driver ACE de 64 bits: ele não consegue funcionar em conjunto com as versões de 32 bits do Microsoft Office.

As versões de 64 bits das aplicações Altova MissionKit necessitam atualmente do driver Microsoft ACE x64 para abrir bases de dados Access, independentemente de a extensão do ficheiro ser *.mdb ou *.accdb.

Os ficheiros existentes criados com versões de 32 bits das aplicações Altova, como os mapeamentos do MapForce ou as folhas de estilo do StyleVision, podem conter informações de ligação que especificam o fornecedor OLEDB de 32 bits (Microsoft.Jet.OLEDB.4.0). As aplicações Altova de 64 bits converterão automaticamente estes ficheiros mais antigos para ligações baseadas no ACE (Microsoft.ACE.OLEDB.12.0). Os utilizadores apenas precisam de instalar o driver ACE de 64 bits, conforme descrito acima.

Sistemas de controlo de versões

A Altova implementou a interface de controlo 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 controlo de versões populares. Além disso, o DiffDog pode ser facilmente configurado para funcionar como a ferramenta padrão de comparação e fusão quando é utilizado um sistema de versionamento independente.

Como a maioria dos clientes da SCC não possui versões de 64 bits, a Altova disponibiliza um software de "ponte" especial para a SCC que permite que as versões de 64 bits das aplicações Altova utilizem clientes da SCC de 32 bits. Esta "ponte" está totalmente integrada e funciona de forma transparente para o utilizador 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 o 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, demonstrando como incorporar instruções numa página HTML para descarregar e instalar a versão correta do plugin Authentic Browser.

Integração com o Visual Studio e o Eclipse

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

Como o Visual Studio só está disponível numa versão de 32 bits, é necessário instalar a versão de 32 bits do XMLSpy, MapForce, StyleVision, UModel ou Authentic para que estes funcionem dentro do Visual Studio, garantindo uma integração perfeita no fluxo de trabalho do ambiente de desenvolvimento integrado (IDE). Também é necessário 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 uma aplicação de 32 bits e uma 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 bits 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 permite criar e exibir 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 funcionalidade de comparação especial 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 mostrada na sua tela de ajuda deve corresponder à versão da ferramenta Altova instalada. Em outras palavras, se estiver a utilizar uma versão de 32 bits do Microsoft Word, você.. deve; é obrigatório; é essencial Utilize uma versão de 32 bits do StyleVision ou do DiffDog. Se estiver a usar uma versão de 64 bits do Word, você.. deve; é obrigatório; é essencial Utilize uma ferramenta Altova de 64 bits.

Interfaces ActiveX

Uma interface ActiveX permite integrar a interface de utilizador e a funcionalidade de uma aplicação Altova na sua própria aplicação. Se a sua aplicação for de 32 bits, será necessário instalar uma versão de 32 bits do software Altova. Para a 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 integração com a interface do utilizador. Por defeito, 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 tiver instalado apenas uma versão de 64 bits do software Altova e quiser utilizá-lo a partir da sua aplicação de 32 bits, terá de 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
		...
	}

Por favor, note que, ao estabelecer chamadas entre si, as aplicações Altova tentarão contactar a versão correspondente. No entanto, se a versão correspondente não for encontrada, será contactada a versão oposta, caso esteja disponível. Isso significa, por exemplo, que se tiver instalado uma versão de 64 bits do MapForce e uma versão de 32 bits do XMLSpy, elas poderão contactar-se para, por exemplo, editar um esquema XML referenciado num 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 facto, o seu pacote MissionKit é uma ferramenta de qualidade, sendo, sem dúvida, o melhor recurso para o desenvolvimento empresarial que alguma vez encontrei, e um excelente exemplo de como o software deve ser desenvolvido. Os meus sinceros parabéns por um produto excelente.”

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