기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Transform 사용자 지정을 사용하여 Easytrieve를 최신 언어로 변환
Shubham Roy, Subramanyam Malisetty, Harshitha Shashidhar, Amazon Web Services
요약
이 패턴은 AWS Transform 사용자 지정
이 패턴은 EZT 변환ready-to-use 있는 사용자 지정 변환 정의를 제공합니다. 정의는 여러 변환 입력을 사용합니다.
AWS Transform 사용자 지정을 사용하여 추출된 EZT 비즈니스 규칙
EZT 프로그래밍 참조 설명서
EZT 소스 코드
메인프레임 입력 및 출력 데이터 세트
AWS Transform 사용자 지정은 이러한 입력을 사용하여 Java 또는 Python과 같은 최신 대상 언어로 기능적으로 동등한 애플리케이션을 생성합니다.
변환 프로세스는 지능형 테스트 실행, 자동 디버깅 및 반복 수정 기능을 사용하여 예상 출력과 기능적 동등성을 검증합니다. 또한 지속적인 학습을 지원하여 사용자 지정 변환 정의를 통해 연속 변환 전반에서 정확성과 일관성을 개선할 수 있습니다. 조직은이 패턴을 사용하여 마이그레이션 노력과 위험을 줄이고, 틈새 메인프레임 기술 부채를 해결하고,에서 EZT 워크로드를 현대화 AWS 하여 민첩성, 신뢰성, 보안 및 혁신을 개선할 수 있습니다.
사전 조건 및 제한 사항
사전 조건
활성 AWS 계정
입력 및 출력 데이터가 있는 메인프레임 EZT 워크로드
제한 사항
범위 제한
언어 지원 -이 특정 변환 패턴에는 EZT-to-Java 변환만 지원됩니다. 이 APG 패턴은 JCL/Proc의 인라인 EZT 코드에서 테스트됩니다.
범위를 벗어남 - 다른 메인프레임 프로그래밍 언어의 변환에는를 메인프레임 AWS Transform 에 사용합니다. AWS Transform 사용 설명서의 메인프레임 애플리케이션 변환에 지원되는 파일 유형에서 자세히 알아보세요.
프로세스 제한 사항
검증 종속성 - 기준 출력 데이터가 없으면 변환을 검증할 수 없습니다.
독점 로직 - AI 에이전트가 올바르게 해석하려면 매우 구체적인 사용자 지정 개발 유틸리티에 추가 사용자 설명서와 참조 자료가 필요합니다.
기술적 제한 사항
서비스 제한 - AWS Transform 사용자 지정 서비스 제한 및 할당량은 AWS Transform 사용 설명서 - 할당량 및 AWS 일반 참조 - 변환 할당량을 참조하세요.
제품 버전
AWS Transform CLI - 최신 버전
Node.js – 버전 20 이상
Git - 최신 버전
대상 환경
Java - 버전 17 이상
Spring Boot – 버전 3.x는 리팩터링된 애플리케이션의 기본 대상입니다.
Maven - 버전 3.6 이상
아키텍처
소스 기술 스택
운영 체제 - IBM z/OS
프로그래밍 언어 - Easytrieve, 작업 제어 언어(JCL)
데이터베이스 - IBM DB2 for z/OS, 가상 스토리지 액세스 방법(VSAM), 메인프레임 플랫 파일
대상 기술 스택
운영 체제 - Amazon Linux
컴퓨팅 - Amazon Elastic Compute Cloud(Amazon EC2)
프로그래밍 언어 - Java
데이터베이스 Amazon Relational Database Service(RDS)
대상 아키텍처

