Software a 64 bit

A partire dalla versione 2010, release 2, Altova offre sia versioni a 32 bit che a 64 bit di tutte le applicazioni incluse nelle edizioni Enterprise e Professional di Altova MissionKit, e nelle edizioni Enterprise di Altova Authentic. Questa pagina fornisce informazioni importanti sui vantaggi, le differenze e le dipendenze del software a 64 bit, che dovrebbero essere prese in considerazione quando si decide quale versione, a 64 bit o a 32 bit, sia più adatta alle proprie esigenze.

Perché 64 bit?

Molti ambienti moderni di sviluppo software e di elaborazione dati stanno raggiungendo un limite di memoria intrinseco. Le versioni a 32 bit attuali e precedenti di Microsoft Windows possono allocare al massimo 2 GB di memoria a ciascun processo in esecuzione, indipendentemente dalla quantità di memoria fisica o virtuale disponibile su un determinato sistema. Tradotto nel contesto dello sviluppo XML, ciò significa che i file XML più grandi di 100-200 MB (a seconda della complessità) non possono essere aperti affatto.

Un sistema a 64 bit non è soggetto alle stesse limitazioni di memoria. Un processore a 64 bit ha una dimensione massima teorica di memoria indirizzabile così grande da essere misurata in petabyte (1 petabyte = 1 milione di gigabyte). Attualmente, le versioni a 64 bit di Microsoft Windows 7 supportano fino a 192 GB di memoria installata. In pratica, la dimensione massima del file XML che un singolo utente di un'applicazione a 64 bit sarà in grado di elaborare è limitata solo dalla quantità di memoria fisica installata.

La schermata qui sotto mostra un file di 2,7 GB aperto nella versione a 64 bit di XMLSpy. Questo file XML contiene il feed XML degli abstract di Wikipedia ed è composto da oltre 35 milioni di righe.

Un file di dimensioni molto elevate, aperto per la modifica nella versione a 64 bit di XMLSpy

(Anche in assenza di una quantità sufficiente di memoria fisica, i sistemi a 64 bit possono elaborare file molto grandi utilizzando la memoria virtuale, sebbene con una velocità notevolmente inferiore.)

Inoltre, i file di dimensioni inferiori a 100 MB possono essere elaborati in modo più efficiente da un sistema a 64 bit dotato di una grande quantità di memoria fisica, poiché il sistema può mantenere una cache molto più ampia di dati del disco rigido nella memoria.

Domande frequenti sui software a 64 bit

Di seguito sono riportate le risposte alle domande più frequenti (FAQ) riguardanti i software a 32 bit e a 64 bit.

  • Un'applicazione a 32 bit può funzionare su una versione a 64 bit di Windows?

    Sì. Tuttavia, è importante sapere che la versione 2010 di Altova è la versione più vecchia compatibile con Windows 7.

  • Un'applicazione a 64 bit può funzionare su una versione a 32 bit di Windows?

    No.

  • Come posso capire se il mio sistema operativo utilizza una versione a 32 o 64 bit di Windows?

    Aprire il Pannello di controllo di Windows. Selezionare la visualizzazione "Classica" (per Windows Vista) oppure "Icone" (per Windows 7), quindi aprire l'icona "Sistema". La riga etichettata "Tipo di sistema" indicherà se si tratta di un "Sistema operativo a 32 bit" oppure di un "Sistema operativo a 64 bit"

  • Il mio sistema operativo è una versione a 64 bit di Windows. Dovrei utilizzare applicazioni software a 32 bit o a 64 bit?

    Dipende. È importante considerare le informazioni aggiuntive che vengono spiegate in dettaglio di seguito.

Opzioni di installazione

A partire dalla versione 2010, release 2, le chiavi di licenza valide per le edizioni Enterprise e Professional delle applicazioni Altova sono supportate entrambi A 32 bit e Versioni a 64 bit. Questa funzionalità offre flessibilità in diversi modi importanti:

  • Percorso di aggiornamento – Un utente che attualmente utilizza un sistema a 32 bit deve installare le versioni a 32 bit del software Altova. Successivamente, quando l'utente aggiorna il sistema a una workstation a 64 bit, la versione a 32 bit può essere disinstallata dal vecchio sistema, e lo stesso codice di licenza consente l'installazione della versione a 64 bit sulla nuova macchina a 64 bit.
  • Ambienti misti – Un codice di attivazione multiutente funziona efficacemente in ambienti eterogenei. Ad esempio, un codice di attivazione per 10 utenti può supportare alcuni utenti che utilizzano la versione a 32 bit e altri che utilizzano la versione a 64 bit, in qualsiasi combinazione richiesta dal gruppo di lavoro.
  • Requisiti misti – Un utente singolo che utilizza attualmente un sistema a 64 bit può installare sia la versione a 32 bit che quella a 64 bit delle applicazioni Altova sulla stessa postazione di lavoro, utilizzando un'unica chiave di licenza valida.
  • Ciò significa che uno sviluppatore può installare una o tutte le applicazioni incluse nel pacchetto completo Altova MissionKit, sia nelle versioni a 32 bit che a 64 bit, e scegliere la versione più adatta per ogni attività. Ad esempio, la versione a 32 bit di MapForce potrebbe essere necessaria per connettersi a un database a causa di limitazioni del driver. In seguito, lo sviluppatore potrebbe avviare la versione a 64 bit di XMLSpy per lavorare con un file XML di dimensioni molto elevate.
  • Per evitare confusione, le versioni a 64 bit di ciascuna applicazione Altova sono identificate nel nome della scorciatoia sul desktop, nella barra di stato nella parte inferiore della finestra dell'applicazione e nella finestra di presentazione "Informazioni su".
  • La schermata seguente mostra le versioni a 32 bit e a 64 bit della schermata di avvio e della barra di stato di XMLSpy.
