View a markdown version of this page

Verwandeln Sie Easytrieve mithilfe von Custom in moderne Sprachen AWS Transform - 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.

Verwandeln Sie Easytrieve mithilfe von Custom in moderne Sprachen AWS Transform

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 benutzerdefinierter Transformation.AWS Transform language-to-language 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:

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

  • Sprachunterstützung — Für dieses spezielle Transformationsmuster wird nur die Transformation von EZT zu Java unterstützt. 

  • Außerhalb des Geltungsbereichs — Für die Transformation anderer Mainframe-Programmiersprachen ist eine neue benutzerdefinierte Transformationsdefinition im benutzerdefinierten Format erforderlich. AWS Transform

Einschränkungen des Prozesses

  • Validierungsabhängigkeit — Ohne Ausgangsdaten 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 für 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 ein AWS Transform benutzerdefiniertes Transformationsmuster für die language-to-language Migration, um Mainframe-Easytrieve (EZT) -Anwendungen mithilfe eines automatisierten Workflows in vier Schritten auf Java zu modernisieren.

Schritt 1 — Stellen Sie Ihren Legacy-Code für Mainframe bereit, der: AWS Transform

  • Analysiert den Code

  • Extrahiert die allgemeine Geschäftslogik

  • Extrahiert die detaillierte Geschäftslogik.

Schritt 2 — Erstellen Sie einen Ordner mit den erforderlichen Eingaben:

  • Mit Hilfe AWS Transform von Mainframe extrahierte EZT-Geschäftsregeln 

  • Referenzdokumentation zur EZT-Programmierung 

  • EZT-Quellcode

  • Mainframe-Eingabe- und Ausgabedatensätze

Schritt 3 — Erstellen Sie eine benutzerdefinierte Transformationsdefinition und führen Sie sie aus

  1. Verwenden Sie die AWS Transform CLI, um Transformationsziele in natürlicher Sprache zu beschreiben. AWS Transform custom analysiert die BRE-, Quellcode- und EZT-Programmierleitfäden, um eine benutzerdefinierte Transformationsdefinition zur Überprüfung und Genehmigung durch Entwickler zu erstellen.

  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 (Konversation, interaktiv, vollständige Automatisierung), 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. 

  • AWS Transformverwendet agentic AI, um Ihnen zu helfen, die Modernisierung älterer Workloads wie .NET, Mainframe und Workloads zu beschleunigen. VMware

  • AWS Transform for Mainframe wird verwendet, um ältere EZT-Anwendungen zu analysieren, um eingebettete Geschäftslogik zu extrahieren und eine umfassende Dokumentation zu Geschäftsregeln zu erstellen, einschließlich logischer Zusammenfassungen, Akronymdefinitionen und strukturierter Wissensdatenbanken. Diese dienen als Eingabedaten für benutzerdefinierte Anwendungen. AWS Transform  

  • 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-by-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 Codierungs-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

AWS Transform Für Mainframe konfigurieren.

Richten Sie die Umgebung und die erforderlichen AWS Identity and Access Management (IAM-) Berechtigungen zur Unterstützung von Workflows zur Mainframe-Modernisierung ein. Weitere Informationen finden Sie in der Dokumentation unter Transformation von Mainframe-Anwendungen. AWS

App-Developer

Generieren Sie die Dokumentation zu Business Rule Extract (BRE).

Extrahieren Sie Geschäftslogik aus dem EZT- oder COBOL-Quellcode, um funktionale Dokumentation zu generieren. Anweisungen, wie Sie den Extraktionsprozess einleiten und die Ausgabe überprüfen, finden Sie in der AWS Transform Dokumentation unter Geschäftslogik extrahieren.

App-Developer
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 generierte 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 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 EasyTrieve-to-Java-Migration angeben.

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 liegen im Sequential/Text/DB 2-Format vor und verwenden die EBCDIC-Codierung, die auf den Ausführungsanforderungen basiert.

  • 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 nicht interaktive oder die interaktive Option aus:

:# 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

Anlagen

Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip