를 사용하여 CardDemo 메인프레임 애플리케이션 현대화 AWS Transform - 권장 가이드

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

를 사용하여 CardDemo 메인프레임 애플리케이션 현대화 AWS Transform

작성자: Santosh Kumar Singh(AWS) 및 Cheryl du Preez(AWS)

요약

AWS Transform는 메인프레임 애플리케이션의 현대화를 가속화하도록 설계되었습니다. 생성형 AI를 사용하여 메인프레임 현대화 프로세스를 간소화합니다. 레거시 코드 분석, 메인프레임 설명서, 비즈니스 규칙 추출, 모놀리식 애플리케이션을 비즈니스 도메인으로 분해, 코드 리팩터링과 같은 복잡한 작업을 자동화합니다. 애플리케이션 분석 및 마이그레이션 시퀀스 계획과 같은 복잡한 작업을 자동화하여 현대화 프로젝트를 가속화합니다. 모놀리식 애플리케이션을 분해할 때 AWS Transform 는 메인프레임 애플리케이션 변환을 지능적으로 시퀀스화하여 비즈니스 기능을 병렬로 변환하는 데 도움이 됩니다.는 의사 결정을 가속화하고 운영 민첩성과 마이그레이션 효율성을 향상시킬 AWS Transform 수 있습니다.

이 패턴은 샘플 오픈 소스 메인프레임 애플리케이션인 CardDemo를 AWS Transform 사용하여의 메인프레임 현대화 기능을 테스트하는 데 도움이 되는 step-by-step 지침을 제공합니다.

사전 조건 및 제한 사항

사전 조건 

  • 활성 AWS 계정

  • AWS IAM Identity Center, 활성화

  • 관리자가 를 활성화할 수 있는 권한 AWS Transform

  • 관리자가 AWS Transform 웹 애플리케이션에 대한 Amazon Simple Storage Service(Amazon S3) 연결 요청을 수락할 수 있도록 허용하는 권한

제한 사항

아키텍처

다음 다이어그램은이 패턴으로 설정한 아키텍처를 보여줍니다.

AWS Transform을 사용하여 Amazon S3 버킷에 저장된 메인프레임 애플리케이션을 현대화합니다.

