자습서: NTT DATA에 CardDemo 애플리케이션 배포 - AWS 메인프레임 현대화

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

자습서: NTT DATA에 CardDemo 애플리케이션 배포

이 페이지에서는 NTT DATA Unikix 런타임을 사용하여 AWS Mainframe Modernization 리플랫포밍에 CardDemo 샘플 애플리케이션을 배포하는 step-by-step 프로세스를 안내합니다.

CardDemo 샘플 애플리케이션은 메인프레임 마이그레이션 및 현대화 사용 사례를 위한 AWS 및 파트너 기술을 테스트하고 선보이기 위해 설계 및 개발된 간소화된 메인프레임 애플리케이션입니다.

이 애플리케이션에 대한 자세한 내용은 CardDemo용 GitHub 리포지토리를 참조하세요.

배포 흐름 다이어그램

다음 다이어그램은 NTT DATA Unikix 런타임에 애플리케이션을 배포하기 위한 워크플로의 각 단계를 보여줍니다.

NTT DATA Unikix 런타임에 애플리케이션을 배포하는 전체 워크플로입니다.

사전 조건

  • NTT DATA UniKix Marketplace AMI를 사용하여 AWS NTT DATA를 사용한 메인프레임 현대화 리플랫포밍에 제공된 지침을 따릅니다.

  • Amazon EC2 사용 설명서IMDSv1 사용 복원에 언급된 대로 인스턴스 메타데이터 옵션 IMDSv2선택 사항으로 수정합니다.

  • NTT DATA UniKix용 CardDemo 런타임 구성 요소를

    GitHub 리포지토리에서 다운로드합니다.

  • UniKix 런타임 EC2 인스턴스에 ec2-user로 로그인합니다.

  • UniKix_CardDemo_runtime_v1.zip 링크를 사용하여 다운로드한 CardDemo 런타임 구성 요소를 추출합니다.

    • 추출된 디렉터리에는 binmigrated_app 디렉터리가 포함되어야 합니다.

    • $HOME 디렉터리로 binmigrated_app 디렉터리를 모두 이동합니다. 경로는 /home/ec2-user과 같습니다.

    • $HOME에 다음 디렉터리가 있어야 합니다.

      • /home/ec2-user/bin

      • /home/ec2-user/migrated_app

    • $HOME/bin 디렉터리 내에서 다음 명령을 사용하여 모든 파일을 이동합니다.

      • chmod +x $HOME/bin/*

1단계: 환경 준비

사전 요구 사항을 완료한 후 첫 번째 단계는 CardDemo 애플리케이션을 배포하려는 환경을 준비하는 것입니다.

  1. UniKix 런타임 EC2 인스턴스에 ec2-user로 로그인합니다.

  2. EC2 인스턴스에서 다음 명령을 사용하여 NTT DATA UniKix 제품 위치에서 TPE, BPE 및 COBOL과 같은 AMI 내에 사전 패키징된 UniKix 소프트웨어 목록을 살펴봅니다.

    ls -l /opt/software/
  3. 마이그레이션된 CardDemo 애플리케이션을 검사합니다. BMS 맵, COBOL 프로그램, COBOL 카피북 및 JCL을 포함한 모든 소스 코드가 표시됩니다. 또한 다음을 수행하여 BPE 및 TPE 카탈로그, CICS 리소스 정의, 순차 파일 및 VSAM 파일과 같은 마이그레이션된 데이터의 내보내기를 찾을 수 있습니다.

    ls $HOME/migrated_app/*/*
  4. 다음 명령으로 create_project 스크립트를 실행하여 폴더 구조를 생성합니다.

    sh $HOME/bin/create_project
  5. 다음을 사용하여 carddemo.env 설정 파일을 소싱함으로써 CardDemo 환경을 활성화합니다.

    source $HOME/bin/carddemo.env

2단계: TPE 리전 생성

