Oprogramowanie 64-bitowe

Od wersji 2010, wydanie 2, firma Altova oferuje zarówno 32-bitowe, jak i 64-bitowe wersje wszystkich aplikacji zawartych w edycjach Enterprise i Professional pakietu Altova MissionKit, oraz w edycjach Enterprise produktu Altova Authentic. Ta strona zawiera ważne informacje na temat zalet, różnic i zależności oprogramowania 64-bitowego, które należy wziąć pod uwagę przy wyborze, czy wersja 64-bitowa, czy 32-bitowa jest najlepsza dla Państwa potrzeb.

Dlaczego 64 bity?

W wielu nowoczesnych środowiskach programistycznych i przetwarzania danych pojawia się problem ograniczeń pamięci. Obecne i poprzednie 32-bitowe wersje systemu Microsoft Windows mogą przydzielić maksymalnie 2 GB pamięci dla każdego uruchomionego procesu, niezależnie od ilości dostępnej pamięci fizycznej lub wirtualnej na danym komputerze. Przenosząc to na praktykę w kontekście tworzenia aplikacji XML, oznacza to, że pliki XML większe niż 100 do 200 MB (w zależności od złożoności) nie mogą zostać w ogóle otwarte.

System 64-bitowy nie podlega takim samym ograniczeniom pamięci. Procesor 64-bitowy ma teoretycznie bardzo dużą maksymalną pojemność pamięci, mierzalną w petabajtach (1 petabajt = 1 milion gigabajtów). Obecnie, 64-bitowe wersje systemu Microsoft Windows 7 obsługują do 192 GB zainstalowanej pamięci. W praktyce, maksymalny rozmiar pliku XML, który pojedynczy użytkownik aplikacji 64-bitowej będzie mógł przetworzyć, jest ograniczony jedynie ilością zainstalowanej pamięci fizycznej.

Zrzut ekranu poniżej przedstawia plik o rozmiarze 2,7 GB, otwarty w 64-bitowej wersji programu XMLSpy. Ten plik XML zawiera strumień danych XML zawierający streszczenia z Wikipedii i składa się z ponad 35 milionów linii.

Bardzo duży plik otwarty do edycji w 64-bitowej wersji programu XMLSpy

(Nawet jeśli system nie posiada wystarczającej ilości pamięci fizycznej, systemy 64-bitowe mogą przetwarzać bardzo duże pliki, wykorzystując pamięć wirtualną, choć znacznie wolniej.)

Dodatkowo, pliki o rozmiarze mniejszym niż 100 MB mogą być przetwarzane bardziej efektywnie przez system 64-bitowy, który posiada dużą ilość pamięci operacyjnej, ponieważ system może przechowywać w pamięci znacznie większą ilość danych z dysku twardego w pamięci podręcznej.

Najczęściej zadawane pytania dotyczące oprogramowania 64-bitowego

Poniżej znajdują się odpowiedzi na najczęściej zadawane pytania (FAQ) dotyczące oprogramowania 32-bitowego i 64-bitowego.

  • Czy aplikacja 32-bitowa będzie działać na wersji 64-bitowej systemu Windows?

    Tak. Należy jednak pamiętać, że wersja 2010 to najwcześniejsza wersja programu Altova, która jest kompatybilna z systemem Windows 7.

  • Czy aplikacja 64-bitowa będzie działać na wersji 32-bitowej systemu Windows?

    Nie.

  • Jak mogę sprawdzić, czy mój system operuje na wersji 32-bitowej czy 64-bitowej systemu Windows?

    Otwórz Panel sterowania w systemie Windows. Wybierz widok "Klasyczny" (dla systemu Vista) lub "Ikony" (dla systemu Windows 7), a następnie otwórz ikonę "System". Wiersz oznaczony jako "Typ systemu" wyświetli informację o tym, czy system jest "32-bitowy" czy "64-bitowy"

  • Mój system działa pod kontrolą 64-bitowej wersji systemu Windows. Czy powinienem używać programów 32-bitowych czy 64-bitowych?

    To zależy. Należy wziąć pod uwagę dodatkowe informacje, które zostały szczegółowo opisane poniżej.

Opcje instalacji

Od wersji 2010, wydanie 2, klucze aktywacyjne dla wersji Enterprise i Professional aplikacji Altova są obsługiwane oba 32-bitowy i Wersje 64-bitowe. Ta funkcja zapewnia elastyczność w kilku istotnych aspektach:

  • Ścieżka aktualizacji – Użytkownik korzystający obecnie z systemu 32-bitowego musi zainstalować wersje 32-bitowe oprogramowania Altova. Później, po przejściu na stację roboczą 64-bitową, wersja 32-bitowa może zostać odinstalowana ze starego systemu, a ten sam klucz licencyjny umożliwia zainstalowanie wersji 64-bitowej na nowym urządzeniu.
  • Środowiska mieszane – Klucz aktywacyjny dla wielu użytkowników działa skutecznie w środowiskach mieszanych. Na przykład, klucz aktywacyjny dla 10 użytkowników może obsługiwać niektórych użytkowników korzystających z wersji 32-bitowej, a innych z wersji 64-bitowej, w dowolnej kombinacji wymaganej przez grupę roboczą.
  • Zróżnicowane wymagania – Użytkownik korzystający obecnie z systemu 64-bitowego może zainstalować zarówno wersje 32-bitowe, jak i 64-bitowe aplikacji Altova na tym samym komputerze, używając jednego, ważnego klucza licencyjnego.
  • Oznacza to, że programista może zainstalować dowolne lub wszystkie aplikacje z pakietu Altova MissionKit, zarówno w wersjach 32-bitowych, jak i 64-bitowych, i wybrać odpowiednią wersję dla każdego zadania. Na przykład, wersja 32-bitowa programu MapForce może być wymagana do połączenia z bazą danych ze względu na ograniczenia sterownika. Później tego samego dnia, programista mógł uruchomić 64-bitową wersję programu XMLSpy, aby pracować z bardzo dużym plikiem XML.
  • Aby uniknąć nieporozumień, wersje 64-bitowe każdego programu Altova są identyfikowane w nazwie skrótu na pulpicie, na pasku stanu znajdującym się na dole okna aplikacji oraz w oknie powitalnym "O programie".
  • Poniższy zrzut ekranu przedstawia ekrany startowe oraz paski statusu programów XMLSpy w wersjach 32-bitowych i 64-bitowych.
Ekran startowy i pasek stanu dla 64-bitowej wersji XMLSpy

Problemy charakterystyczne dla oprogramowania 64-bitowego:

Wymagania dotyczące pamięci

Aplikacja 64-bitowa będzie potrzebować więcej pamięci do otwarcia dowolnego pliku niż aplikacja 32-bitowa, ponieważ rozmiary adresów pamięci oraz inne struktury danych automatycznie stają się większe. Ogólnie rzecz biorąc, w przypadku plików XML, zużycie pamięci wzrasta o około 50 do 60%. Oznacza to, że użytkownik powinien mieć zainstalowane co najmniej 4 GB pamięci, aby w pełni wykorzystać zalety aplikacji 64-bitowej.

Połączenie z bazami danych

Ogólnie rzecz biorąc, aplikacja 64-bitowa wymaga sterownika 64-bitowego do połączenia z bazą danych. Poniżej przedstawiam kilka bardziej szczegółowych kwestii:

  • ODBC (Open Database Connectivity) - otwarty standard połączenia z bazami danych – Tylko 64-bitowe wersje sterowników ODBC mogą być używane z aplikacjami 64-bitowymi. Użytkownicy mogą sprawdzić, jakie sterowniki ODBC są zainstalowane na danym komputerze, korzystając z narzędzia konfiguracyjnego ODBC. Na komputerze 64-bitowym dostępne są dwa narzędzia do konfiguracji sterowników. Oba mają myląco tę samą nazwę „odbcad32.exe”, ale znajdują się w różnych folderach:
  • Plik Windows\system32\odbcad32.exe zarządza 64-bitowymi wersjami sterowników ODBC
  • Plik odbcad32.exe, znajdujący się w katalogu Windows\sysWOW64, zarządza odpowiednikami 32-bitowymi
  • Inne bazy danych – Niektóre bazy danych jeszcze nie posiadają sterowników 64-bitowych. Inne mają problemy z instalacją sterowników lub jeszcze nie są kompatybilne z systemem Windows 7. Prosimy odwiedzić strony internetowe producentów poszczególnych baz danych, aby uzyskać więcej informacji.

Korzystanie z aplikacji 64-bitowych z plikami baz danych Microsoft Access

Silnik bazy danych Microsoft Jet, który pojawił się w systemie Windows 95 lub wcześniej, był oryginalnym silnikiem baz danych używanym do tworzenia plików *.mdb, używanych przez program Microsoft Access. Wersje silnika Jet są zawarte we wszystkich edycjach systemu Microsoft Windows, aż do Windows 7, i są wykorzystywane przez 32-bitowe aplikacje do łączenia się z bazami danych Access przechowywanymi w plikach *.mdb.

Od wersji Office 2007, Microsoft Access zyskał nowy format plików z rozszerzeniem *.accdb oraz dodatkowe funkcje. Pliki baz danych programu Access 2007 (i nowszych wersji) są obsługiwane przez nowy sterownik Microsoft ACE (Access Database Engine).

Silnik bazy danych Microsoft Jet jest uważany za produkt przestarzały. Chociaż nadal jest zawarty w systemie Windows 7, nie zostały ogłoszone żadne plany dotyczące jego przeniesienia na wersję 64-bitową. Silnik bazy danych Microsoft ACE jest dostępny w wersji dla systemów 64-bitowych i można go pobrać bezpośrednio (tylko sterownik) pod adresem:

Silnik bazy danych Microsoft ACE można również pobrać jako część wersji x64 pakietu Microsoft Office 2010, pod adresem:

Obecnie istnieje pewne ograniczenie związane z 64-bitowym sterownikiem ACE – nie jest on kompatybilny z 32-bitowymi wersjami pakietu Microsoft Office.

Aktualnie, 64-bitowe wersje aplikacji Altova MissionKit wymagają sterownika Microsoft ACE x64 do otwierania baz danych Access, niezależnie od tego, czy rozszerzenie pliku to *.mdb czy *.accdb.

Istniejące pliki utworzone przy użyciu 32-bitowych wersji aplikacji Altova, takie jak mapowania MapForce lub arkusze stylów StyleVision, mogą zawierać informacje o połączeniu, które określają 32-bitowy dostawca Jet OLEDB (Microsoft.Jet.OLEDB.4.0). 64-bitowe aplikacje Altova automatycznie konwertują te starsze pliki, zastępując połączenia z użyciem Jet OLEDB na połączenia wykorzystujące ACE (Microsoft.ACE.OLEDB.12.0). Użytkownicy muszą jedynie zainstalować 64-bitowy sterownik ACE, zgodnie z opisem powyżej.

Systemy kontroli wersji

Firma Altova zaimplementowała interfejs Microsoft Source Code Control Interface (MSSCCI) w wersjach 1.1–1.3 w programach XMLSpy i UModel oraz przetestowała kompatybilność z wieloma popularnymi systemami kontroli wersji. Ponadto, program DiffDog można łatwo skonfigurować, aby służył jako domyślne narzędzie do porównywania i łączenia plików, gdy używany jest niezależny system kontroli wersji.

Ponieważ większość klientów korzystających z SCC nie posiada wersji 64-bitowych, firma Altova dostarcza specjalne oprogramowanie mostkowe SCC, które umożliwia wersjom 64-bitowym aplikacji Altova korzystanie z klientów SCC w wersji 32-bitowej. To oprogramowanie jest ściśle zintegrowane i działa w sposób niewidoczny dla użytkownika, gdy nie jest dostępna wersja 64-bitowa klienta SCC.

Wtyczki przeglądarki

Przeglądarka 32-bitowa wymaga wtyczek 32-bitowych, a przeglądarka 64-bitowa wymaga wtyczek 64-bitowych. Obecnie jedyną przeglądarką dostępną w obu wersjach jest Internet Explorer, dlatego wtyczki Altova Authentic Browser dla Internet Explorer są również dostępne zarówno w wersjach 32-bitowych, jak i 64-bitowych. Firefox jest obecnie dostępny tylko jako aplikacja 32-bitowa. Przykładowy kod HTML jest opublikowany w dokumentacji wtyczki Authentic Browser i pokazuje, jak umieścić instrukcje na stronie HTML, aby pobrać i zainstalować odpowiednią wersję wtyczki Authentic Browser.

Integracja z Visual Studio i Eclipse

