64비트 소프트웨어

Altova는 2010년 릴리스 2 버전부터 시작하여, Altova MissionKit의 Enterprise 및 Professional 에디션, 그리고 Altova Authentic의 Enterprise 에디션에 포함된 모든 애플리케이션에 대해 32비트 및 64비트 버전을 모두 제공합니다. 이 페이지는 64비트 소프트웨어의 장점, 차이점, 그리고 의존성에 대한 중요한 정보를 제공하며, 64비트 또는 32비트 버전 중 어떤 것이 귀하의 요구 사항에 가장 적합한지 결정하는 데 도움이 될 것입니다.

64비트 시스템을 사용하는 이유는 무엇인가요?

현대의 많은 소프트웨어 개발 및 데이터 처리 환경에서 내장된 메모리 제한에 직면하고 있습니다. 현재 및 이전 버전의 32비트 Microsoft Windows는 특정 시스템에 사용 가능한 실제 또는 가상 메모리 양에 관계없이, 각 실행 프로세스에 최대 2GB의 메모리만 할당할 수 있습니다. 이를 실제 XML 개발 환경으로 옮겨보면, 복잡성에 따라 다르지만 100MB에서 200MB를 초과하는 XML 파일은 아예 열 수 없는 상황이 발생합니다.

64비트 시스템은 동일한 메모리 제한을 받지 않습니다. 64비트 프로세서는 이론적으로 매우 큰 메모리 용량을 지원하며, 그 크기는 페타바이트 단위로 측정됩니다 (1 페타바이트 = 100만 기가바이트). 현재, 64비트 버전의 Microsoft Windows 7은 최대 192GB의 메모리를 지원합니다. 실제로, 64비트 애플리케이션을 사용하는 개별 사용자가 처리할 수 있는 최대 XML 파일 크기는 설치된 물리적 메모리 용량에 의해 제한됩니다.

아래 스크린샷은 XMLSpy 64비트 버전을 통해 열린 2.7GB 크기의 파일을 보여줍니다. 이 XML 파일은 위키피디아의 요약 정보를 담고 있으며, 3천 5백만 줄이 넘는 방대한 양의 데이터를 포함하고 있습니다.

XMLSpy 64비트 버전에서 편집 중인 매우 큰 파일

(물리적 메모리가 충분하지 않더라도, 64비트 시스템은 가상 메모리를 사용하여 매우 큰 파일을 처리할 수 있지만, 그 속도는 훨씬 느릴 수 있습니다.)

또한, 물리적 메모리 용량이 큰 64비트 시스템은 100MB보다 작은 파일을 더 효율적으로 처리할 수 있습니다. 그 이유는 시스템이 하드 디스크 데이터를 훨씬 더 큰 용량으로 메모리에 저장할 수 있기 때문입니다.

64비트 소프트웨어에 대한 자주 묻는 질문들

다음은 32비트와 64비트 소프트웨어에 대한 가장 자주 묻는 질문(FAQ)에 대한 답변입니다.

  • 32비트 응용 프로그램은 64비트 버전의 Windows에서 실행될 수 있을까요?

    네. 다만, Altova 2010 버전이 Windows 7과 호환되는 가장 오래된 버전이라는 점을 유념하시기 바랍니다.

  • 64비트 애플리케이션이 32비트 버전의 Windows에서 실행될 수 있을까요?

    아니요.

  • 제 시스템이 32비트 또는 64비트 버전의 Windows를 실행하고 있는지 어떻게 확인할 수 있나요?

    Windows 제어판을 열고, "클래식 보기(Vista)" 또는 "아이콘(Windows 7)"을 선택한 다음, "시스템" 아이콘을 엽니다. "시스템 유형"이라고 표시된 줄에서 "32비트 운영 체제" 또는 "64비트 운영 체제" 중 하나가 표시됩니다

  • 제 시스템은 64비트 버전의 윈도우를 사용하고 있습니다. 32비트 또는 64비트 소프트웨어 프로그램을 사용해야 할까요?

    결과는 다를 수 있습니다. 아래에서 자세히 설명하는 추가 정보를 고려하시는 것이 좋습니다.

설치 옵션

