View a markdown version of this page

Transformieren Sie Easytrieve in moderne Sprachen, indem Sie AWS Transform benutzerdefiniert - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Transformieren Sie Easytrieve in moderne Sprachen, indem Sie AWS Transform benutzerdefiniert

Shubham Roy, Subramanyam Malisetty und Harshitha Shashidhar, Amazon Web Services

Zusammenfassung

Dieses Muster bietet präskriptive Leitlinien für eine schnellere und risikoärmere Transformation von Broadcom Easytrieve Report Generator (EZT) -Mainframe-Workloads mithilfe einer benutzerdefinierten Umwandlung von Sprache zu Sprache.AWS Transform Es befasst sich mit den Herausforderungen der Modernisierung von Nischen- und proprietären EZT-Workloads für Mainframes, die häufig für die Verarbeitung von Batch-Daten und die Generierung von Berichten verwendet werden. Das Muster ersetzt teure, langwierige und fehleranfällige Migrationsansätze, die auf proprietären Tools und seltenem Mainframe-Fachwissen beruhen, durch eine maßgeschneiderte, automatisierte KI-Lösung, auf der Sie selbst erstellen. AWS Transform

Dieses Muster bietet eine gebrauchsfertige benutzerdefinierte Transformationsdefinition für die EZT-Transformation. Die Definition verwendet mehrere Transformationseingaben:

  • Mithilfe AWS Transform von Custom extrahierte EZT-Geschäftsregeln

  • Referenzdokumentation zur EZT-Programmierung

  • EZT-Quellcode

  • Mainframe-Eingabe- und Ausgabedatensätze

AWS Transform custom verwendet diese Eingaben, um funktional äquivalente Anwendungen in modernen Zielsprachen wie Java oder Python zu generieren.

Der Transformationsprozess verwendet intelligente Testausführung, automatisiertes Debugging und iterative Korrekturfunktionen, um die funktionale Äquivalenz anhand der erwarteten Ergebnisse zu überprüfen. Es unterstützt auch kontinuierliches Lernen und ermöglicht so die benutzerdefinierte Transformationsdefinition, um die Genauigkeit und Konsistenz bei aufeinanderfolgenden Transformationen zu verbessern. Mithilfe dieses Musters können Unternehmen den Migrationsaufwand und das Risiko reduzieren, technische Nischenprobleme bei Mainframes beheben und EZT-Workloads modernisieren, um Agilität, Zuverlässigkeit, Sicherheit und Innovation AWS zu verbessern.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktives Konto AWS  

  • Ein Mainframe-EZT-Workload mit Eingabe- und Ausgabedaten 

Einschränkungen

Einschränkungen des Geltungsbereichs

Einschränkungen bei der Verarbeitung

  • Validierungsabhängigkeit — Ohne Ausgangsbasisdaten kann die Transformation nicht validiert werden. 

  • Proprietäre Logik — Hochspezifische, speziell entwickelte Dienstprogramme erfordern zusätzliche Benutzerdokumentation und Referenzmaterial, um vom KI-Agenten korrekt interpretiert zu werden.

Technische Einschränkungen

Produktversionen

  • AWS Transform CLI — Letzte Version

  • Node.js — Version 20 oder höher

  • Git — Letzte Version

  • Zielumgebung

    • Java — Version 17 oder höher

    • Spring Boot — Version 3.x ist das primäre Ziel für umgestaltete Anwendungen

    • Maven — Version 3.6 oder höher

Architektur

Quelltechnologie-Stack

  • Betriebssystem — IBM z/OS

  • Programmiersprache — Easytrieve, Job Control Language (JCL)

  • Datenbank — IBM DB2 for z/OS, Virtual Storage Access Method (VSAM), Mainframe-Flatfiles

Zieltechnologie-Stack

  • Betriebssystem — Amazon Linux

  • Datenverarbeitung — Amazon Elastic Compute Cloud (Amazon EC2)

  • Programmiersprache — Java

  • Datenbank Amazon Relational Database Service (Amazon RDS)

Zielarchitektur

Zielarchitekturdiagramm für die Verwendung von AWS Transform custom zur Umwandlung von EZT in modernen Code.

Workflow

Diese Lösung verwendet AWS Transform benutzerdefinierte und vorgefertigte Transformationsdefinitionen, um Mainframe-Easytrieve (EZT) -Anwendungen mithilfe eines automatisierten Workflows in drei Schritten auf Java zu modernisieren. AWS Transform custom übernimmt den gesamten Prozess — Extraktion von Geschäftsregeln (BRE), Codetransformation und funktionale Äquivalenzvalidierung — auf der Grundlage der im Rahmen dieser Lösung bereitgestellten Transformationsdefinitionen. Für die Validierung des erstellten BRE-Berichts und der Validierung des funktionalen Äquivalenzberichts ist eine Validierung durch einen Mitarbeiter erforderlich.

Schritt 1 — Bereiten Sie den Eingabeordner vor

  1. source-code/ — EZT-Quellcode (.ezt-Dateien), JCL-Jobstreams (.jcl-/.jcl-Dateien), COBOL-Programme, Copybooks und Steuerkarten

  2. bre-doc/ — Generiertes Dokument zum Extrahieren von Geschäftsregeln

  3. input-data/ — Mainframe-Basisdatensätze für die Validierung

  4. output-data/ — Baseline-Mainframe-Ausgabedatensätze zur Validierung

  5. document_references/ — Transformationsdefinitionen und Referenzdokumentation, bereitgestellt von:

    - bre_transformation_definition.md — Definiert den fünfphasigen Extraktionsprozess für Geschäftsregeln

    - transformation_definition.md — Definiert, wie Easytrieve-Konstrukte Java zugeordnet werden

    - summaries.md — Transformationsregeln und -muster

    - ca-easytrieve-report-generator-11-6.txt — Easytrieve-Referenzhandbuch

Schritt 2 — Extrahieren Sie Geschäftsregeln mit AWS Transform Custom

1. Interagieren Sie mit der AWS Transform CLI in natürlicher Sprache, um verfügbare Transformationsdefinitionen (TDs) zu überprüfen und den BRE TD an Ihre spezifischen Kriterien und Regeln anzupassen

2. Verwenden Sie das fertige TD, um das BRE-Dokument zu generieren. AWS Transform Benutzerdefiniert analysiert die Mainframe-Quellartefakte (Easytrieve, JCL, COBOL, Copybooks, Control Cards) und erstellt eine strukturierte BRE mit Geschäftsregelkatalog, Dateilayouts, Datenherkunft und Datentypzuordnungen

3. Verschieben Sie das generierte BRE-Dokument zur Verwendung in Schritt 3 in den Ordner bre-doc/

Schritt 3 — Generieren Sie funktionsäquivalenten modernisierten Code

  1. Interagieren Sie mit der AWS Transform CLI in natürlicher Sprache, um die verfügbaren Basistransformationsdefinitionen (TDs) zu überprüfen und das Basis-TD an Ihre spezifischen Kriterien und Regeln anzupassen.

  2. Rufen Sie dann die AWS Transform CLI mit dem Projektquellcode auf. AWS Transform custom erstellt Transformationspläne, konvertiert EZT nach Genehmigung in Java, generiert unterstützende Dateien, erstellt die ausführbare JAR und validiert die Exit-Kriterien.

  3. Verwenden Sie den Validierungsagenten, um die funktionale Äquivalenz anhand der Mainframe-Ausgabe zu testen. Der Self-Debugger Agent behebt Probleme selbstständig. Zu den endgültigen Ergebnissen gehören validierter Java-Code und HTML-Validierungsberichte.

Automatisierung und Skalierung

  • Agentic AI Multimode-Ausführungsarchitektur — AWS Transform kundenspezifisch — nutzt agentische KI mit drei Ausführungsmodi — dialogorientiert, interaktiv und vollständig automatisiert —, um komplexe Transformationsaufgaben wie Codeanalyse, Refactoring, Transformationsplanung und Tests zu automatisieren.

  • Adaptives Lern-Feedback-System — Die Plattform implementiert kontinuierliche Lernmechanismen durch Analyse von Codebeispielen, Analyse der Dokumentation und Integration von Entwickler-Feedback mit versionierten Transformationsdefinitionen.

  • Architektur für gleichzeitige Anwendungsverarbeitung — Das System ermöglicht die verteilte parallel Ausführung mehrerer Anwendungstransformationsvorgänge gleichzeitig in einer skalierbaren Infrastruktur.

Tools

AWS-Services  

  • AWS Transform custom ist ein agentischer KI-Service, der verwendet wird, um ältere EZT-Anwendungen in moderne Programmiersprachen umzuwandeln. 

  • Amazon Simple Storage Service (Amazon S3) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt. Amazon S3 dient als primärer Speicherservice für AWS Transform Custom zum Speichern von Transformationsdefinitionen, Code-Repositorys und Verarbeitungsergebnissen.

  • AWS Identity and Access Management (IAM) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden. IAM bietet das Sicherheitsframework für AWS Transform benutzerdefinierte, verwaltete Berechtigungen und Zugriffskontrolle für Transformationsvorgänge.

Andere Tools

  • AWS Transform CLI ist die Befehlszeilenschnittstelle für AWS Transform benutzerdefinierte Anwendungen, die es Entwicklern ermöglicht, benutzerdefinierte Codetransformationen durch Konversationen in natürlicher Sprache und automatisierte Ausführungsmodi zu definieren, auszuführen und zu verwalten. AWS Transform custom unterstützt sowohl interaktive Sitzungen (atx custom def exec) als auch autonome Transformationen für die skalierbare Modernisierung von Codebasen.

  • Git-Versionskontrollsystem, das für den Branchschutz, die Änderungsverfolgung und Rollback-Funktionen bei der automatisierten Fix-Anwendung verwendet wird. 

  • Java ist die Programmiersprache und Entwicklungsumgebung, die in diesem Muster verwendet werden. 

Code-Repository

Der Code für dieses Muster ist in Easytrieve to Modern Languages Transformation mit aktivierter Option AWS Transform Benutzerdefiniert verfügbar. GitHub

Best Practices

  • Etablieren Sie eine standardisierte Projektstruktur — Erstellen Sie eine Struktur mit vier Ordnern (Quellcode, Bre-Doc, Eingabedaten, Ausgabedaten), überprüfen Sie die Vollständigkeit und dokumentieren Sie den Inhalt vor der Transformation.

  • Verwenden Sie Basisdateien für die Validierung — Verwenden Sie Ausgangsdateien für die Produktion, führen Sie einen Byte-für-Byte-Vergleich mit der Ausgangsausgabe durch und akzeptieren Sie eine Null-Toleranz für Abweichungen.

  • Alle verfügbaren Referenzdokumente verwenden — Um die Genauigkeit der Transformation zu erhöhen, stellen Sie alle verfügbaren Referenzdokumente bereit, z. B. Geschäftsanforderungen und Kodierungs-Checklisten.

  • Geben Sie Anregungen zur Qualitätsverbesserung — AWS Transform Custom extrahiert automatisch Erkenntnisse aus Transformationsausführungen (Feedback von Entwicklern, Codeprobleme) und erstellt Wissenselemente für sie. Überprüfen Sie nach jeder erfolgreichen Transformation die Wissenselemente und genehmigen Sie die Wissenselemente, die Sie in future Ausführungen verwenden möchten. Dies verbessert die Qualität zukünftiger Transformationen.

Epen

AufgabeDescriptionErforderliche Fähigkeiten

Stellen Sie die Infrastruktur AWS Transform kundenspezifisch bereit.

Stellen Sie die produktionsbereite Infrastruktur bereit, die für die Bereitstellung einer sicheren Transformationsumgebung erforderlich ist. Dazu gehört eine private Amazon EC2 EC2-Instance, die mit den erforderlichen Tools, IAM-Berechtigungen und Netzwerkeinstellungen für die Konvertierung von Easytrieve-Code konfiguriert ist. Um die Umgebung mithilfe von Infrastructure as Code (IaC) bereitzustellen, folgen Sie den Bereitstellungsanweisungen im Repository Easytrieve to Modern Languages Transformation with Custom. AWS Transform GitHub

App-Entwickler, AWS-Administrator

Bereiten Sie die Eingangsmaterialien für die Transformation vor.

  1. Geben Sie diesen Befehl ein, um die Ordnerstruktur zu erstellen:

    mkdir -p /root/transform-workspace/mainframe-source/{source-code,bre-doc,input-data,output-data}

    Dadurch werden diese Ordner erstellt:

    • source-code— Speicher für den EZT-Quellcode

    • bre-doc— Speicher für das BRE-Dokument

    • input-data— Speicher für die Eingabedaten für die Mainframe-Batch-Ausführung (Sequential/Text/DB2 Dateien im EBCDIC-Format)

    • output-data— Speicherung der Ausgabedaten auf dem Mainframe nach der Batch-Ausführung (Sequential/Text/DB2 Dateien im EBCDIC-Format)

  2. Geben Sie diese Befehle ein, um das Git-Repository zu initialisieren:

    cd /root/transform-workspace/mainframe-source/source-code git init git add . git commit -m "Initial commit"
App-Developer
AufgabeDescriptionErforderliche Fähigkeiten

Erstellen Sie eine BRE-Transformationsdefinition

Gehen Sie wie folgt vor, um die benutzerdefinierte Transformationsdefinition für BRE (Business Rule Extraction) aus dem Easytrieve-Quellcode zu erstellen.

1. Gehen Sie zum Code-Repository für dieses Muster und kopieren Sie bre_transformation_definition.md aus dem Dokumentenordner zusammen mit dem Ordner document_references mit dem EZT-Codierungshandbuch.

2. Laden Sie diesen Inhalt in der AWS Transform CLI hoch, laden Sie ihn an einen Ort Ihrer Wahl hoch und notieren Sie sich den Pfad, der in den nächsten Schritten verwendet werden soll.

3. Rufen Sie AWS Transform über die CLI mit dem Befehl atx auf.

4. Geben Sie diese Aufforderung in der CLI ein:

Erstellen Sie eine benutzerdefinierte Transformation mithilfe meiner Transformationsdefinitionsdatei, die unter Pfad verfügbar ist <path to content from step #2 >

AWS Transform erstellt eine neue benutzerdefinierte Transformationsdefinition für die BRE-Generierung.

5. Überprüfen Sie die Transformationsdefinition und nehmen Sie bei Bedarf Änderungen vor.

App-Developer

Veröffentlichen Sie die BRE-Transformationsdefinition

Nach der Überprüfung und Validierung der BRE-Transformationsdefinition können Sie sie mit einer Aufforderung in natürlicher Sprache in der AWS Transform benutzerdefinierten Registrierung veröffentlichen und dabei einen Definitionsnamen wie angeben Easytrieve-Business-Rule-Extract.

App-Developer

Erstellen Sie eine Transformationsdefinition.

Gehen Sie wie folgt vor, um die benutzerdefinierte Transformationsdefinition für die Transformation von EZT in Java mit funktionaler Validierung zu erstellen.

  1. Gehen Sie zum Code-Repository für dieses Muster und kopieren Sie den Inhalt des documents Ordners. Dies sollte transformation_definition.md, summaries.md und den Ordner mit dem EZT-Codierungsleitfaden enthalten. document_references

  2. Laden Sie diesen Inhalt in der AWS Transform CLI hoch, laden Sie ihn an einen Ort Ihrer Wahl hoch und notieren Sie sich den Pfad, der in den nächsten Schritten verwendet werden soll.

  3. Rufen Sie AWS Transform über die CLI mit dem atx Befehl auf.

  4. Geben Sie diese Aufforderung in der CLI ein: Erstellen Sie eine benutzerdefinierte Transformation mithilfe meiner Transformationsdefinitionsdatei, die unter Pfad verfügbar ist, <path to content from step #2 > AWS Transform erstellt eine neue benutzerdefinierte Transformationsdefinition für die EZT-zu-Java-Transformation.

  5. Überprüfen Sie die Transformationsdefinition und nehmen Sie bei Bedarf Änderungen vor.

App-Developer

Veröffentlichen Sie die Transformationsdefinition.