Schermata di avvio e barra di stato per la versione a 64 bit di XMLSpy

Problemi intrinseci ai software a 64 bit:

Requisiti di memoria

Un'applicazione a 64 bit richiederà più memoria per aprire qualsiasi file rispetto a un'applicazione a 32 bit, poiché le dimensioni degli indirizzi utilizzati dai puntatori di memoria e da altre strutture aumentano automaticamente. Come regola generale, per i file XML, il consumo di memoria aumenta di circa il 50-60%. Ciò significa che un utente dovrebbe avere almeno 4 GB di memoria installata per poter sfruttare appieno i vantaggi di un'applicazione a 64 bit.

Connessione ai database

In generale, un'applicazione a 64 bit richiede un driver a 64 bit per la connessione al database. Ecco alcuni aspetti più specifici da considerare:

  • ODBC – Solo le versioni a 64 bit dei driver ODBC possono essere utilizzate con applicazioni a 64 bit. Gli utenti possono verificare quali driver ODBC sono installati su un determinato computer utilizzando lo strumento di configurazione ODBC. Su un computer a 64 bit, sono disponibili due strumenti di configurazione dei driver. Entrambi hanno un nome simile, "odbcad32.exe", ma si trovano in cartelle diverse:
  • Il file Windows\system32\odbcad32.exe gestisce le versioni a 64 bit dei driver ODBC
  • Il file Windows\sysWOW64\odbcad32.exe gestisce le versioni a 32 bit dei driver
  • Altre banche dati – Alcuni database non dispongono ancora di un driver a 64 bit. Altri presentano problemi di installazione del driver, oppure non sono ancora compatibili con Windows 7. Per maggiori informazioni, consultare i siti web dei rispettivi sviluppatori dei database.

Utilizzo di applicazioni a 64 bit con i file di database di Microsoft Access

Il motore di database Microsoft Jet risale a Windows 95 o a versioni precedenti ed era il motore di database sottostante originale per i file *.mdb creati con Microsoft Access. Le versioni di Jet sono incluse in tutte le edizioni di Microsoft Windows fino a Windows 7 e vengono utilizzate dalle applicazioni a 32 bit per connettersi ai database Access contenuti nei file *.mdb.

A partire da Office 2007, Microsoft Access ha introdotto un nuovo formato di file con estensione *.accdb, insieme a funzionalità aggiuntive. I file di database di Access 2007 (e versioni successive) sono supportati dal nuovo driver Microsoft ACE (Access Database Engine).

Il motore di database Microsoft Jet è considerato un prodotto obsoleto. Sebbene sia ancora presente in Windows 7, non sono stati annunciati piani per la sua conversione a una versione a 64 bit. Il motore di database Microsoft ACE è disponibile in una versione per sistemi a 64 bit e può essere scaricato direttamente (solo il driver) all'indirizzo:

Il motore di database Microsoft ACE può essere scaricato anche come parte della versione x64 di Microsoft Office 2010, all'indirizzo:

Attualmente, esiste una limitazione indesiderata del driver ACE a 64 bit: esso non può essere utilizzato contemporaneamente a versioni a 32 bit di Microsoft Office.

Le versioni a 64 bit delle applicazioni Altova MissionKit richiedono attualmente il driver Microsoft ACE a 64 bit per aprire i database Access, indipendentemente dall'estensione del file, che sia *.mdb o *.accdb.

I file esistenti creati con le versioni a 32 bit delle applicazioni Altova, come le mappature di MapForce o i fogli di stile di StyleVision, potrebbero contenere informazioni di connessione che specificano il provider OLEDB a 32 bit (Microsoft.Jet.OLEDB.4.0). Le applicazioni Altova a 64 bit convertiranno automaticamente questi file più vecchi per utilizzare connessioni basate su ACE (Microsoft.ACE.OLEDB.12.0). Gli utenti devono semplicemente installare il driver ACE a 64 bit, come descritto in precedenza.

Sistemi di controllo delle versioni

Altova ha implementato l'interfaccia di controllo del codice sorgente Microsoft (MSSCCI) nelle versioni 1.1 e 1.3 di XMLSpy e UModel, e ha testato la compatibilità con numerosi sistemi di controllo delle versioni più diffusi. Inoltre, DiffDog può essere facilmente configurato per fungere da strumento predefinito per il confronto e la fusione dei file quando si utilizza un sistema di versionamento autonomo.

