다음을 통해 공유


이전 버전의 WIP(Windows-Initiated Processing)에 대한 마이그레이션 고려 사항

이 항목에는 이전 버전의 트랜잭션 통합자 Windows-Initiated 처리에서 마이그레이션하는 방법을 설명하는 다음 섹션이 포함되어 있습니다.

COM 형식 라이브러리 변환

형식 라이브러리(TLL)는 더 이상 지원되지 않습니다. 기존 COMTI 또는 TI TLB 형식 라이브러리를 TI .NET 어셈블리로 변환한 다음 다시 배포해야 합니다.

변환을 수행하는 방법에는 두 가지가 있습니다.

  • 트랜잭션 통합자 변환 도구(TIConverionTool.exe)를 사용하는 것이 좋습니다. 단일 및 일괄 처리 변환을 모두 지원합니다.

  • 특별한 경우 Designer 가져오기 기능을 사용하여 단일 TLL을 변환합니다.

    TIConversionTool.exe 명령 프롬프트에서 실행하거나 PowerShell과 같은 다른 프로그램에서 호출할 수 있는 명령줄 유틸리티입니다. TIConverionTool.exe 단일 및 일괄 처리 작업을 모두 지원합니다. TIConversionTool.exe 다음 폴더에 있습니다.

OS 위치
X64 C:\Program Files\Microsoft Host Integration Server 2020\SysWOW64\
x86 C:\Program Files\Microsoft Host Integration Server 2020\system\

TIConverionTool 유틸리티의 명령줄 구문에 대한 자세한 내용은 트랜잭션 통합자 변환 도구를 참조하세요.

변환 프로세스가 완료되면 변환 중인 TLB가 이전에 만들어진 경우 기존 ES를 사용하여 새 .NET 개체를 배포할 수 있습니다. 이전 버전의 HIS에서 만든 TLL에 대한 새 RE를 만들어야 합니다.

기존 형식 라이브러리 제거

새 어셈블리를 배포하기 전에 TI 관리자를 사용하여 기존 TLB를 제거해야 합니다. 새 버전의 TI에는 더 엄격한 제약 조건이 있으므로 이전 TLB가 해당 제약 조건을 위반한 경우 몇 가지 경고 또는 오류가 발생할 수 있습니다. 예를 들어 변환 프로세스 중에 ADO RecordSets는 .NET DataTables로 변환됩니다. 변환되는 TLB가 네임스페이스와 인터페이스 모두에 대해 이름이 같으면 변환 도구는 인터페이스 이름에 _rename 자동으로 추가합니다. 변환되는 TLB의 ProgID 길이가 39자를 초과하면 변환 도구에서 오류가 발생하고 TLB가 변환되지 않습니다. ProgID가 39자 이상인 TLL의 경우 변환을 수행하려면 Designer/Import 메서드를 사용해야 합니다. IMS 암시적 및 명시적 지원은 TI 트랜잭션 2010에서 삭제되었으며 이러한 형식의 TLL은 IMS Connect 모델을 사용하여 로 변환됩니다. 자세한 내용은 IMS 연결을 참조하세요.

Designer 사용하여 형식 라이브러리 업그레이드

동일한 특성을 가진 새 .NET 어셈블리를 만들어 형식 라이브러리를 한 번에 하나씩 업그레이드할 수 있습니다. 그런 다음 기존 TLB를 가져올 수 있습니다. TLB에서 클라이언트 컨텍스트를 사용하도록 설정한 경우 가져오기 프로세스 중에 TLB는 이전 스타일의 개체의 클라이언트 컨텍스트 배열에서 새 클라이언트 컨텍스트 개체 모델로 변환됩니다. 그런 다음 새 컨텍스트 개체 모델에서 작동하도록 클라이언트 애플리케이션을 수정해야 합니다. 이 프로세스는 시간이 오래 걸리고 오류가 발생하기 쉬우며 TIConversionTool 유틸리티에서 지원하지 않는 경우에만 사용해야 합니다. 특수 사례에는 다음이 포함됩니다.

  • 지속성 Connections 클라이언트 컨텍스트 개체 모델을 사용해야 합니다. 그렇지 않으면 호출이 실패합니다. 또한 새 컨텍스트 모델에서 작동하도록 클라이언트 코드를 수정해야 합니다.

  • ProgID가 39자보다 긴 TLL.

  • 동적 ES와 같은 새로운 컨텍스트 사용 기능

    자세한 내용은 TI Designer 작업 도움말 항목을 참조하세요.