Visual Studio jest dostępne tylko jako aplikacja 32-bitowa. W związku z tym, pakiety integracyjne Altova dla Visual Studio są również dostępne tylko w wersjach 32-bitowych.

Ponieważ Visual Studio jest dostępny tylko w wersji 32-bitowej, należy.. muszę; koniecznie Aby korzystać z programów XMLSpy, MapForce, StyleVision, UModel lub Authentic w środowisku Visual Studio i zapewnić płynną integrację z procesem pracy w tym środowisku, należy zainstalować 32-bitową wersję tych programów. Należy również zainstalować 32-bitową wersję odpowiedniego pakietu integracyjnego, niezależnie od tego, czy korzysta się z 32-bitowej, czy 64-bitowej wersji systemu Windows.

Eclipse jest dostępny jako aplikacja 32-bitowa i 64-bitowa i wymaga odpowiedniego wtyczki. Firma Altova oferuje pakiety integracyjne Eclipse (wersje 32-bitowe) od czasu wydania wersji 2007, a obecnie oferuje komponenty integracyjne zarówno dla wersji 32-bitowych, jak i 64-bitowych.

Integracja z programem Microsoft Word

Microsoft Word jest dostępny w wersjach 32-bitowych i 64-bitowych. Program Altova StyleVision umożliwia generowanie i wyświetlanie zaawansowanych raportów w formacie Microsoft Word 2007 i nowszych (OOXML), a także w formacie .rtf, między innymi. Program Altova DiffDog zawiera specjalną funkcję porównywania dokumentów Microsoft Word w wersjach 2003 i nowszych.

Aby wyświetlać dokumenty Microsoft Word w programach StyleVision lub DiffDog, wersja Microsoft Word wyświetlana na ekranie pomocy musi być zgodna z wersją zainstalowanego narzędzia Altova. Innymi słowy, jeśli korzystacie z 32-bitowej wersji Microsoft Word, to.. muszę; koniecznie Użyj 32-bitowej wersji programu StyleVision lub DiffDog. Jeśli korzystasz z 64-bitowej wersji programu Word, to.. muszę; koniecznie Użyj narzędzia Altova w wersji 64-bitowej.

Interfejsy ActiveX

Interfejs ActiveX umożliwia zintegrowanie interfejsu użytkownika i funkcjonalności aplikacji Altova w Państwa własnej aplikacji. Jeśli Państwa aplikacja jest aplikacją 32-bitową, konieczne będzie zainstalowanie wersji 32-bitowej oprogramowania Altova. W przypadku aplikacji 64-bitowej, wymagana jest wersja 64-bitowa tego oprogramowania.

Interfejsy COM

Interfejsy COM automatyzują funkcjonalność aplikacji Altova za pomocą API, bez konieczności integracji z interfejsem użytkownika. Domyślnie, system Windows udostępnia interfejs COM 32-bitowy dla aplikacji 32-bitowych, a interfejs COM 64-bitowy dla aplikacji 64-bitowych. Możliwe jest używanie obu wersji, ale wymaga to dodatkowej konfiguracji: jeśli na przykład zainstalowano tylko wersję 64-bitową oprogramowania Altova i chce się jej używać z aplikacji 32-bitowej, należy wykonać następujące czynności:

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

Należy pamiętać, że podczas komunikacji między aplikacjami Altova, programy będą próbować nawiązać połączenie z odpowiednią wersją. Jeśli odpowiednia wersja nie zostanie znaleziona, zostanie nawiązane połączenie z wersją przeciwną, jeśli jest dostępna. Oznacza to, że na przykład, jeśli zainstalowano 64-bitową wersję MapForce i 32-bitową wersję XMLSpy, będą one mogły się ze sobą komunikować, aby edytować schemat XML odniesiony w mapowaniu MapForce w programie XMLSpy, lub aby uruchomić transformację MapForce z poziomu projektu XMLSpy.

“Dowiedziałem się, że nie ma substytutu dla wysokiej jakości narzędzi. I rzeczywiście, pakiet MissionKit to narzędzie najwyższej jakości, zdecydowanie najlepsze źródło informacji dla rozwoju przedsiębiorstw, z jakim kiedykolwiek miałem do czynienia, a sam w sobie jest doskonałym przykładem tego, jak powinno być pisane oprogramowanie. Składam serdeczne gratulacje za ten wspaniały produkt.”

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