OpenFrame 마이그레이션

1. 리소스 마이그레이션

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

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

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

figure 4 2
리소스 마이그레이션
  1. EBCDIC(JEF) 리소스를 ASCII(Shift-JIS) 리소스로 변환한다.

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

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

  • EBCDIC에서 ASCII로 변환

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

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

  • PSAM 화면 정의 포맷 마이그레이션

    PSAM 기능을 사용하는 AIM 애플리케이션 프로그램을 OpenFrame AIM으로 마이그레이션할 때에는 AIM 애플리케이션 프로그램에서 사용하는 PSAM 화면 정의 정보도 함께 마이그레이션되어야 한다.

    OpenFrame AIM 시스템에서는 Fujitsu AIM에서 사용하던 PSAM 화면 정의의 런타임 바이너리 오브젝트 파일을 그대로 사용할 수 없기 때문에 PSAM 화면 정의 소스 코드를 EBCDIC에서 ASCII로 변환한 후에 OpenFrame AIM에서 제공하는 PSAM 컴파일러로 컴파일하여 사용해야 한다.

  • ADL - AIM 정의 리소스 마이그레이션

    기존 Mainframe 환경에서 AIM 애플리케이션은 AIM 시스템이 제공하는 터미널, 화면정의, 데이터셋, 데이터베이스등의 리소스를 이용하는 프로그램이며 이러한 리소스는 AIM 애플리케이션의 실행전이 미리 관리자에 의해서 ADL 구문을 이용해서 준비되어야 한다.

    마찬가지로 OpenFrame AIM 환경으로 마이그레이션한 AIM 애플리케이션이 정상적으로 동작하려면 기존 AIM 시스템에서 사용하던 는 ADL을 마이그레이션하고 OpenFrame AIM 시스템에 적용해야 한다. OpenFrame AIM은 기존 Mainframe의 ADL을 ASCII 코드로 변환 후에 그대로 사용할 수 있다.

  • JCL 마이그레이션

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

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

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

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

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

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

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

  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 환경에서 실행되는 대부분의 애플리케이션을 마이그레이션할 수 있다. 애플리케이션 마이그레이션은 AIM 애플리케이션 프로그램, Batch 애플리케이션 프로그램 등을 OpenFrame에서 사용할 수 있도록 전환하는 작업이다. 작업할 때 Mainframe에서 다운받은 EBCDIC(JEF) 코드로 작성된 응용 프로그램 소스가 필요하다.

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

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

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

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

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

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

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

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

    Batch 애플리케이션 마이그레이션이란 Mainframe에서 이용되던 Batch 애플리케이션을 OpenFrame에서 구동할 수 있도록 애플리케이션 소스를 변환하는 전처리 과정 및 컴파일 작업을 의미한다. Batch 애플리케이션의 마이그레이션 역시 프로그램 소스 파일의 문자 코드 변환 작업을 제외하면 일반적인 애플리케이션의 컴파일 및 배포 과정과 동일하다.

OpenFrame 환경으로 마이그레이션된 애플리케이션의 실행시에 필요한 라이브러리 함수나 서비스는 애플리케이션의 종류에 따라 OpenFrame AIM, Batch, Base 시스템에 의해서 제공된다.

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

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

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

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

다음은 AIM/DB 데이터를 마이그레이션하는 과정에 대한 개략적인 설명이다.

  1. AIM/DB의 데이터베이스 스키마를 OpenFrame AIM으로 마이그레이션한다. 이는 ADL의 한 종류로 ADL 리소스 마이그레이션 방법을 참고하도록 한다.

  2. AIM/DB 데이터를 언로드한 파일을 다운로드 받는다. EBCDIC 코드로 작성된 데이터이므로 ASCII 코드로 변환해야 한다. 이를 위해서 ndbgensch 툴을 이용해서 변환에 필요한 정보인 변환 스키마(conversion schema)를 생성한다.

  3. 위에서 언든 변환 스키마를 이용하여 OpenFrame Base의 dsmigin 툴을 AIM/DB 데이터를 언로드한 파일을 대상으로 실행하여 언로드 파일을 OpenFrame NDB의 로딩용 입력으로 사용할 수 있도록 (ASCII 코드를 사용하도록) 변환한다.

  4. ndbmgr 툴로 데이터베이스 테이블의 정의 및 초기화를 수행하고 ndbimport 툴을 이용하여 OpenFrame NDB에 적재한다.

  1. AIM/DB 데이터를 마이그레이션하는 과정에 대한 개략적인 설명이다. 자세한 사항은 OpenFrame "마이그레이션 안내서"의 "데이터베이스 마이그레이션"을 참고한다.

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