이 다이어그램은 다음 워크플로를 보여줍니다.

  1. AWS Transform 는 커넥터를 사용하여 Amazon S3 버킷에 저장된 CardDemo 메인프레임 애플리케이션에 액세스합니다.

  2. AWS Transform 는 AWS IAM Identity Center 를 사용하여 사용자 액세스 및 인증을 관리합니다. 시스템은 인증, 권한 부여, 암호화 및 액세스 관리를 위한 여러 계층의 보안 제어를 구현하여 처리 중에 코드와 아티팩트를 보호합니다. 사용자는 채팅 인터페이스를 통해 AWS Transform 에이전트와 상호 작용합니다. 특정 작업에 대한 지침을 영어로 AI 에이전트에 제공할 수 있습니다. 자세한 내용은 AWS Transform 설명서의 인적 루프(HITL)를 참조하세요.

  3. AI 에이전트는 사용자의 지침을 해석하고, 작업 계획을 생성하고, 작업을 실행 가능한 작업으로 나누고, 자율적으로 작업합니다. 사용자는 변환을 검토하고 승인할 수 있습니다. 변환 작업에는 다음이 포함됩니다.

    • 코드 분석 - 각 파일의 코드를 AWS Transform 분석하여 파일 이름, 파일 유형, 코드 줄 및 경로와 같은 세부 정보를 확인합니다. 에이전트는 소스 코드를 분석하고 분류를 실행하며 종속성 매핑을 생성하고 누락된 아티팩트를 식별합니다. 또한 중복 구성 요소를 식별합니다.

    • 문서 생성 - 메인프레임 애플리케이션에 대한 설명서를 AWS Transform 생성합니다. 코드를 분석하면 레거시 시스템에 있는 비즈니스 로직, 흐름, 통합 및 종속성에 대한 설명을 포함하여 애플리케이션 프로그램에 대한 자세한 설명서를 자동으로 생성할 수 있습니다.

    • 비즈니스 로직 추출 - COBOL 프로그램을 AWS Transform 분석하여 핵심 비즈니스 로직을 문서화함으로써 기본적인 비즈니스 로직을 이해하는 데 도움이 됩니다.

    • 코드 분해 -는 프로그램 및 구성 요소 간의 종속성을 설명하는 도메인으로 코드를 AWS Transform 분해합니다. 동일한 도메인 내에서 관련 파일과 프로그램을 그룹화하면 조직을 개선하고 애플리케이션을 더 작은 구성 요소로 나눌 때 애플리케이션의 논리적 구조를 유지하는 데 도움이 됩니다.

    • 마이그레이션 웨이브 계획 - 분해 단계에서 생성한 도메인을 기반으로 권장 현대화 순서에 따라 마이그레이션 웨이브 계획을 AWS Transform 생성합니다.

    • 코드 리팩터링 - 모든 또는 선택한 도메인 파일의 코드를 Java 코드로 AWS Transform 리팩터링합니다. 이 단계의 목표는 애플리케이션의 중요한 비즈니스 로직을 유지하면서 현대화된 클라우드 최적화 Java 애플리케이션으로 리팩터링하는 것입니다.

  4. AWS Transform 는 리팩터링된 코드, 생성된 문서, 관련 아티팩트 및 런타임 라이브러리를 Amazon S3 버킷에 저장합니다. 다음을 수행할 수 있습니다.

    • Amazon S3 버킷의 런타임 폴더에 액세스합니다.

    • AWS Transform 설명서의 현대화된 애플리케이션 빌드 및 배포 후 리팩터링에 따라 애플리케이션을 빌드하고 배포합니다.

    • 채팅 인터페이스를 통해 샘플 AWS CloudFormation AWS 클라우드 개발 키트 (AWS CDK)또는 Hashicorp Terraform 템플릿을 요청하고 다운로드합니다. 이러한 템플릿은 리팩터링된 애플리케이션을 지원하는 데 필요한 AWS 리소스를 배포하는 데 도움이 될 수 있습니다.

    • 대규모 언어 모델(LLMs)을 사용하여 리팩터링된 코드의 품질을 개선하려면 Reforge를 사용합니다. 리팩터링 엔진은 COBOL의 기능적 동등성을 유지하면서 Java 코드로 변환합니다. Reforge는 변환 후 사용할 수 있는 선택적 단계입니다. 이 단계에서는 LLMs 사용하여 코드를 네이티브 Java와 매우 유사하게 재구성하여 가독성과 유지 관리를 개선할 수 있습니다. 또한 Reforge는 사람이 읽을 수 있는 주석을 추가하여 코드를 이해하는 데 도움이 되며 최신 코딩 패턴과 모범 사례를 구현합니다.

도구

AWS 서비스

  • AWS Transform는 에이전트 AI를 사용하여 .NET, 메인프레임, VMware 워크로드와 같은 레거시 워크로드의 현대화를 가속화하는 데 도움이 됩니다.

  • AWS IAM Identity Center를 사용하면 AWS 계정 및 클라우드 애플리케이션에 대한 Single Sign-On(SSO) 액세스를 중앙에서 관리할 수 있습니다.

  • Amazon Simple Storage Service(S3)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.

코드 리포지토리

오픈 소스 AWS CardDemo 메인프레임 애플리케이션을 샘플 애플리케이션으로 사용하여 메인프레임 현대화를 시작할 수 있습니다.