알토바(Altova) 애플리케이션의 엔터프라이즈(Enterprise) 및 프로페셔널(Professional) 에디션에 대한 유효한 제품 키는 2010 버전 릴리스 2부터 지원됩니다 둘 다 32비트 그리고 64비트 버전: 이 기능은 여러 중요한 측면에서 유연성을 제공합니다

  • 업그레이드 경로 – 현재 32비트 시스템을 사용하고 있는 사용자는 Altova 소프트웨어의 32비트 버전을 설치해야 합니다. 나중에 사용자가 64비트 워크스테이션으로 업그레이드하면, 기존 시스템에서 32비트 버전을 제거하고, 동일한 키 코드를 사용하여 새로운 64비트 시스템에 64비트 버전을 설치할 수 있습니다.
  • 혼합 환경 – 멀티 사용자 키코드는 다양한 환경에서 효과적으로 작동합니다. 예를 들어, 10명 사용자를 위한 키코드는 일부 사용자가 32비트 버전을, 다른 사용자가 64비트 버전을 사용하는 것을 지원할 수 있으며, 이는 작업 그룹의 필요에 따라 다양한 조합으로 구성될 수 있습니다.
  • 다양한 요구 사항 – 현재 64비트 운영체제를 사용하고 있는 사용자는 유효한 라이선스 키 하나를 사용하여 동일한 워크스테이션에 Altova 애플리케이션의 32비트 및 64비트 버전을 모두 설치할 수 있습니다.
  • 이는 개발자가 Altova MissionKit 전체 제품군에 포함된 모든 애플리케이션을 32비트 및 64비트 버전 모두에서 설치하고, 각 작업에 적합한 버전을 선택할 수 있다는 의미입니다. 예를 들어, 특정 데이터베이스에 연결하기 위해 MapForce의 32비트 버전이 드라이버 제한으로 인해 필요할 수 있습니다. 그날 오후, 개발자는 매우 큰 XML 파일을 처리하기 위해 XMLSpy의 64비트 버전을 실행할 수 있습니다.
  • 혼동을 방지하기 위해, 각 Altova 응용 프로그램의 64비트 버전은 데스크톱 바로가기 이름, 응용 프로그램 창 하단의 상태 표시줄, 그리고 "정보" 창에서 명확하게 식별됩니다.
  • 아래 스크린샷은 XMLSpy의 시작 화면과 상태 표시줄의 32비트 버전과 64비트 버전 모습을 보여줍니다.
XMLSpy 64비트 버전의 시작 화면 및 상태 표시줄

64비트 소프트웨어에서 발생하는 문제점들:

메모리 요구 사항

64비트 애플리케이션은 32비트 애플리케이션보다 파일을 열 때 더 많은 메모리를 필요로 합니다. 그 이유는 메모리 포인터 및 기타 구조체의 주소 크기가 자동으로 커지기 때문입니다. XML 파일의 경우, 일반적으로 메모리 사용량이 약 50~60% 증가합니다. 따라서 64비트 애플리케이션의 장점을 최대한 활용하려면 사용자는 최소 4GB 이상의 메모리를 장착해야 합니다.

데이터베이스 연결

일반적으로 64비트 애플리케이션은 데이터베이스 연결을 위해 64비트 드라이버가 필요합니다. 다음은 몇 가지 더 구체적인 고려 사항입니다

  • ODBC (Open Database Connectivity, 개방형 데이터베이스 연결) – 64비트 애플리케이션에서는 64비트 버전의 ODBC 드라이버만 사용할 수 있습니다. 사용자는 ODBC 구성 도구를 사용하여 특정 컴퓨터에 설치된 ODBC 드라이버 목록을 확인할 수 있습니다. 64비트 컴퓨터에는 두 개의 드라이버 구성 도구가 있으며, 둘 다 이름이 "odbcad32.exe"로 동일하지만, 서로 다른 폴더에 위치합니다
  • Windows\system32\odbcad32.exe는 64비트 ODBC 드라이버를 관리합니다
  • Windows\sysWOW64\odbcad32.exe는 32비트 버전의 해당 파일들을 관리합니다
  • 다른 데이터베이스 – 일부 데이터베이스는 아직 64비트 드라이버를 지원하지 않습니다. 다른 데이터베이스는 드라이버 설치에 문제가 있거나, 아직 Windows 7과 호환되지 않을 수 있습니다. 자세한 내용은 각 데이터베이스 개발사의 웹사이트를 참고하시기 바랍니다.