Nach der Überprüfung und Validierung der Transformationsdefinition können Sie sie mit einer Aufforderung in natürlicher Sprache in der AWS Transform benutzerdefinierten Registrierung veröffentlichen und dabei einen Definitionsnamen wie angeben Easytrieve-to-Java-Migration.

App-Developer
AufgabeDescriptionErforderliche Fähigkeiten

Führen Sie den BRE-Generierungsjob aus.

Führen Sie den AWS Transform CLI-Befehl aus und wählen Sie die Option „Nicht interaktiv“ oder „Interaktiv“:

Non-interactive Ausführung (völlig autonom):

atx custom def exec --transformation-name "Easytrieve-Business-Rule-Extract" --code-repository-path ~/root/transform-workspace/mainframe-source/source-code --non-interactive --trust-all-tools

Interaktive Ausführung (unter menschlicher Aufsicht):

atx custom def exec -n "Easytrieve-Business-Rule-Extract" -p ~/root/transform-workspace/mainframe-source/source-code

Unterbrochene Ausführung fortsetzen:

atx --resume

ODER

atx --conversation-id <conversation-id>

Verschieben Sie das generierte BRE-Dokument in den Ordner bre-doc/, um es während des Transformationsschritts als Eingabe zu verwenden. Easytrieve-to-Java

App-Developer
AufgabeDescriptionErforderliche Fähigkeiten

Lesen Sie die Zusammenfassung der Transformationsvalidierung.

Stellen Sie vor der Ausführung der AWS Transform benutzerdefinierten Transformation sicher, dass der input-data Ordner die erforderlichen Datendateien enthält, die vor der Ausführung des Mainframe-Batchjobs erfasst wurden. Stellen Sie nach der Ausführung des Mainframe-Batchjobs sicher, dass der output-data Ordner die resultierenden Dateien aufzeichnet. Alle Dateien haben ein Sequential/Text/DB2 Format, das die EBCDIC-Kodierung verwendet, die den Ausführungsanforderungen entspricht.

  • Platzieren Sie die Eingabedaten im Ordner input-data/

  • Platzieren Sie die Basisausgabe im output-data/ Ordner

App-Developer

Führen Sie den benutzerdefinierten Transformationsjob aus.

Führen Sie den AWS Transform CLI-Befehl aus und wählen Sie die Option „Nicht interaktiv“ oder „Interaktiv“:

:# Non-interactive execution (fully autonomous): atx custom def exec \ --transformation-name "Easytrieve-to-Java-Migration" \ --code-repository-path ~/root/transform-workspace/mainframe-source/source-code \ --build-command "mvn clean install" \ --non-interactive \ --trust-all-tools \ # Interactive execution (with human oversight): atx custom def exec \ -n "Easytrieve-to-Java-Migration" \ -p ~/root/transform-workspace/mainframe-source/source-code \ -c "mvn clean install" # Resume interrupted execution: atx -resume # OR atx --conversation-id <conversation-id>

AWS Transform validiert automatisch anhand von build/test Befehlen während der Ausführung der Transformation.

App-Developer
AufgabeDescriptionErforderliche Fähigkeiten