모범 사례

  • 작은 시작 - 덜 복잡한 작은 코드(15,000~20,000줄의 코드)로 시작하여가 메인프레임 애플리케이션을 AWS Transform 분석하고 변환하는 방법을 이해합니다.

  • 인적 전문 지식과 결합 - 최적의 결과를 위해 인적 전문 지식을 적용하는 동시에를 액셀러레이터 AWS Transform 로 사용합니다.

  • 철저한 검토 및 테스트 - 항상 변환된 코드를 주의 깊게 검토하고 포괄적인 테스트를 실행하여 변환 후 기능적 동등성을 검증합니다.

  • 피드백 제공 - 개선을 위한 피드백과 제안을 제공하려면에서 피드백 보내기 버튼을 사용하거나 로 사례를 AWS Management Console 생성합니다AWS Support. 자세한 내용은 지원 케이스 생성을 참조하세요. 입력은 서비스 개선 및 향후 개발에 유용합니다.

에픽

작업설명필요한 기술

버킷을 만듭니다.

가 AWS Transform 활성화된 동일한 AWS 계정 및 리전에서 Amazon S3 버킷을 생성합니다. 이 버킷을 사용하여 메인프레임 애플리케이션 코드를 저장하고,이 버킷을 AWS Transform 사용하여 생성된 문서, 리팩터링된 코드 및 변환과 관련된 기타 파일을 저장합니다. 지침은 Amazon S3 설명서의 버킷 생성을 참조하세요.

일반 AWS

샘플 메인프레임 애플리케이션을 준비합니다.

  1. 다음 명령을 입력하여 CardDemo 리포지토리를 로컬 워크스테이션에 복제합니다.

    git clone https://github.com/aws-samples/aws-mainframe-modernization-carddemo.git

  2. 라는 새 폴더를 생성합니다carddemo.

  3. 메인프레임 소스 코드가 포함된 app 폴더를 복제된 리포지토리에서 carddemo 폴더로 복사합니다.

  4. cardemo 폴더를 ZIP 파일로 압축합니다.

  5. 생성한 Amazon S3 버킷에 ZIP 파일을 업로드합니다. 이에 관한 지침은 Amazon S3 설명서의 객체 업로드를 참조하세요.

앱 개발자, DevOps 엔지니어
작업설명필요한 기술

IAM Identity Center에 사용자를 추가합니다.

IAM Identity Center에 잠재 사용자를 추가합니다. AWS Transform 설명서의 IAM Identity Center에서 사용자 추가의 지침을 따릅니다.

관리자

사용자를 활성화 AWS Transform 하고 추가합니다.

  1. 를 활성화합니다 AWS Transform. 활성화 AWS Transform의 지침을 따릅니다.

  2. 에 사용자를 추가합니다 AWS Transform. 에 사용자 추가 AWS Transform의 지침을 따릅니다.

관리자

AWS Transform 웹 애플리케이션에 대한 사용자 액세스를 구성합니다.

각 사용자는 AWS Transform 웹 애플리케이션에 액세스하기 위한 초대를 수락해야 합니다. AWS Transform 설명서의 초대 수락에 있는 지침을 따릅니다.

앱 개발자, 앱 소유자

AWS Transform 웹 애플리케이션에 로그인합니다.

로그인 AWS Transform의 지침을 따릅니다.

앱 개발자, 앱 소유자

워크스페이스를 설정합니다.

사용자가 AWS Transform 웹 애플리케이션에서 협업할 수 있는 워크스페이스를 설정합니다. AWS Transform 설명서의 작업 영역 설정의 지침을 따릅니다.

관리자
작업설명필요한 기술

변환 작업을 생성합니다.

CardDemo 메인프레임 애플리케이션을 현대화하는 변환 작업을 생성합니다. 지침은 AWS Transform 설명서의 작업 생성 및 시작을 참조하세요. AWS Transform 채팅 인터페이스에서 목표를 설정하라는 메시지가 표시되면 메인프레임 현대화 수행(IBM z/OS를 로 AWS)을 선택한 다음 코드 분석, 기술 설명서 생성, 비즈니스 로직, 코드 분해, 마이그레이션 시퀀스 계획 및 코드를 Java로 변환을 선택합니다.

앱 개발자, 앱 소유자

커넥터를 설정합니다.