Poiché la maggior parte dei clienti di SCC non dispone di versioni a 64 bit, Altova fornisce un software "bridge" speciale per SCC che consente alle versioni a 64 bit delle applicazioni Altova di utilizzare i client SCC a 32 bit. Questo software di collegamento è strettamente integrato e funziona in modo trasparente per l'utente, ogni volta che non è disponibile un client SCC a 64 bit.

Estensioni del browser

Un browser a 32 bit richiede plugin a 32 bit, mentre un browser a 64 bit richiede plugin a 64 bit. Attualmente, solo Internet Explorer è disponibile in entrambe le versioni; di conseguenza, i plugin Altova Authentic Browser per Internet Explorer sono disponibili sia in versione a 32 che a 64 bit. Firefox è attualmente disponibile solo come applicazione a 32 bit. Nell'ambito della documentazione del plugin Authentic Browser, è possibile trovare esempi di codice HTML che illustrano come incorporare istruzioni in una pagina HTML per scaricare e installare la versione corretta del plugin Authentic Browser.

Integrazione con Visual Studio ed Eclipse

Visual Studio è disponibile solo come applicazione a 32 bit. Di conseguenza, i pacchetti di integrazione Altova per Visual Studio sono anch'essi disponibili solo in versioni a 32 bit.

Poiché Visual Studio è disponibile solo in versione a 32 bit, è necessario installare la versione a 32 bit di XMLSpy, MapForce, StyleVision, UModel o Authentic per poterli utilizzare all'interno di Visual Studio, garantendo così una perfetta integrazione nel flusso di lavoro dell'ambiente di sviluppo. È inoltre necessario installare la versione a 32 bit del pacchetto di integrazione corrispondente, indipendentemente dal fatto che si utilizzi una versione a 32 bit o a 64 bit di Windows.

Eclipse è disponibile come applicazione a 32 bit e a 64 bit e richiede un plugin corrispondente. Altova offre pacchetti di integrazione per Eclipse a 32 bit fin dalla versione 2007, e attualmente offre componenti di integrazione sia per la versione a 32 bit che per quella a 64 bit.

Integrazione con Microsoft Word

Microsoft Word è disponibile in versioni a 32 bit e a 64 bit. Altova StyleVision genera e visualizza report avanzati nei formati Microsoft Word 2007 e successivi (OOXML) e .rtf, tra gli altri. Altova DiffDog include una funzione di confronto specifica per i documenti di Microsoft Word 2003 e versioni successive.

Per visualizzare i documenti di Microsoft Word in StyleVision o DiffDog, la versione di Microsoft Word visualizzata nella schermata di aiuto deve corrispondere alla versione dello strumento Altova installato. In altre parole, se si utilizza una versione a 32 bit di Microsoft Word, è necessario utilizzare una versione a 32 bit di StyleVision o DiffDog. Se si utilizza una versione a 64 bit di Word, è necessario utilizzare una versione a 64 bit dello strumento Altova.

Interfacce ActiveX

Un'interfaccia ActiveX può integrare l'interfaccia utente e le funzionalità di un'applicazione Altova all'interno della vostra applicazione. Se la vostra applicazione è a 32 bit, sarà necessario installare una versione a 32 bit del software Altova. Per la vostra applicazione a 64 bit, è necessaria una versione a 64 bit del software Altova.

Interfacce COM

Le interfacce COM automatizzano le funzionalità delle applicazioni Altova tramite l'API, senza richiedere l'integrazione di un'interfaccia utente. Per impostazione predefinita, Windows rende visibile un componente COM a 32 bit a un'applicazione a 32 bit e un componente COM a 64 bit a un'applicazione a 64 bit. È possibile utilizzare entrambi i tipi, ma ciò richiede alcuni passaggi aggiuntivi: ad esempio, se è stata installata solo la versione a 64 bit del software Altova e si desidera utilizzarla da un'applicazione a 32 bit, è necessario eseguire le seguenti operazioni:

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
		...
	}

Si prega di notare che, quando le applicazioni Altova comunicano tra loro, cercheranno di contattare una versione corrispondente. Tuttavia, se la versione corrispondente non viene trovata, verrà contattata la versione opposta, se disponibile. Ciò significa, ad esempio, che se è installata una versione a 64 bit di MapForce e una versione a 32 bit di XMLSpy, queste potranno comunicare tra loro per modificare uno schema XML referenziato in una mappatura MapForce all'interno di XMLSpy, oppure per eseguire una trasformazione MapForce all'interno di un progetto XMLSpy.

“Ho imparato che non esiste un sostituto per strumenti di qualità. E, a dire il vero, la vostra suite MissionKit è uno strumento di alta qualità, senza dubbio la risorsa migliore che io abbia mai trovato per lo sviluppo di soluzioni aziendali, e un esempio perfetto di come dovrebbe essere scritto un software. Le mie più sincere congratulazioni per un prodotto eccellente.”

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