애플리케이션을 배포하려는 환경을 활성화한 후에는 TPE 리전을 생성해야 합니다.

  1. $KIXSYS, $JAVA_HOME$KIXLICDIR과 같은 입력이 필요한 kixregion createRegion 명령을 사용하여 TPE 리전을 생성합니다. 이러한 환경 변수는 carddemo.env 설정 파일에 이미 설정되어 있습니다.

    kixregion createRegion $KIXSYS $JAVA_HOME $KIXLICDIR
  2. kixregion setAttr 명령을 사용하여 TPE 리전을 구성합니다.

    kixregion setAttr $KIXSYS server.tx.languages.cobol.enabled true kixregion setAttr $KIXSYS server.tx.languages.cobol.flavor vcobol kixregion setAttr $KIXSYS server.tx.languages.cobol.home $VCOBOL kixregion setAttr $KIXSYS maps.location $PROJECT_ROOT/maps kixregion setAttr $KIXSYS programs.location $PROJECT_ROOT/loadlib kixregion setAttr $KIXSYS environment.KIXDATA $KIXDATA kixregion setAttr $KIXSYS td.jobq.submission.node $EBMHOME kixregion setAttr $KIXSYS td.jobq.submission.subsys $EBMSYS
  3. kixregion createScript 명령을 실행하여 이 TPE 리전별 사용자 환경 파일을 생성합니다. 이 명령은 TPE 리전 구성을 기반으로 $KIXSYS/bin/userenv를 생성 또는 업데이트합니다.

    kixregion createScript $KIXSYS
  4. 사용자 환경 파일($KIXSYS/bin/userenv)을 소싱하여 TPE 리전을 활성화합니다.

    source $KIXSYS/bin/userenv
  5. kixinstall2 명령을 실행하여 TPE 리전을 빌드합니다.

    kixinstall2

3단계: BPE 노드 및 하위 시스템 생성