CardDemo 메인프레임 애플리케이션이 포함된 Amazon S3 버킷에 대한 커넥터를 설정합니다. 이 커넥터를 사용하면 AWS Transform 가 버킷의 리소스에 액세스하고 연속 변환 함수를 수행할 수 있습니다. 지침은 AWS Transform 설명서의 커넥터 설정을 참조하세요.

관리자

코드 분석을 수행합니다.

  1. 자산 위치 지정 페이지에서 업로드한 carddemo ZIP 파일의 Amazon S3 버킷 경로를 입력합니다.

  2. 승인 및 전송을 AWS Transform 선택합니다. 코드 분석을 시작합니다.

  3. Worklog 탭에서 상태를 모니터링합니다.

  4. 분석이 완료되면 왼쪽 탐색 창의 코드 분석 아래에서 코드 분석 결과 보기를 선택합니다.

  5. (선택 사항) 다운로드를 선택하여 전체 자산 목록, 누락된 소스 코드 및 종속성 파일을 다운로드합니다.

자세한 내용은 AWS Transform 설명서의 코드 분석을 참조하세요.

앱 개발자, 앱 소유자

기술 설명서를 생성합니다.

  1. 왼쪽 탐색 창의 기술 설명서 생성에서 파일 선택 및 설정 구성을 선택합니다.

  2. COBOL 또는 JCL을 확장한 다음 하나 이상의 파일을 선택합니다.

  3. 설명서 세부 정보 수준을 선택합니다.

    • 요약 - 범위의 각 파일에 대한 개략적인 개요를 제공합니다. 또한는 각 파일에 대한 한 줄 요약을 제공합니다.

    • 세부 기능 사양 - 메인프레임 애플리케이션 변환 범위의 각 파일에 대한 포괄적인 세부 정보를 제공합니다. 일부 세부 정보에는 로직 및 흐름, 식별된 비즈니스 규칙, 데이터 흐름, 종속성, 입력 및 출력 처리, 다양한 트랜잭션 세부 정보가 포함됩니다.

  4. 전송 대상을 AWS Transform 선택합니다.

  5. Worklog 탭에서 진행 상황을 모니터링합니다.

    참고

    문서 생성 시간은 파일 수와 코드 줄에 따라 분마다 다릅니다.

  6. 완료되면 설명서 결과 검토를 선택합니다.

  7. 웹 애플리케이션을 통해 생성된 문서에 액세스하거나 다운로드합니다. 생성된 설명서는 Amazon S3 버킷에도 저장됩니다.

  8. 채팅 인터페이스에서 특정 질문을 하여 생성된 설명서를 살펴봅니다. 예를 들어 “CBACT01C의 기능을 알려주세요.”라고 말할 수 있습니다.

자세한 내용은 설명서의 기술 설명서 생성을 참조하세요. AWS Transform

앱 개발자, 앱 소유자

비즈니스 로직을 추출합니다.

  1. 왼쪽 탐색 창에서 비즈니스 로직 추출을 확장한 다음 비즈니스 로직 추출을 위한 파일 선택을 선택합니다.

  2. COBOL 또는 JCL을 확장한 다음 하나 이상의 파일을 선택합니다.

  3. 전송 대상을 AWS Transform 선택합니다.

  4. Worklog 탭에서 진행 상황을 모니터링합니다.

    참고

    비즈니스 로직 추출 시간은 파일 수와 코드 줄에 따라 분마다 다릅니다.

  5. 추출이 완료되면 비즈니스 로직 추출 결과 검토를 선택합니다.

  6. COBOL 또는 JCL 파일을 선택한 다음 보기를 선택합니다.

  7. 플로우 다이어그램 및 기능 규칙의 범위를 변경하여 지원 코드를 포함하여 플로우 차트의 다양한 수준을 검토합니다.

  8. (선택 사항) Amazon S3 버킷에 JSON 형식으로 저장된 생성된 비즈니스 로직을 검토합니다.

자세한 내용은 AWS Transform 설명서의 비즈니스 로직 추출을 참조하세요.

