OpenFrame 마이그레이션

1. 리소스 마이그레이션

리소스란 OpenFrame 시스템에서 사용되는 모든 자원을 의미하는 것으로 데이터셋, CICS 리소스, JCL 등 그 범위가 광범위하다.

리소스 마이그레이션은 Mainframe에서 운영되고 있는 업무 시스템에서 사용하는 JCL, CSD와 같은 사용자 리소스를 OpenFrame에서 사용할 수 있도록 전환하는 작업이다. 작업할 때 Mainframe에서 다운받은 EBCDIC 데이터가 필요하다.

일반적으로 리소스 마이그레이션은 다음의 과정으로 진행된다.

figure 4 2
리소스 마이그레이션
  1. EBCDIC 리소스를 ASCII 리소스로 변환한다.

  2. OpenFrame에서 운용될 수 있도록 적재(import)하는 과정을 거친다.

다음은 리소스 마이그레이션에 해당하는 작업이다.

  • EBCDIC에서 ASCII로 변환

    OpenFrame 마이그레이션 절차는 리소스 종류에 따라 다양하다. 단, EBCDIC 코드가 포함된 리소스를 ASCII 코드가 포함된 리소스로 변환하는 작업은 모든 리소스의 마이그레이션 절차에서 동일하게 적용된다.

    코드 변환은 IBM Mainframe의 기본 문자 집합과 개방형 환경의 문자 집합이 다르기 때문에 발생하는 작업으로 리호스팅을 위한 마이그레이션 과정에서는 필수 작업이다.

  • CICS Map 마이그레이션

    CICS의 BMS 기능을 사용하는 CICS 애플리케이션 프로그램을 OSC 시스템으로 마이그레이션할 때에는 CICS 애플리케이션 프로그램에서 사용하는 Map 정보가 함께 마이그레이션 되어야 한다.

    OSC 시스템에서는 CICS에서 사용하는 Map 실행 파일을 그대로 사용할 수는 없기 때문에 Map 소스 코드를 EBCDIC에서 ASCII로 변환한 후에 OSC 시스템에서 제공하는 컴파일러로 컴파일해야 한다.

  • CICS 리소스 마이그레이션

    CICS에서 제공하는 시스템 리소스를 사용하는 CICS 애플리케이션이 정상적으로 작동하기 위해 사용자는 필요한 리소스 정의를 CICS 시스템에 설정한다.

    마찬가지로 CICS 애플리케이션이 OpenFrame OSC 시스템으로 마이그레이션 된 후에 정상적으로 작동하기 위해 CICS 시스템에서 사용하는 리소스 정의를 OSC 시스템으로 마이그레이션 해야 한다.

  • JCL 마이그레이션

    일반적으로 JCL 마이그레이션은 기존의 Mainframe의 JES 환경에서 실행되는 JCL을 다운받아서 Mainframe에서 사용되고 있는 EBCDIC 코드 기반의 JCL 원본 파일을 OpenFrame에서 사용하는 ASCII 코드 기반으로 변환하는 것을 의미한다. 기존의 JCL 소스를 수정할 필요없이 OpenFrame의 TJES 환경에서 JCL을 실행할 수 있도록 하는 것이다.

  • SORT 스크립트 마이그레이션

    SORT 스크립트를 변환할 때는 스크립트에 기술된 Zone Decimal(이하 ZD) 포맷 변환에 주의해야 한다. IBM Mainframe의 경우 다양한 내장 부호(embedded sign)가 ZD 포맷에 사용될 수 있다. 하지만 UNIX 시스템의 경우에는 Micro Focus Format ZD와 Alternate Format ZD에 따라 ZD 포맷에 사용될 수 있는 내장 부호(embedded sign)가 구분된다.

2. 데이터셋 마이그레이션

데이터셋이란 논리적으로 연결된 데이터 레코드의 집합이다. 여기서 레코드는 애플리케이션에서 사용되는 정보의 기본 단위를 의미한다. 데이터셋은 종류에 따라서 크게 Non-VSAM 데이터셋과 VSAM 데이터셋으로 구분된다.

데이터셋 마이그레이션은 Mainframe에서 사용 중인 데이터셋을 OpenFrame에서 사용할 수 있도록 전환하는 작업이다. 작업할 때 Mainframe에서 다운받은 EBCDIC 데이터가 필요하다.

데이터셋에 대한 자세한 내용은 "OpenFrame 데이터셋 안내서"를 참고한다.

일반적으로 데이터셋 마이그레이션은 다음과 같은 과정으로 진행된다.

figure 4 3
데이터셋 마이그레이션
  1. 데이터셋의 스키마을 담고 있는 EBCDIC 리소스를 ASCII 리소스로 변환한다.

  2. 변환된 ASCII 리소스를 이용해서 데이터셋 스키마를 추출한다.

  3. OpenFrame에서 운용될 수 있도록 EBCDIC 데이터셋을 변환(convert) 및 적재(import)하는 과정을 거친다.