.NET 어셈블리 업그레이드

HIS가 .NET 어셈블리를 만드는 데 사용된 버전, 호스팅 모델(.NET 원격, 웹 서비스, WCF 서비스 또는 직접 호출) 및 프로그래밍 모델에 따라 다른 옵션이 있습니다. 대부분의 .NET 어셈블리는 변경 없이 계속 작동합니다. 경우에 따라 어셈블리를 변환하고 다시 배포해야 합니다. 단일 및 일괄 변환을 모두 지원하는 TIConversionTool.exe 유틸리티를 사용하는 것이 좋습니다. 특별한 경우 Designer 및 가져오기 기능을 사용하여 한 번에 하나의 어셈블리를 변환할 수 있습니다.

네트워크 유형 LU6.2를 사용하지 않는 한 HIS .NET 어셈블리에는 필요한 변경이 필요하지 않습니다. 이 경우 어셈블리는 TIConverionTool.exe 유틸리티를 사용하거나 Designer 가져오기 기능을 사용하여 변환해야 합니다.

IMS 암시적 및 IMS 명시적 은 더 이상 지원되지 않으며 TIConversionTool.exe 사용하여 변환될 때 IMS Connect 프로그래밍 모델로 변환됩니다. 자세한 내용은 IMS 연결을 참조하세요.

변환된 어셈블리 배포

변환 프로세스가 완료되면 어셈블리가 변환되는 경우 기존 RE를 사용하여 새 .NET 개체를 배포할 수 있습니다.

.NET 원격 호스팅 모델에 대한 지원이 제거되었습니다. WCF 또는 직접 호출 호스팅 모델을 사용하여 .NET 어셈블리를 배포해야 합니다.

Designer 사용하여 어셈블리 업그레이드

Designer 가져오기 기능을 사용하여 특별한 경우에만 HIS 2006 및 HIS 2004 .NET 어셈블리를 변환합니다. 가져오기 프로세스 중에 어셈블리에서 클라이언트 컨텍스트를 사용하도록 설정한 경우 이전 스타일의 개체의 클라이언트 컨텍스트 배열에서 새 클라이언트 컨텍스트 개체 모델로 변환됩니다. 새 클라이언트 컨텍스트 개체 모델에서 작동하도록 클라이언트 애플리케이션을 수정해야 합니다. 또한 배포 프로세스의 일부로 일치하는 새 RE를 만들어야 합니다.

지속성 Connections 새 클라이언트 컨텍스트 개체 모델을 사용해야 합니다. 그렇지 않으면 호출이 실패합니다. 또한 새 컨텍스트 모델에서 작동하도록 클라이언트 코드를 수정해야 합니다.

기타 고려 사항

형식 라이브러리 또는 어셈블리가 완전히 업그레이드되면 사용한 업그레이드 프로세스에 따라 이전 형식 라이브러리의 다음 두 가지 측면이 업데이트될 수 있습니다.

  • 원격 환경 클래스입니다.

  • 라이브러리 수준에서 정의된 기본 변환 정보입니다. 데이터 형식 변환의 기본값은 .NET 및 COM에서 다릅니다. 자세한 내용은 데이터 형식을 참조하세요.

    사용자 상황 및 애플리케이션의 요구 사항에 따라 하나 또는 둘 다를 업데이트할 수 있습니다. 다음 표에서는 사용자 작업, TI 작업, 결과 및 권장 사항에 대해 설명합니다.

사용자 동작 TI 작업 결과 사용 시기
없음 기존 .NET 개체 및 ES 사용 다음을 변경하지 않습니다.

-다시

- Ti 개체 GUID

- .NET 어셈블리 기본 변환
- TI .NET 개체 및 RE가 완벽하게 작동합니다.

- 형식 라이브러리 및 RE 내의 속성은 더 이상 수정할 수 없습니다.

- TI 프로젝트로 만든 새 .NET 어셈블리는 이전 RU와 연결할 수 없습니다.

- 기존 클라이언트는 수정할 필요가 없습니다.