Microsoft Access 데이터베이스 파일과 64비트 응용 프로그램을 사용하는 방법

마이크로소프트 Jet 데이터베이스 엔진은 윈도우 95 또는 그 이전 버전부터 존재했으며, 마이크로소프트 Access를 사용하여 생성된 *.mdb 파일의 기본적인 데이터베이스 엔진이었습니다. Jet 엔진은 윈도우 7을 포함한 모든 버전의 마이크로소프트 윈도우에 포함되어 있으며, 32비트 애플리케이션이 *.mdb 파일에 저장된 Access 데이터베이스에 연결하는 데 사용됩니다.

Microsoft Access는 Office 2007부터 *.accdb 확장자를 가진 새로운 파일 형식을 도입했으며, 추가적인 기능도 제공하게 되었습니다. Access 2007 (이후 버전)의 데이터베이스 파일은 새로운 Microsoft ACE (Access Database Engine) 드라이버를 통해 지원됩니다.

Microsoft Jet 데이터베이스 엔진은 더 이상 지원되지 않는 제품으로 간주됩니다. Windows 7에는 여전히 포함되어 있지만, 64비트 버전으로 이식될 계획은 발표되지 않았습니다. Microsoft ACE 데이터베이스 엔진은 64비트 시스템용 버전이 있으며, 드라이버만 별도로 다운로드할 수 있습니다. (다운로드 링크: [링크 삽입])

Microsoft ACE 데이터베이스 엔진은 Microsoft Office 2010의 x64 버전을 다운로드하는 과정에서 함께 다운로드할 수 있습니다. 자세한 내용은 다음 링크를 참조하십시오

현재 64비트 ACE 드라이버에는 안타깝게도 한 가지 제약 사항이 있습니다. 즉, 이 드라이버는 Microsoft Office의 32비트 버전과 함께 사용할 수 없습니다.

현재 Altova MissionKit 애플리케이션의 64비트 버전은 Access 데이터베이스 파일을 열 때, 파일 확장자가 *.mdb 또는 *.accdb 여부에 관계없이 x64 Microsoft ACE 드라이버가 필요합니다.

Altova 애플리케이션의 32비트 버전으로 생성된 기존 파일(예: MapForce 매핑 또는 StyleVision 스타일 시트)에는 32비트 Jet OLEDB 공급자(Microsoft.Jet.OLEDB.4.0)에 대한 연결 정보가 포함될 수 있습니다. Altova 64비트 애플리케이션은 이러한 이전 파일을 자동으로 ACE 기반 연결(Microsoft.ACE.OLEDB.12.0)으로 변환합니다. 사용자는 위에서 설명한 대로 64비트 ACE 드라이버만 설치하면 됩니다.

소스 코드 관리 시스템

Altova는 XMLSpy와 UModel에 Microsoft Source Code Control Interface (MSSCCI) 버전 1.1부터 1.3을 적용했으며, 다양한 인기 버전 관리 시스템과의 호환성을 테스트했습니다. 또한, DiffDog는 독립적인 버전 관리 시스템을 사용할 때 기본 차이점 비교/병합 도구로 쉽게 설정할 수 있습니다.

대부분의 SCC 고객이 64비트 버전을 보유하지 않기 때문에, Altova는 특별한 SCC 브리지 소프트웨어를 제공합니다. 이 소프트웨어는 Altova 애플리케이션의 64비트 버전을 사용하여 SCC의 32비트 클라이언트를 사용할 수 있도록 해줍니다. 이 브리지는 시스템에 깊숙이 통합되어 있으며, 64비트 SCC 클라이언트가 없을 때 사용자 관점에서 투명하게 작동합니다.

브라우저 플러그인

32비트 브라우저는 32비트 플러그인이 필요하고, 64비트 브라우저는 64비트 플러그인이 필요합니다. 현재 인터넷 익스플로러만 32비트와 64비트 버전으로 모두 제공되므로, 인터넷 익스플로러용 Altova Authentic Browser 플러그인도 32비트와 64비트 버전으로 모두 제공됩니다. 파이어폭스는 현재 32비트 버전만 제공됩니다. Authentic Browser 플러그인 설명서에는 HTML 페이지에 Authentic Browser 플러그인의 올바른 버전을 다운로드하고 설치하는 방법을 안내하는 코드를 예시로 제공합니다.