TPE 리전을 만든 후 다음 단계에 따라 BPE 노드 및 하위 시스템을 만들어야 합니다.

  1. INSTEBM의 소유권 및 권한을 변경합니다.

    sudo chown root $INSTEBM sudo chmod 4755 $INSTEBM
  2. INSTEBM 명령을 사용하여 BPE 노드를 생성합니다. BPE 노드 디렉터리는 입력 파라미터로 제공됩니다.

    $INSTEBM $EBMHOME
  3. 새로 생성된 BPE 노드에서 batchenv 파일을 소싱하여 배치 환경을 활성화합니다.

    source $EBMHOME/batchenv
  4. Batch Administration Manager(bam)를 사용하여 이 노드 내에 BPE 하위 시스템을 생성합니다. bam 명령은 Batch Administration Manager 인터페이스를 엽니다.

    bam
    1. BAM 인터페이스를 사용하여 BPE 노드를 시작합니다. 메인 메뉴에서 옵션 2, 시스템 환경을 선택합니다.

      Batch Administrator Manager에서 옵션 2 시스템 환경을 선택합니다.
    2. 옵션 2, 시작/(중지) 배치 노드를 선택하여 BPE 노드를 시작합니다.

      시스템 환경에서 옵션 2 배치 노드 시작/중지를 선택합니다.
    3. 시작되면 Return 키를 두 번 눌러 BAM 기본 메뉴로 돌아갑니다.

      배치 노드 시작 완료 화면.
    4. BPE 하위 시스템을 생성하려면 옵션 3, 애플리케이션 및 하위 시스템을 선택합니다.

      옵션 3 배치 관리자 페이지에서 선택된 애플리케이션 및 하위 시스템.
    5. 그런 다음 옵션 3, 하위 시스템 생성을 선택합니다.

      애플리케이션 및 하위 시스템 화면에서 선택된 옵션 3 하위 시스템 생성.
    6. 하위 시스템 이름을 sys1로 입력합니다.

      생성 화면에 sys1을 입력했습니다.
    7. 옵션 3, 데이터 관리를 선택합니다.

      애플리케이션 및 하위 시스템의 생성 화면에서 옵션 3 데이터 관리를 선택합니다.
    8. CardDemo 애플리케이션에 순차적 파일과 VSAM 파일이 모두 포함되므로 옵션 5를 선택합니다.

      옵션 5를 선택하여 순차 파일 및 VSAM 파일을 포함합니다.
    9. (선택 사항). ‘R’을 눌러 메뉴 생성 페이지로 돌아가 사용 가능한 다양한 구성 옵션을 검토합니다.

    10. 생성 페이지에서 ‘C’를 입력하여 하위 시스템 sys1을 생성합니다.

      키보드에서 ‘C’를 눌러 하위 시스템 sys1을 생성합니다.
    11. 설정을 검토하고 ‘C’를 입력하여 나머지 환경 설정을 계속합니다. 이러한 환경 설정은 carddemo.env 설정 파일에 정의된 필수 환경 변수와 권장 폴더 구조가 마련되어 있기 때문에 미리 채워집니다.

    12. ‘y’를 입력하여 현재 환경 설정을 확인하고 저장합니다.

      완료된 sys1 하위 시스템의 환경 설정을 표시합니다. 또한 ‘y’를 입력하여 현재 설정을 저장합니다.
    13. 하위 시스템을 빌드할 때 로그를 표시하려면 ‘y’를 입력합니다.

      화면에 sys1의 NTT DATA COBOL 런타임 시스템 구축을 표시합니다.
    14. 기본 메뉴로 돌아가서 종료 옵션을 선택하여 BAM 인터페이스를 종료할 때까지 Return 키를 누릅니다.

      생성된 COBOL 런타임 시스템을 표시합니다. 또한 Return 키를 눌러 계속 진행하라는 메시지가 표시됩니다.
      생성 메뉴로 돌아가 하위 시스템 sys1이 생성되었음을 표시합니다. 구성이 업데이트됩니다. Return 키를 눌러 계속 진행하라는 메시지가 표시됩니다.
      배치 관리자의 기본 메뉴입니다. Q를 입력하여 이 메뉴를 종료하라는 메시지가 표시됩니다.
  5. 하위 시스템 이름 sys1batchenv를 소싱하여 BPE 하위 시스템을 활성화합니다.

    source $EBMHOME/batchenv sys1

4단계: CardDemo 애플리케이션 컴파일 및 배포

이 단계에서는 COBOL 프로그램을 컴파일하고 JCL, 절차, 데이터 파일 및 CICS 리소스 정의와 같은 애플리케이션 아티팩트를 배포합니다.

  1. carddemo.env 설정 파일을 소싱하여 CardDemo 환경을 다시 활성화합니다.

    source $HOME/bin/carddemo.env
  2. COBOL 소스 디렉터리로 이동합니다.

    cd $MIGAPP_DIR/cbl
  3. compile 스크립트를 사용하여 Cobol 프로그램 CBACT01C.cbl을 컴파일합니다.

    compile CBACT01C.cbl
  4. compile.all 스크립트를 사용하여 모든 Cobol 프로그램을 컴파일합니다.

    compile.all
  5. BMS 맵 소스 디렉터리로 이동합니다.

    cd $MIGAPP_DIR/bms
  6. compbms 스크립트를 사용하여 BMS 맵 COACTUP.bms를 컴파일합니다.

    compbms COACTUP.bms
  7. compbms.all 스크립트를 사용하여 모든 BMS 맵을 컴파일합니다.

    compbms.all
  8. COBOL 및 BMS 맵에 대해 컴파일된 바이너리를 확인합니다.

    ls $PROJECT_ROOT/loadlib ls $PROJECT_ROOT/maps
  9. deploy_app 스크립트를 사용하여 JCL, 절차, 데이터 파일 및 CICS 리소스 정의와 같은 다른 애플리케이션 아티팩트를 배포합니다.

    deploy_app
  10. JCL 디렉터리로 이동합니다.

    cd $PROJECT_ROOT/jcl
  11. JCL ACCTFILE을 BPE JCL 매크로로 변환합니다. mvstrans 명령을 사용하여 JCL 검증을 위한 ‘-v’ 옵션과 ‘-f’ 옵션을 사용하여 매크로를 생성합니다.

    mvstrans ACCTFILE -v mvstrans ACCTFILE -f
  12. JCL 절차 REPROC를 BPE JCL 절차 매크로로 변환합니다. '-p' 옵션과 함께 mvstrans 명령을 사용하여 확인을 위한 '-v' 옵션 및 '-f' 옵션을 사용하여 매크로를 생성합니다.

    mvstrans REPROC -v -p mvstrans REPROC -f -p
  13. 모든 JCL 및 JCL 절차를 변환합니다.

    for file in "./jmvs/*"; do mvstrans $file -f; done > jmvs.out for file in "./mvsp/*"; do mvstrans $file -p -f; done > mvsp.out