Lesen Sie die Zusammenfassung der Transformationsvalidierung.

  1. Warten Sie AWS Transform , bis der Code mithilfe von Build- und Testbefehlen automatisch validiert wurde.

  2. Geben Sie diesen Befehl ein, um die letzte Sitzung zu finden:

    LATEST_SESSION=$(ls -t ~/.aws/atx/custom/ | head -1
  3. Geben Sie diesen Befehl ein, um die Zusammenfassung der Validierung anzuzeigen:

    cat ~/.aws/atx/custom/$LATEST_SESSION/artifacts/validation_summary.md
  4. Geben Sie diesen Befehl ein, um den Gesamtstatus zu überprüfen:

    grep "OVERALL STATUS" ~/.aws/atx/custom/$LATEST_SESSION/artifacts/validation_summary.md
App-Developer

Greifen Sie auf Validierungsberichte zu.

Geben Sie die folgenden Befehle ein, um die detaillierten Validierungsartefakte zu überprüfen:

# Full validation report cat ~/.aws/atx/custom/$LATEST_SESSION/artifacts/validation_report.html # Generated code location ls ~/.aws/atx/custom/$LATEST_SESSION/generated/ # Execution logs cat ~/.aws/atx/custom/$LATEST_SESSION/logs/execution.log
App-Developer

Aktivieren Sie Wissenselemente für kontinuierliches Lernen.

Verbessern Sie die Genauigkeit future Transformationen, indem Sie vorgeschlagene Wissenselemente in Ihre persistente Konfiguration aufnehmen. Nach einer Transformation speichert der Agent identifizierte Muster und Zuordnungsregeln in Ihrem lokalen Sitzungsverzeichnis. Führen Sie die folgenden Befehle auf Ihrer Amazon EC2 EC2-Instance aus, um diese erlernten Elemente zu überprüfen und anzuwenden:

# List all knowledge items for a specific transformation definition atx custom def list-ki -n <transformation-name> # Retrieve the details of a specific knowledge item atx custom def get-ki -n <transformation-name> --id <id> # Update the status of a knowledge item (ENABLED or DISABLED) atx custom def update-ki-status -n <transformation-name> --id <id> --status ENABLED # Update the knowledge item configuration to enable auto-approval atx custom def update-ki-config -n <transformation-name> --auto-enabled TRUE
App-Developer

Fehlerbehebung

ProblemLösung

Konfiguration des Eingabe- und Ausgabepfads

Eingabedateien werden nicht gelesen oder Ausgabedateien werden nicht korrekt geschrieben. 

Geben Sie den vollständigen Verzeichnispfad an, in dem die Eingabedateien gespeichert werden, und geben Sie deutlich an, wo die Ausgabe geschrieben werden soll. Stellen Sie sicher, dass die richtigen Zugriffsberechtigungen für diese Verzeichnisse konfiguriert sind. 

Zu den bewährten Methoden gehören die Verwendung absoluter Pfade anstelle relativer Pfade, um Mehrdeutigkeiten zu vermeiden, und die Überprüfung, ob alle angegebenen Pfade mit den entsprechenden Berechtigungen vorhanden sind. read/write  

Wiederaufnahme unterbrochener Ausführungen

Die Ausführung wurde unterbrochen oder muss an der Stelle fortgesetzt werden, an der sie unterbrochen wurde

Sie können die Ausführung an der Stelle fortsetzen, an der Sie aufgehört haben, indem Sie die Konversations-ID im CLI-Befehl angeben.

Suchen Sie die Konversations-ID in den Protokollen Ihres vorherigen Ausführungsversuchs.  

Behebung von Speicherbeschränkungen

Während der Ausführung tritt ein Fehler aufgrund unzureichender Speicherkapazität auf.

Sie können darum bitten AWS Transform , die aktuelle JVM-Größe im Arbeitsspeicher gemeinsam zu nutzen und dann die Speicherzuweisung auf der Grundlage dieser Informationen zu erhöhen. Diese Anpassung hilft, größeren Verarbeitungsanforderungen gerecht zu werden.

Erwägen Sie, große Aufträge in kleinere Batches aufzuteilen, wenn nach Anpassungen weiterhin Speicherbeschränkungen bestehen. 

Behebung von Diskrepanzen in der Ausgabedatei

Die Ausgabedateien entsprechen nicht den Erwartungen und AWS Transform weisen darauf hin, dass keine weiteren Änderungen möglich sind.

Geben Sie konkretes Feedback und erläutern Sie technische Gründe, warum die aktuelle Ausgabe falsch ist. Fügen Sie zusätzliche technische oder geschäftliche Unterlagen hinzu, um Ihre Anforderungen zu untermauern. Dieser detaillierte Kontext hilft dabei, den Code zu AWS Transform korrigieren, um die richtigen Ausgabedateien zu generieren. 

  • Spezifische Beispiele, in denen die erwartete und die tatsächliche Leistung verglichen werden 

  • Verweise auf relevante Unterlagen oder Normen

  • Klare Erläuterung der geschäftlichen Auswirkungen der Diskrepanz  

Zugehörige Ressourcen