

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
<a name="transform-easytrieve-modern-languages"></a>

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

## Zusammenfassung
<a name="transform-easytrieve-modern-languages-summary"></a>

[https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/ca-easytrieve-report-generator/11-6.html](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/ca-easytrieve-report-generator/11-6.html) 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:
+ [Mit Hilfe AWS Transform von Mainframe extrahierte EZT-Geschäftsregeln](https://aws.amazon.com/transform/mainframe/)
+ 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
<a name="transform-easytrieve-modern-languages-prereqs"></a>

**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*
+ **Service-Limits** — AWS Transform Maßgeschneiderte Service-Limits und Kontingente finden Sie im [AWS Transform Benutzerhandbuch — Kontingente](https://docs.aws.amazon.com/transform/latest/userguide/transform-limits.html) und die [AWS allgemeine Referenz — Transform Quotas](https://docs.aws.amazon.com/general/latest/gr/aws-transform.html).

**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
<a name="transform-easytrieve-modern-languages-architecture"></a>

**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.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/71f15422-42cb-4c7e-94fa-051a4f130445/images/eb89eed0-dd55-485c-a433-9869162eaad9.png)


**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.

1. 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.

1. 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
<a name="transform-easytrieve-modern-languages-tools"></a>

**AWS-Services  **
+ [AWS Transform custom](https://docs.aws.amazon.com/transform/latest/userguide/custom.html) ist ein agentischer KI-Service, der verwendet wird, um ältere EZT-Anwendungen in moderne Programmiersprachen umzuwandeln. 
+ [AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)verwendet agentic AI, um Ihnen zu helfen, die Modernisierung älterer Workloads wie .NET, Mainframe und Workloads zu beschleunigen. VMware 
+ [AWS Transform for Mainframe](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe.html) 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)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 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](https://docs.aws.amazon.com/transform/latest/userguide/custom-command-reference.html) 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](https://git-scm.com/doc), das für den Branchschutz, die Änderungsverfolgung und Rollback-Funktionen bei der automatisierten Fix-Anwendung verwendet wird. 
+ [Java](https://www.java.com/en/) 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](https://github.com/aws-samples/sample-mainframe-easytrieve-transform?tab=readme-ov-file#easytrieve-to-modern-languages-transformation-with-aws-transform-custom) verfügbar. GitHub

## Best Practices
<a name="transform-easytrieve-modern-languages-best-practices"></a>
+ 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
<a name="transform-easytrieve-modern-languages-epics"></a>

### Generieren Sie einen Geschäftsregelextrakt (BRE)
<a name="generate-a-business-rule-extract-bre"></a>


| Aufgabe | Description | Erforderliche 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](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html). 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](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-extract-business-logic). | App-Developer | 

### AWS Transform Benutzerdefiniert einrichten
<a name="set-up-trn-custom"></a>


| Aufgabe | Description | Erforderliche 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](https://github.com/aws-samples/sample-mainframe-easytrieve-transform) Modern Languages Transformation with Custom. AWS Transform GitHub  | App-Entwickler, AWS-Administrator | 
| Bereiten Sie die Eingangsmaterialien für die Transformation vor. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transform-easytrieve-modern-languages.html) | App-Developer | 

###  Erstellen Sie eine benutzerdefinierte Transformationsdefinition
<a name="create-a-custom-transformation-definition"></a>


| Aufgabe | Description | Erforderliche 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.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transform-easytrieve-modern-languages.html) | 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 | 

### Bereiten Sie die Basisdaten für die Validierung vor.
<a name="prepare-baseline-data-for-validation"></a>


| Aufgabe | Description | Erforderliche 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.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transform-easytrieve-modern-languages.html) | 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:<pre>:# Non-interactive execution (fully autonomous):<br />atx custom def exec \<br />  --transformation-name "Easytrieve-to-Java-Migration" \<br />  --code-repository-path ~/root/transform-workspace/mainframe-source/source-code \<br />  --build-command "mvn clean install" \<br />  --non-interactive \<br />  --trust-all-tools \<br /><br /># Interactive execution (with human oversight):<br />atx custom def exec \<br />  -n "Easytrieve-to-Java-Migration" \<br />  -p ~/root/transform-workspace/mainframe-source/source-code \<br />  -c "mvn clean install"<br /><br /># Resume interrupted execution:<br />atx -resume<br /># OR<br />atx --conversation-id <conversation-id><br /></pre>AWS Transform validiert automatisch anhand von build/test Befehlen während der Ausführung der Transformation. | App-Developer | 

### Validiert und liefert getesteten Code
<a name="validate-and-deliver-tested-code"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Lesen Sie die Zusammenfassung der Transformationsvalidierung. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transform-easytrieve-modern-languages.html) | App-Developer | 
| Greifen Sie auf Validierungsberichte zu. | Geben Sie die folgenden Befehle ein, um die detaillierten Validierungsartefakte zu überprüfen:<pre># Full validation report<br />cat ~/.aws/atx/custom/$LATEST_SESSION/artifacts/validation_report.html<br /><br /># Generated code location<br />ls ~/.aws/atx/custom/$LATEST_SESSION/generated/<br /><br /># Execution logs<br />cat ~/.aws/atx/custom/$LATEST_SESSION/logs/execution.log</pre> | 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:<pre># List all knowledge items for a specific transformation definition<br />atx custom def list-ki -n <transformation-name><br /><br /># Retrieve the details of a specific knowledge item<br />atx custom def get-ki -n <transformation-name> --id <id><br /><br /># Update the status of a knowledge item (ENABLED or DISABLED)<br />atx custom def update-ki-status -n <transformation-name> --id <id> --status ENABLED<br /><br /># Update the knowledge item configuration to enable auto-approval<br />atx custom def update-ki-config -n <transformation-name> --auto-enabled TRUE</pre> | App-Developer | 

## Fehlerbehebung
<a name="transform-easytrieve-modern-languages-troubleshooting"></a>


| Problem | Lö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. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transform-easytrieve-modern-languages.html) | 

## Zugehörige Ressourcen
<a name="transform-easytrieve-modern-languages-resources"></a>
+ [AWS Transform benutzerdefinierte Dokumentation](https://docs.aws.amazon.com/transform/latest/userguide/custom.html)
+ [Easytrieve Report Generator 11.6](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/ca-easytrieve-report-generator/11-6/getting-started.html)

## Anlagen
<a name="attachments-71f15422-42cb-4c7e-94fa-051a4f130445"></a>

[Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip](samples/p-attach/71f15422-42cb-4c7e-94fa-051a4f130445/attachments/attachment.zip)