앱 개발자, 앱 소유자

코드를 분해합니다.

  1. 왼쪽 탐색 창에서 코드 분해를 확장한 다음 도메인으로 분해를 선택합니다.

  2. 작업 목록에서 도메인 생성을 선택합니다.

  3. 와 같은 새 도메인의 이름을 입력합니다Bill payment.

  4. (선택 사항) 설명을 입력합니다.

  5. 파일 찾기 검색 창에서를 검색CB00한 다음 파일을 선택합니다.

  6. 시드로 표시를 선택합니다.

  7. 시드 플래그가 아니요에서 예로 변경되는지 확인합니다.

  8. 생성(Create)을 선택합니다.

  9. 저장을 선택합니다.

  10. 분해를 선택합니다.

  11. 도메인 이름을 선택하여 분해 출력을 검토합니다.

  12. 분해가 완료되면 전송 대상 AWS Transform을 선택합니다.

분해 및 시드에 대한 자세한 내용은 AWS Transform 설명서의 분해를 참조하세요.

앱 개발자, 앱 소유자

마이그레이션 웨이브를 계획합니다.

CardDemo 애플리케이션의 마이그레이션 웨이브를 계획합니다. AWS Transform 설명서의 마이그레이션 웨이브 계획의 지침에 따라 웨이브 계획을 검토하고 편집합니다.

앱 개발자, 앱 소유자

코드를 리팩터링합니다.

  1. CardDemo 메인프레임 애플리케이션을 모든 또는 선택한 도메인 파일의 Java 코드로 리팩터링합니다. AWS Transform 설명서의 리팩터링 코드의 지침을 따릅니다.

  2. 리팩터링 프로세스가 완료되면 현대화된 Java 애플리케이션을 빌드하고 배포합니다. AWS Transform 설명서의 현대화된 애플리케이션 사후 리팩터링 빌드 및 배포의 지침을 따릅니다.

앱 개발자, 앱 소유자

(선택 사항) Reforge를 사용하여 Java 코드를 개선합니다.

  1. 새 작업을 생성한 다음의 목표를 입력합니다Reforge the code.

  2. 현대화된 프로젝트의를 입력합니다 AWS Transform. 이 프로젝트는 Amazon S3 버킷에 있어야 합니다.

  3. 재포지토리할 서비스 클래스를 지정하는 Java 클래스 목록을 입력합니다.

  4. Amazon S3 버킷에서 생성된 출력을 검토합니다.

자세한 내용은 AWS Transform 설명서의 Reforge를 참조하세요.

앱 개발자, 앱 소유자

배포를 간소화합니다.

AWS Transform 는 CloudFormation AWS CDK또는 Terraform에 코드형 인프라(IaC) 템플릿을 제공할 수 있습니다. 이러한 템플릿은 컴퓨팅, 데이터베이스, 스토리지 및 보안 리소스를 비롯한 핵심 구성 요소를 배포하는 데 도움이 됩니다.

  1. AWS Transform 채팅 인터페이스에서를 입력하여 템플릿을 요청합니다. Share the mainframe refactor <service> templates여기서 <service>는 지원되는 IaC 서비스 중 하나입니다.

  2. 원하는 서비스를 사용하여 템플릿을 배포합니다. 예를 들어 다음 리소스를 참조하세요.

자세한 내용은 AWS Transform 설명서의 배포 기능을 참조하세요.

앱 개발자, 앱 소유자

문제 해결

문제Solution

AWS Transform 웹 애플리케이션에서 소스 코드 또는 생성된 문서를 볼 수 없습니다.

Amazon S3 버킷에 대한 CORS 권한에 정책을 추가하여를 오리진 AWS Transform 으로 허용합니다. 자세한 내용은 AWS Transform 설명서의 S3 버킷 CORS 권한을 참조하세요.

관련 리소스

AWS 설명서

기타 AWS 리소스

비디오 및 자습서

참고

AWS Transform 는 이전에 메인프레임용 Amazon Q Developer 변환이라고 했습니다.