- COM TLL 및 NET LU6.2 어셈블리는 실행되지 않으며 TIConverisionTool.exe 유틸리티를 사용하여 변환해야 합니다.
- 이전 버전에서 초기 업그레이드.

이전 TI .NET 개체 및 이전 ES가 작동하므로 수정할 필요가 없습니다.
TIConversionTool 유틸리티를 사용하여 TLL 및 .NET 어셈블리 변환 다음을 변경하지 않습니다.

- ClientContext 모델

- 원격 환경 클래스를 업데이트하지 않음
- 이전 형식 TLL 및 .NET 어셈블리가 최신 버전에서 작동하도록 업데이트됩니다. 업데이트된 .NET 어셈블리는 새 RU와만 연결할 수 있습니다. 변환된 TLL 및 .NET 어셈블리도 RU와 연결되는 것이 좋습니다.

이전 형식 라이브러리를 .NET 어셈블리로 마이그레이션하는 경우 TI는 다음을 포함하여 모든 Visual Basic 버전 6.0 Automation 데이터 형식을 Visual Basic .NET 데이터 형식으로 마이그레이션합니다.

- 정수에서 짧게

- Long to Integer

- 통화에서 10진수로

- DataTable에 대한 레코드 집합

- UDT에서 구조로

NewRecordset 함수를 사용하여 연결이 끊긴 레코드 집합을 만드는 클라이언트 애플리케이션은 코드를 수정해야 합니다. NewRecordset 함수는 .NET에서 지원되지 않습니다.

- 선언적 바인딩을 사용하는 기존 COM 클라이언트는 GUID 변경으로 인해 다시 컴파일되어야 합니다.
- HIS 2009 TLL 및 .NET LU62 어셈블리 마이그레이션

- HIS 2006 또는 HIS 2004 TLLB 및 .NET 어셈블리에서 마이그레이션

- Host Integration Server 2009 환경에서 새 RE를 만들어야 합니다.

- RE 기능 사용.

- HIS 지원 환경으로 이동합니다.

- 프로그래밍 모델은 동일하게 유지됩니다.
Designer 가져오기 기능을 사용하여 TLL 및 .NET 어셈블리 변환 - 원격 환경 클래스를 업데이트.

- 새 .NET 어셈블리 생성

새 개체 모델 ClientContext 사용
메서드 속성 Include Context Parameter 는 자동으로 True로 설정 됩니다. 클라이언트 애플리케이션이 클라이언트 컨텍스트를 지원할 필요가 없으며 클라이언트 컨텍스트가 선택적 매개 변수이므로 변경되지 않은 상태로 작업하는 경우 Visual Studio TI 프로젝트에서 메서드에서 컨텍스트 매개 변수 포함False 로 설정합니다.

개체 배열에서 모델로 변환된 ClientContext 모델에서 개체 모델로 변환됩니다. ClientContext를 사용하도록 설정하면 새 개체 모델에서 작동하도록 클라이언트 앱을 변경해야 합니다.

이전 형식 라이브러리를 .NET 어셈블리로 마이그레이션하는 경우 TI는 다음을 포함하여 모든 Visual Basic 버전 6.0 Automation 데이터 형식을 Visual Basic .NET 데이터 형식으로 마이그레이션합니다.

- 정수에서 짧게

- Long to Integer

- 통화에서 10진수로

- DataTable에 대한 레코드 집합

- UDT에서 구조로

NewRecordset 함수를 사용하여 연결이 끊긴 레코드 집합을 만드는 클라이언트 애플리케이션은 코드를 수정해야 합니다. NewRecordset 함수는 .NET에서 지원되지 않습니다.

GUID 변경으로 인해 선언적 바인딩을 사용하는 기존 COM 클라이언트를 다시 컴파일해야 합니다.
- 애플리케이션을 확장하려는 목적으로 Host Integration Server 2009를 사용하여 병렬 작업을 위한 애플리케이션의 새 instance 만듭니다.

- 새 클라이언트 컨텍스트 기능 사용(클라이언트 보안, 영구 Connections 등).

- 프로그래밍 모델 변경

- 대상 환경 변경(CICS, IMS, IBM i)

- 초기화 변경(WIP, HIP)

- IMS 암시적 또는 IMS 명시적 .NET 어셈블리 변환

ProgID가 39자보다 긴 TLL.

참고 항목

애플리케이션 통합 개발 도구