Visual Studio 및 Eclipse 연동 기능

Visual Studio는 32비트 애플리케이션으로만 제공됩니다. 따라서 Altova Integration Packages for Visual Studio 역시 32비트 버전으로만 제공됩니다.

Visual Studio는 32비트 버전만 제공되므로, 다음 사항을 고려해야 합니다 반드시 해야 합니다 XMLSpy, MapForce, StyleVision, UModel 또는 Authentic의 32비트 버전을 설치하여 Visual Studio 내에서 실행하고, IDE의 워크플로우에 원활하게 통합하십시오. Windows의 32비트 또는 64비트 버전을 사용하든, 해당 통합 패키지의 32비트 버전을 반드시 설치해야 합니다.

Eclipse는 32비트 및 64비트 애플리케이션으로 제공되며, 해당 버전에 맞는 플러그인이 필요합니다. Altova는 2007 버전 출시 이후로 Eclipse용 32비트 통합 패키지를 제공해 왔으며, 현재는 32비트 및 64비트 버전 모두에 대한 통합 컴포넌트를 제공하고 있습니다.

Microsoft Word 연동 기능

Microsoft Word는 32비트 및 64비트 버전으로 제공됩니다. Altova StyleVision은 Microsoft Word 2007 이상 버전(OOXML) 및 .rtf 형식 등 다양한 형식에서 고급 보고서를 생성하고 표시합니다. Altova DiffDog은 Microsoft Word 2003 이후 버전의 문서에 대한 특수한 비교 기능을 제공합니다.

StyleVision 또는 DiffDog에서 Microsoft Word 문서를 표시하려면, 해당 프로그램의 도움말 화면에 표시되는 Microsoft Word 버전이 설치된 Altova 도구의 버전과 일치해야 합니다. 다시 말해, Microsoft Word의 32비트 버전을 사용하고 있다면, StyleVision 또는 DiffDog의 32비트 버전을 반드시 사용해야 합니다. 반대로, Microsoft Word의 64비트 버전을 사용하고 있다면, Altova 도구의 64비트 버전을 반드시 사용해야 합니다.

액티브X 인터페이스

ActiveX 인터페이스를 사용하면 Altova 애플리케이션의 사용자 인터페이스와 기능을 여러분의 애플리케이션에 통합할 수 있습니다. 만약 여러분의 애플리케이션이 32비트 애플리케이션이라면, Altova 소프트웨어의 32비트 버전을 설치해야 합니다. 64비트 애플리케이션의 경우, Altova 소프트웨어의 64비트 버전이 필요합니다.

COM 인터페이스

COM 인터페이스는 사용자 인터페이스 통합 없이 API를 통해 Altova 애플리케이션의 기능을 자동화합니다. 기본적으로 Windows는 32비트 애플리케이션에 32비트 COM을, 64비트 애플리케이션에 64비트 COM을 노출합니다. 혼합 사용도 가능하지만, 추가적인 작업이 필요합니다. 예를 들어, Altova 소프트웨어의 64비트 버전을 설치했는데 32비트 애플리케이션에서 사용하고 싶다면, 다음 단계를 수행해야 합니다

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

Altova 애플리케이션을 사용하여 서로 통신할 때, 각 애플리케이션은 해당 버전을 호출하려고 시도합니다. 하지만 해당 버전이 없는 경우, 사용 가능한 다른 버전을 호출합니다. 예를 들어, 64비트 버전의 MapForce와 32비트 버전의 XMLSpy가 설치되어 있다면, XMLSpy에서 MapForce 매핑에 참조된 XML 스키마를 편집하거나, XMLSpy 프로젝트 내에서 MapForce 변환을 실행하기 위해 서로 통신할 수 있습니다.

“저는 품질 좋은 도구가 대체 불가능하다는 것을 깨달았습니다. 그리고 진심으로 말씀드리지만, 귀사의 MissionKit 제품군은 훌륭한 도구이며, 제가 경험해 본 기업용 개발 분야에서 가장 뛰어난 자료 중 하나입니다. 또한, 소프트웨어가 어떻게 개발되어야 하는지에 대한 최고의 예시라고 생각합니다. 훌륭한 제품을 개발하신 것에 대해 진심으로 칭찬드립니다.”

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