워크플로
이 솔루션은 사전 구축된 변환 정의와 함께 AWS Transform 사용자 지정을 사용하여 3단계 자동 워크플로를 통해 메인프레임 Easytrieve(EZT) 애플리케이션을 Java로 현대화합니다. AWS Transform 사용자 지정은이 솔루션의 일부로 제공되는 변환 정의에 따라 비즈니스 규칙 추출(BRE), 코드 변환 및 기능적 동등성 검증과 같은 전체 프로세스를 처리합니다. 기능적 동등성 보고서의 BRE 생성 및 검증을 검증하려면 인적 검증이 필요합니다.
1단계 - 입력 폴더 준비
source-code/ – EZT 소스 코드(.ezt 파일), JCL 작업 스트림(.jcl/.JCL 파일), COBOL 프로그램, 카피북 및 컨트롤 카드
bre-doc/ - 생성된 비즈니스 규칙 추출 문서
input-data/ - 검증을 위한 기준 메인프레임 입력 데이터 세트
output-data/ - 검증을 위한 기준 메인프레임 출력 데이터 세트
document_references/ - 다음에서 제공하는 변환 정의 및 참조 설명서:
-
bre_transformation_definition.md- 5단계 비즈니스 규칙 추출 프로세스를 정의합니다.-
transformation_definition.md- Easytrieve가 Java에 매핑하는 방법을 정의합니다.-
summaries.md- 변환 규칙 및 패턴-
ca-easytrieve-report-generator-11-6.txt- Easytrieve 참조 설명서
2단계 - AWS Transform Custom을 사용하여 비즈니스 규칙 추출
1. 자연어를 사용하여 AWS Transform CLI와 상호 작용하여 사용 가능한 변환 정의(TDs)를 검토하고 특정 기준 및 규칙에 맞게 BRE TD를 사용자 지정합니다.
2. 완료된 TD를 사용하여 BRE 문서 생성 - AWS Transform 사용자 지정은 메인프레임 소스 아티팩트(Easytrieve, JCL, COBOL, 카피북, 컨트롤 카드)를 분석하고 비즈니스 규칙 카탈로그, 파일 레이아웃, 데이터 계보 및 데이터 유형 매핑을 사용하여 구조화된 BRE를 생성합니다.
3. 생성된 BRE 문서를 3단계에서 사용할 bre-doc/ 폴더로 이동합니다.
3단계 - 기능적으로 동등한 현대화된 코드 생성
자연어를 사용하여 AWS Transform CLI와 상호 작용하여 사용 가능한 기본 변환 정의(TDs)
를 검토하고 특정 기준 및 규칙에 맞게 기본 TD를 사용자 지정합니다. 그런 다음 프로젝트 소스 코드를 사용하여 AWS Transform CLI를 호출합니다. AWS Transform custom은 변환 계획을 생성하고, 승인 시 EZT를 Java로 변환하고, 지원 파일을 생성하고, 실행 파일 JAR을 빌드하고, 종료 기준을 검증합니다.
검증 에이전트를 사용하여 메인프레임 출력과 기능적 동등성을 테스트합니다. Self-Debugger 에이전트는 문제를 자율적으로 해결합니다. 최종 결과물에는 검증된 Java 코드 및 HTML 검증 보고서가 포함됩니다.
자동화 및 규모 조정
에이전트 AI 멀티 모드 실행 아키텍처 - AWS Transform 사용자 지정은 대화형, 대화형 및 전체 자동화의 세 가지 실행 모드로 에이전트 AI를 활용하여 코드 분석, 리팩터링, 변환 계획 및 테스트를 포함한 복잡한 변환 작업을 자동화합니다.
적응형 학습 피드백 시스템 - 플랫폼은 코드 샘플 분석, 문서 구문 분석 및 개발자 피드백과 버전 지정된 변환 정의의 통합을 통해 지속적인 학습 메커니즘을 구현합니다.
동시 애플리케이션 처리 아키텍처 - 시스템은 확장 가능한 인프라에서 여러 애플리케이션 변환 작업을 동시에 분산 병렬로 실행할 수 있습니다.
도구
AWS 서비스
AWS Transform custom은 에이전트 AI 서비스로, 레거시 EZT 애플리케이션을 최신 프로그래밍 언어로 변환하는 데 사용됩니다.
Amazon Simple Storage Service(S3)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다. Amazon S3는 변환 정의, 코드 리포지토리 및 처리 결과를 저장하기 위한 AWS Transform 사용자 지정의 기본 스토리지 서비스 역할을 합니다.
AWS Identity and Access Management (IAM)는 AWS 리소스에 대한 액세스를 인증하고 사용할 수 있는 권한을 부여받은 사용자를 제어하여 리소스에 대한 액세스를 안전하게 관리하는 데 도움이 됩니다. IAM은 변환 작업에 대한 사용자 AWS Transform 지정, 관리 권한 및 액세스 제어를 위한 보안 프레임워크를 제공합니다.
기타 도구
AWS Transform CLI는 AWS Transform 사용자 지정을 위한 명령줄 인터페이스로, 개발자가 자연어 대화 및 자동 실행 모드를 통해 사용자 지정 코드 변환을 정의, 실행 및 관리할 수 있습니다. AWS Transform custom은 코드베이스의 확장 가능한 현대화를 위해 대화형 세션(atx 사용자 지정 def exec)과 자율 변환을 모두 지원합니다.
자동 수정 애플리케이션 중에 브랜치 보호, 변경 추적 및 롤백 기능에 사용되는 Git
버전 제어 시스템입니다. Java
는 이 패턴에 사용되는 프로그래밍 언어 및 개발 환경입니다.
코드 리포지토리
이 패턴의 코드는 GitHub의 AWS Transform 사용자 지정을 사용한 Easytrieve에서 최신 언어로 변환
모범 사례
표준화된 프로젝트 구조 설정 - 4폴더 구조(소스 코드, bre-doc, 입력 데이터, 출력 데이터)를 생성하고, 완전성을 검증하고, 변환 전에 내용을 문서화합니다.
검증에 기준 파일 사용 - 프로덕션 기준 입력 파일을 사용하고, 기준 출력과 byte-by-byte 비교를 수행하고, 편차에 대한 무관용성을 허용합니다.
사용 가능한 모든 참조 문서 사용 - 변환의 정확도를 높이기 위해 비즈니스 요구 사항 및 코딩 체크리스트와 같은 사용 가능한 모든 참조 문서를 제공합니다.
품질 개선을 위한 입력 제공 - AWS Transform 사용자 지정은 변환 실행(개발자 피드백, 코드 문제)에서 학습 내용을 자동으로 추출하고 이를 위한 지식 항목을 생성합니다. 변환이 성공할 때마다 지식 항목을 검토하고 향후 실행에 사용할 항목을 승인합니다. 이렇게 하면 향후 변환의 품질이 향상됩니다.
에픽
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
AWS Transform 사용자 지정을 위한 인프라를 프로비저닝합니다. | 보안 변환 환경을 호스팅하는 데 필요한 프로덕션 지원 인프라를 배포합니다. 여기에는 Easytrieve 코드를 변환하는 데 필요한 도구, IAM 권한 및 네트워크 설정으로 구성된 프라이빗 Amazon EC2 인스턴스가 포함됩니다. 코드형 인프라(IaC)를 사용하여 환경을 프로비저닝하려면 AWS Transform 사용자 지정 GitHub 리포지토리를 사용한 Easytrieve to Modern Languages 변환 | 앱 개발자, AWS 관리자 |
변환을 위한 입력 재료를 준비합니다. |
| 앱 개발자 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
BRE 변환 정의 생성 | 다음 단계에 따라 Easytrieve 소스 코드에서 BRE(비즈니스 규칙 추출)에 대한 사용자 지정 변환 정의를 생성합니다. 1. 이 패턴에 대한 코드 리포지토리로 이동하여 문서 폴더의 bre_transformation_definition.md를 EZT 코딩 가이드가 있는 document_references 폴더와 함께 복사합니다. 2. AWS Transform CLI 업로드의 해당 콘텐츠를 선택한 위치에 업로드하고 다음 단계에서 사용할 경로 위치를 기록해 둡니다. 3. atx 명령을 사용하여 CLI AWS Transform 에서를 호출합니다. 4. CLI에 다음 프롬프트를 제공합니다. <path to content from step#2> 경로에서 사용할 수 있는 내 변환 정의 파일을 사용하여 사용자 지정 변환 생성 AWS Transform 는 BRE 생성을 위한 새 사용자 지정 변환 정의를 생성합니다. 5. 변환 정의를 검토하고 필요한 경우 변경합니다. | 앱 개발자 |
BRE 변환 정의 게시 | BRE 변환 정의를 검토하고 검증한 후 자연어 프롬프트를 사용하여 사용자 AWS Transform 지정 레지스트리에 게시하여 Easytrieve-Business-Rule-Extract와 같은 정의 이름을 제공할 수 있습니다. | 앱 개발자 |
변환 정의를 생성합니다. | 다음 단계에 따라 기능 검증을 통해 EZT에서 Java로의 변환에 대한 사용자 지정 변환 정의를 생성합니다.
| 앱 개발자 |
변환 정의를 게시합니다. | 변환 정의를 검토하고 검증한 후 자연어 프롬프트를 사용하여 사용자 지정 레지스트리에 AWS Transform 게시하여 Easytrieve-to-Java-Migration과 같은 정의 이름을 제공할 수 있습니다. | 앱 개발자 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
BRE 생성 작업을 실행합니다. | CLI AWS Transform 명령을 실행하여 비대화형 또는 대화형 옵션을 선택합니다. 비대화형 실행(완전 자율):
대화형 실행(사람의 감독 아래):
중단된 실행 재개:
또는
Easytrieve-to-Java-to-Java 변환 단계에서 생성된 BRE 문서를 입력으로 사용할 bre-doc/ 폴더로 이동합니다. | 앱 개발자 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
변환 검증 요약을 검토합니다. | 사용자 지정 변환을 AWS Transform 실행하기 전에 폴더에 메인프레임 배치 작업을 실행하기 전에 캡처된 필수 데이터 파일이 포함되어 있는지
| 앱 개발자 |
사용자 지정 변환 작업을 실행합니다. | CLI AWS Transform 명령을 실행하여 비대화형 또는 대화형 옵션을 선택합니다.
AWS Transform 는 변환 실행 중에 빌드/테스트 명령을 통해 자동으로 검증합니다. | 앱 개발자 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
변환 검증 요약을 검토합니다. |
| 앱 개발자 |
검증 보고서에 액세스합니다. | 다음 명령을 입력하여 자세한 검증 아티팩트를 검토합니다.
| 앱 개발자 |
지속적인 학습을 위해 지식 항목을 활성화합니다. | 제안된 지식 항목을 영구 구성으로 승격하여 향후 변환 정확도를 개선합니다. 변환 후 에이전트는 식별된 패턴 및 매핑 규칙을 로컬 세션 디렉터리에 저장합니다. 이러한 학습된 항목을 검토하고 적용하려면 Amazon EC2 인스턴스에서 다음 명령을 실행합니다.
| 앱 개발자 |
문제 해결
| 문제 | Solution |
|---|---|
입력 및 출력 경로 구성 입력 파일을 읽지 않거나 출력 파일을 올바르게 쓰지 않습니다. | 입력 파일이 저장되는 전체 디렉터리 경로를 지정하고 출력을 작성해야 하는 위치를 명확하게 표시합니다. 이러한 디렉터리에 대해 적절한 액세스 권한이 구성되어 있는지 확인합니다. 모범 사례에는 모호성을 방지하기 위해 상대 경로 대신 절대 경로를 사용하고 지정된 모든 경로에 적절한 읽기/쓰기 권한이 있는지 확인하는 것이 포함됩니다. |
중단된 실행 재개 실행이 중단되었거나 중지된 위치에서 계속해야 함 | CLI 명령에 대화 ID를 제공하여 중단한 위치에서 실행을 재개할 수 있습니다. 이전 실행 시도의 로그에서 대화 ID를 찾습니다. |
메모리 제약 조건 해결 메모리 부족 오류는 실행 중에 발생합니다. | AWS Transform 에 현재 인 메모리 JVM 크기를 공유하도록 요청한 다음이 정보를 기반으로 메모리 할당을 늘릴 수 있습니다. 이 조정은 더 큰 처리 요구 사항을 수용하는 데 도움이 됩니다. 조정 후에도 메모리 제약이 지속되는 경우 대규모 작업을 더 작은 배치로 나누는 것이 좋습니다. |
출력 파일 불일치 해결 출력 파일이 기대치와 일치하지 않으며 추가 변경이 불가능 AWS Transform 함을 나타냅니다. | 현재 출력이 잘못된 이유를 설명하는 구체적인 피드백과 기술적인 이유를 제공합니다. 요구 사항을 지원하는 추가 기술 또는 비즈니스 설명서를 포함합니다. 이 세부 컨텍스트는 코드를 수정하여 적절한 출력 파일을 생성하는 데 도움이 AWS Transform 됩니다.
|