5단계: BPE 및 TPE 카탈로그 가져오기

이 단계에서는 다른 명령을 사용하여 BPE 및 TPE 카탈로그를 가져옵니다.

  1. loadcat 명령을 사용하여 BPE 카탈로그를 가져옵니다.

    loadcat $MIGAPP_DIR/catlg/bpe/BPECAT*
  2. $KIXSYS 디렉터리로 이동합니다.

    cd $KIXSYS
  3. kiximpcat 명령을 사용하여 TPE 카탈로그를 가져옵니다.

    kiximpcat -c CATALOG -l CATALOG.lst
  4. kiximptbl 명령을 사용하여 CICS 리소스 정의를 가져옵니다.

    kiximptbl

6단계: TPE를 시작하고 BPE와 연결

이 단계에서는 이전에 생성한 TPE 리전을 BPE 관리자와 함께 시작하고 이를 연결하여 샘플 CardDemo 애플리케이션을 실행할 수 있어야 합니다.

  1. 모든 VSAM 파일에 대해 kixverify 명령을 실행하여 파일이 재설정되고 이전에 열린 파일이 모두 닫혔는지 확인합니다.

    kixverify -r ALL
  2. TPE 리전을 시작합니다.

    kixregion start $KIXSYS
  3. BPE와 TPE가 모두 연결되어 있는지 확인합니다. VSAM 파일은 TPE에서 소유하며 VSAM에 액세스하는 모든 일괄 작업은 TPE에 연결해야 하므로 이는 매우 중요합니다.

    ebmsys -t
    하위 시스템 이름을 sys1로 표시합니다. TPE가 연결되고 TPE 사용자는 ec2-user입니다.

7단계: CardDemo 애플리케이션 실행

이 단계에서는 TN3270 터미널 에뮬레이터에서 CardDemo 애플리케이션을 실행합니다.

UniKix 런타임 AMI는 UniKix EC2 인스턴스에서 직접 시작할 수 있는 TN3270 터미널 에뮬레이터와 함께 제공됩니다.

TN3270 터미널 에뮬레이터를 사용하여 TPE에 연결
  • kixterm 명령을 사용하여 TN3270 터미널을 시작합니다.

    kixterm
    메인프레임용 TPE UniKix CardDemo 샘플 애플리케이션의 메인 화면입니다.

(선택 사항). 자체 터미널 에뮬레이터를 사용하려는 경우:

  1. Amazon EC2 콘솔에서 UniKix 런타임 인스턴스의 IP 주소를 가져옵니다.

  2. TN3270 터미널 에뮬레이터를 사용하여 TPE 리전에 연결할 포트 번호를 가져옵니다. unikixrc.cfg 파일에서 TNServer ListenPort를 찾을 수 있습니다.

    cat $KIXSYS/unikixrc.cfg
    리스너 포트가 15440인 UniKix unikixrc.cfg 파일의 세부 정보를 표시합니다.
  3. UniKix 런타임 인스턴스의 IP 주소와 포트 번호 15440을 사용하도록 TN3270 터미널 에뮬레이터를 구성합니다.

온라인 트랜잭션

이 섹션에서는 kixterm 명령을 사용하여 TN3270 터미널 에뮬레이터에 연결했다고 가정합니다.

  1. TN3270 터미널 에뮬레이터에서 연결한 후 'Enter' 키를 눌러 TPE 화면을 지우고 초기 트랜잭션을 입력합니다.

  2. 초기 트랜잭션 CC00(로그인 화면)에서 사용자 이름에 USER001을 입력하고 암호에 PASSWORD를 입력합니다.

    CardDemo 의 기본 화면. Mainframe Modernization을 위한 Credit CardDemo 애플리케이션임을 표시합니다. 사용자 ID와 암호를 입력하도록 요청합니다.
  3. 계정을 보려면 기본 메뉴에서 옵션 ‘01’을 선택합니다.

    선택한 옵션이 1인 에뮬레이터의 CardDemo 애플리케이션 기본 메뉴.
  4. 계정 보기 화면에서 계정 번호(예: 00000000010)를 입력합니다. 마이그레이션된 데이터에서 채워진 계정 정보가 표시됩니다.

    입력된 계정 번호가 00000000010인 CardDemo 애플리케이션의 세부 정보.
  5. ‘PF03’ 키를 두 번 눌러 로그인 화면으로 돌아가고 ‘Ctrl+C’(Windows) 또는 ‘Cmd+C’(Macbook)를 눌러 TN3270 터미널을 종료합니다.

일괄 작업

  1. JCL 디렉터리로 이동합니다.

    cd $MBMSUB
  2. MFCATGL1 작업을 제출하고 작업 로그 출력을 살펴봅니다.

    BPESUB READCARD
  3. 선택적으로 $SUBSYS_OUTDIR 디렉터리에서 작업 로그를 볼 수 있습니다.

    ls -lrt $SUBSYS_OUTDIR/*

이제 CardDemo 애플리케이션을 NTT DATA UniKix 런타임에 성공적으로 배포하고 몇 가지 CICS 온라인 화면 및 일괄 작업을 탐색하여 실행 중인 애플리케이션을 확인했습니다.

문제 해결

다음은 CardDemo 애플리케이션을 설정할 때 발생할 수 있는 몇 가지 일반적인 오류입니다.

오류: 라이선스 오류

이 자습서를 따르는 동안 라이선스 실패 오류가 발생하면 EC2에 IMDSv2가 활성화되었을 수 있습니다. Amazon EC2 사용 설명서IMDSv1 사용 복원에 언급된 대로 인스턴스 메타데이터 옵션 IMDSv2선택 사항으로 수정하여 이 문제를 해결할 수 있습니다.

오류: TPE가 BPE에 연결되지 않음

TPE가 BPE에 연결되지 않은 경우 BPE 노드 디렉터리를 사용하여 VSAM 구성 테이블이 올바르게 구성되었는지 확인합니다. VSAM 구성 테이블에 액세스하려면 다음 명령을 사용하여 TN3270 터미널 에뮬레이터를 시작합니다.

kixterm
  1. 트랜잭션 이름을 CTBL로 입력합니다.

  2. 테이블 관리자 메뉴에서 표준 테이블 옵션을 선택합니다.

  3. 표준 테이블 화면에서 VSAM 구성 테이블 옵션을 선택합니다.

  4. 배치 노드에 연결하시겠어요?가 ‘Y’로 설정되어 있고 노드 디렉터리가 올바른지 확인합니다.

TN3270 터미널 에뮬레이터의 VSAM 구성 테이블. 테이블의 각 필드에 대한 값 표시.