다음을 통해 공유


애플리케이션 업데이트에 대한 모범 사례

이 항목에서는 BizTalk 애플리케이션 및 아티팩트 업데이트 시 사용해야 하는 모범 사례에 대해 설명합니다.

버전 관리

버전 관리 전략 구현

  • 장기 실행 트랜잭션을 사용하거나 BizTalk 애플리케이션을 다운하여 업그레이드 또는 버그 수정을 수행할 수 없는 경우 좋은 버전 관리 전략이 필수적입니다. 스키마, 맵, 사용자 지정 어댑터, 파이프라인, 파이프라인 구성 요소, 오케스트레이션, 비즈니스 규칙, BAM 및 오케스트레이션 및 맵에서 호출된 사용자 지정 클래스 등 모든 BizTalk 아티팩트 버전 관리 전략을 계획해야 합니다.

    BizTalk Management 데이터베이스 및 GAC(전역 어셈블리 캐시)의 어셈블리 일치

  • 애플리케이션이 제대로 작동하도록 GAC와 동일한 버전의 어셈블리가 BizTalk Management 데이터베이스에 있는지 확인합니다. 어셈블리를 배포할 때 항상 GAC에 설치하지 않으면 GAC와 BizTalk 관리 데이터베이스에 서로 다른 버전이 있을 수 있으며, 이 경우 런타임에 처리 오류가 발생합니다.

    BizTalk 어셈블리 검사기 및 원격 GAC 도구를 사용하여 버전 관리 확인

  • BizTalk 어셈블리 검사기 및 원격 GAC 도구(BTSAssemblyChecker.exe)는 BizTalk Management 데이터베이스에 배포된 어셈블리 버전을 확인하고 모든 BizTalk Server 컴퓨터의 GAC에 올바르게 등록되었는지 확인합니다. 이 도구를 사용하여 특정 BizTalk 애플리케이션의 아티팩트가 포함된 모든 어셈블리가 모든 BizTalk 노드에 설치되어 있는지 확인할 수 있습니다. 이 도구는 특히 병렬 배포 방법을 사용하는 경우 각 BizTalk 머신에 올바른 버전의 어셈블리 집합이 설치되어 있는지 확인하는 견고한 버전 관리 전략과 함께 특히 유용합니다.

  • 이 도구는 Support\Tools\x86\BTSAssemblyChecker.exe BizTalk Server 설치 미디어에서 사용할 수 있습니다.

    버전 관리 제품 사용

  • BizTalk 아티팩트 추적 및 버전 관리를 위해 Microsoft Visual Studio® Team Foundation Server 2010과 같은 버전 관리 제품을 사용해야 합니다. Microsoft Visual Studio® Team Foundation Server 2010에 대한 자세한 내용은 Microsoft Visual Studio® Team Foundation Server 2010 (https://go.microsoft.com/fwlink/?LinkId=210637)을 참조하세요.

    여러 BizTalk 애플리케이션에 아티팩트 인수

  • BizTalk 아티팩트 어셈블리 버전 관리를 수행하려면 BizTalk Server 버전 관리를 허용하기 위해 BizTalk 솔루션 어셈블리를 팩터링(패키지)해야 합니다. 팩터링에 대한 자세한 내용은 애플리케이션에 아티팩트 추가를 참조하세요.

응용 프로그램 업데이트

.msi 파일을 사용하여 애플리케이션 업데이트

  • 애플리케이션 업그레이드는 일반적으로 프로덕션에서 신중하고 정확한 작업입니다. 애플리케이션을 업그레이드할 때는 일반적으로 수동 검사 목록을 사용해야 합니다. 그러나 .msi 파일을 사용하여 특정 단계를 간소화할 수 있습니다. .msi 파일을 사용하는 경우 애플리케이션 아티팩트를 배포 가능한 패키지로 래핑할 수 있습니다. .msi 파일은 업데이트된 DLL을 여러 런타임 상자에 롤아웃하거나 그룹 수준 배포를 수행할 때 특히 유용합니다. .msi 파일을 만들 때 패키지에서 변경되지 않은 다른 모든 리소스 및 바인딩을 제외해야 합니다.

  • BizTalk 어셈블리를 업데이트하는 경우 .msi 파일을 가져오고 설치하기 전과 후에 BizTalk 아티팩트가 수동으로 중지, 등록 취소, 다시 등록을 시작해야 합니다. BizTalk 어셈블리 업데이트에 대한 자세한 내용은 검사 목록: 어셈블리 업데이트를 참조하세요.

  • 병렬 버전 관리를 사용하여 BizTalk Server 어셈블리를 업그레이드하는 경우 .msi 파일을 사용하기 전과 후에 수동 단계를 수행해야 합니다. 필요한 수동 단계에 대한 자세한 내용은 검사 목록: 병렬 버전 관리를 사용하여 애플리케이션 업데이트를 참조하세요.

어셈블리 업데이트

프로덕션 환경에서 어셈블리의 버전 증가

  • 프로덕션 환경에서 실행되는 어셈블리를 업데이트하려는 경우 어셈블리 버전 번호를 항상 증분해야 합니다.

    업데이트된 어셈블리로 GAC 업데이트

  • 오케스트레이션, 스키마 또는 맵이 포함된 어셈블리를 업데이트하는 경우 GAC를 새 버전이 포함된 어셈블리로 업데이트해야 합니다. 그렇지 않으면 BizTalk Server 오래된 버전을 사용합니다. 새 버전으로 GAC를 업데이트하려면 응용 프로그램이 바인딩된 호스트 인스턴스를 실행하는 각 컴퓨터의 GAC에서 업데이트된 아티팩트가 포함된 어셈블리의 오래된 버전을 제거하고 새 버전을 설치해야 합니다.

    어셈블리를 업데이트한 후 호스트 instance 다시 시작

  • 기존 애플리케이션의 BizTalk 어셈블리가 업데이트된 경우 변경 내용을 적용하려면 호스트 인스턴스를 다시 시작해야 할 수 있습니다. 호스트 instance 다시 시작하면 호스트 instance 실행되는 다른 모든 애플리케이션이 중지됩니다.

아티팩트 업데이트

종속 아티팩트가 종속된 아티팩트 앞에 배포 취소

  • 다른 아티팩트가 종속된 아티팩트를 배포 취소하는 경우 먼저 종속 아티팩트를 배포 취소해야 합니다.

    참고

    종속 아티팩트 배포를 먼저 취소하지 않으면 BizTalk Server 관리 콘솔에 경고가 표시되고 잘못된 순서로 아티팩트가 배포되지 않습니다.

    다른 애플리케이션이 사용하는 아티팩트를 중지하지 마세요.

  • 다른 응용 프로그램이 종속되어 있는 응용 프로그램에서 아티팩트를 중지(전체 응용 프로그램을 중지하는 경우 이렇게 될 수 있음)할 경우 종속된 응용 프로그램이 올바르게 작동하지 않을 수 있습니다. 애플리케이션 중지에 대한 자세한 내용은 BizTalk 애플리케이션을 시작하고 중지하는 방법 (https://go.microsoft.com/fwlink/?LinkID=154729)을 참조하세요.

    아티팩트를 이동하기 전에 어셈블리에 대한 참조 추가

  • 아티팩트를 새 응용 프로그램으로 이동할 경우, 이 아티팩트가 종속되어 있는 다른 아티팩트도 모두 이동됩니다. 단, 새 응용 프로그램에 이러한 다른 아티팩트가 있는 응용 프로그램에 대한 참조가 없어야 합니다. 또한 해당 아티팩트를 포함하는 응용 프로그램에 새 응용 프로그램에 대한 참조가 없는 한 이동한 아티팩트와 종속성이 있는 아티팩트도 모두 이동됩니다. 아티팩트를 이동하면 함께 이동되는 다른 아티팩트 목록이 표시됩니다.

바인딩 업데이트

바인딩 재구성 자동화

  • 응용 프로그램에서 어셈블리를 업데이트할 때 해당 바인딩을 덮어쓰는 경우가 많으며, 아니면 어셈블리가 바인딩되지 않아 수동으로 바인딩을 다시 구성해야 할 수도 있습니다. 바인딩 파일을 사용하여 이 프로세스를 자동화할 수 있습니다. 동일한 버전의 어셈블리를 업데이트하는 경우 먼저 어셈블리에 대한 바인딩 파일을 내보낸 다음 어셈블리를 업데이트한 다음 어셈블리를 애플리케이션으로 가져온 다음 바인딩 파일을 가져와 이전 바인딩을 다시 적용할 수 있습니다. 최신 버전으로 어셈블리를 업데이트하는 경우 바인딩 파일을 내보내고, 파일을 편집하여 새 어셈블리 버전을 반영하고, 새 어셈블리를 애플리케이션으로 가져온 다음, 바인딩 파일을 가져와 새 바인딩을 적용할 수 있습니다. 바인딩 파일에 대한 자세한 내용은 바인딩을 바인딩 파일로 내보내는 방법을 참조하세요. 바인딩 파일을 편집하는 방법에 대한 자세한 내용은 바인딩 파일 사용자 지정 (https://go.microsoft.com/fwlink/?LinkID=155000)을 참조하세요.

애플리케이션 시작 또는 중지

아티팩트를 업데이트하는 애플리케이션 중지

  • 애플리케이션에서 아티팩트를 업데이트하는 애플리케이션을 중지하지 않는 경우 엔드포인트를 사용하지 않도록 설정하여 MessageBox 데이터베이스에 대한 게시를 일시적으로 중단하고 실행 중인 인스턴스를 중지 및 목록에 추가 취소해야 합니다. 실행 중인 인스턴스를 중지하고 목록에 추가하지 않도록 하려면 모든 탈수 또는 일시 중단된 인스턴스를 수동으로 다시 시작하고 완료하거나 종료해야 합니다.

  • 아티팩트를 업데이트하거나 응용 프로그램을 설치하기 위해 응용 프로그램을 중지할 필요가 없지만 아티팩트를 업데이트할 때 응용 프로그램을 항상 중지하는 것이 좋습니다.

참고 항목

바인딩 파일에 바인딩을 내보내는 방법