Mainframe에서 운용되던 데이터셋을 OpenFrame에서 그대로 운용하기 위해서는 데이터셋 전환 작업을 거치게 되는데, 데이터셋 전환 작업은 다음과 같이 데이터셋의 종류에 따라 전환 방법이 다르다.

  • Non-VSAM 데이터셋

    Non-VSAM 데이터셋의 PDS, GDG, SAM, ISAM 데이터셋을 전환한다.

  • VSAM 데이터셋

    VSAM 데이터셋의 KSDS, ESDS, RRDS, LDS 데이터셋을 전환한다.

위의 방법으로 전환되지 않는 데이터셋은 별도의 데이터셋 적재 프로그램을 작성해서 전환해야 한다. 데이터셋의 중간에 누락된 레코드 번호가 있는 VSAM RRDS 데이터셋이 이 경우에 해당한다.

3. 애플리케이션 마이그레이션

OpenFrame의 자동화된 툴을 이용하여 Mainframe 환경에서 실행되는 모든 애플리케이션을 마이그레이션할 수 있다. 애플리케이션 마이그레이션은 IBM CICS Transaction Server(이하 CICS) 애플리케이션 프로그램, Batch 애플리케이션 프로그램 등을 OpenFrame에서 사용할 수 있도록 전환하는 작업이다. 작업할 때 Mainframe에서 다운받은 EBCDIC 소스가 필요하다.

일반적으로 애플리케이션 마이그레이션은 다음의 과정으로 진행된다.

figure 4 3 1
애플리케이션 마이그레이션
  1. EBCDIC 애플리케이션 소스를 ASCII 애플리케이션 소스로 변환한다.

  2. 변환된 ASCII 애플리케이션 소스를 컴파일하여 런타임 개체로 만든다.

  3. OpenFrame에서 운용될 수 있도록 배포하는 과정을 거친다.

OpenFrame에서 제공하는 애플리케이션 마이그레이션 솔루션은 CICS 및 Batch 애플리케이션에 한해 적용할 수 있다.

  • CICS 애플리케이션 마이그레이션

    CICS 시스템에서 동작하던 애플리케이션 프로그램을 OpenFrame OSC에서 구동하려면 마이그레이션이 필요하다. 마이그레이션은 기본적으로 EBCDIC 문자로 된 프로그램 소스를 ASCII 문자로 변환하는 과정으로 시작된다. 이후 과정은 일반적인 OSC 애플리케이션 프로그램 컴파일 및 배포 과정과 동일하다.

  • Batch 애플리케이션 마이그레이션

    Batch 애플리케이션 마이그레이션이란 Mainframe에서 이용되던 Batch 애플리케이션을 OpenFrame에서 구동할 수 있도록 애플리케이션 소스를 변환하는 전처리 과정 및 컴파일 작업을 의미한다.

    Batch 애플리케이션의 마이그레이션 과정은 일반적인 애플리케이션의 마이그레이션 과정과 동일하다. COBOL Batch 애플리케이션과 PL/I Batch 애플리케이션이 마이그레이션의 대상이 된다.

4. 데이터베이스 마이그레이션

데이터베이스 마이그레이션에는 IMS/DB 마이그레이션과 RDB 마이그레이션 2가지 종류가 있다. 본 절에서는 IMS/DB 마이그레이션 과정을 대상으로 설명한다.

IMS/DB 마이그레이션 수행 과정은 OpenFram/HiDB 변환 툴을 사용하여 시스템적으로 처리되고, 마이그레이션 매니저가 예외 상황을 위한 변환 처리를 지원한다.

데이터베이스 마이그레이션은 IBM Mainframe의 내용을 분석하여 마이그레이션이 필요한 데이터를 분석하고 JCL이나 툴을 사용하여 데이터를 UNLOAD한 후 OpenFrame 시스템으로 데이터를 전송한다. 전송된 데이터를 LOAD 유틸리티를 이용하여 데이터베이스에 적재한 후 튜닝과정과 검증과정 등을 수행한 후 사용하게 된다.

다음은 IMS/DB 데이터를 마이그레이션하는 과정에 대한 설명이다.

  1. IMS/DB 데이터를 바이너리 포맷으로 다운로드 받은 후 dsconv 툴을 이용하여 EBCDIC 형태의 데이터를 ASCII 형태로 변환한다.

  2. 변환된 데이터를 hdprecon 툴을 이용하여 Logical Relation을 위한 관계정보를 구성한다.

  3. 관련 데이터베이스를 세그먼트 유닛으로 변환할 스키마를 정의한다. 단, 레이아웃이 Copybook 또는 소스 형태로 존재하면 자동 변환 툴(dsgensch)을 사용한다.

  4. IDCAMS 유틸리티로 VSAM 클러스터 정보를 정의하고, 마지막으로 hdload 툴을 이용하여 IMS/DB 데이터를 VSAM 구성의 클러스터로 로드한다.

마이그레이션 대상 데이터베이스의 종류에 따라 사용해야 하는 툴이나 마이그레이션 방법에 많은 차이가 있다. 따라서 OpenFrame 데이터베이스 마이그레이션 시 사용할 툴이나 방법에 대한 상세한 정보는 각 데이터베이스 공급업체의 안내서를 참고하기 바란다.