翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用して CardDemo メインフレームアプリケーションをモダナイズする AWS Transform
Amazon Web Services、Santosh Kumar Singh、Cheryl du Preez
概要
AWS Transform
このパターンでは、オープンソースのメインフレームアプリケーションのサンプルである CardDemo
前提条件と制限
前提条件
制限事項
AWS Transform は一部の でのみ使用できます AWS リージョン。対応リージョンのリスト全文は「Supported Regions for AWS Transform
」よりご確認ください。 AWS Transform は、共通ビジネス指向言語 (COBOL) から Java へのコード分析、ドキュメント生成、ビジネスルールの抽出、分解、リファクタリングをサポートしています。詳しくは「Capabilities and key features」および「Supported file types for transformation of mainframe applications」をご確認ください。
AWS Transformのメインフレーム変換機能では Service Quota があります。詳細については、「AWS Transformのクォータ」を参照してください。
共有ワークスペースでコラボレーションするには、すべてのユーザーが、 AWS Transform ウェブアプリケーションのインスタンス AWS IAM アイデンティティセンター に関連付けられている の同じインスタンスの登録済みユーザーである必要があります。
Amazon S3 バケット と は、同じ AWS アカウント とリージョンにある AWS Transform 必要があります。
アーキテクチャ
このパターンで構築するアーキテクチャを次の図に示します。

この図表は、次のワークフローを示しています:
AWS Transform はコネクタを使用して、Amazon S3 バケットに保存されている CardDemo メインフレームアプリケーションにアクセスします。
AWS Transform は AWS IAM アイデンティティセンター を使用してユーザーアクセスと認証を管理します。システムは、認証、認可、暗号化、アクセス管理のための複数のセキュリティコントロールを実行し、処理中のコードとアーティファクトを保護します。ユーザーはチャットインターフェイスを介して AWS Transform エージェントとやり取りします。特定のタスクに関する指示を AI エージェントに英語で提供できます。詳細については、 AWS Transform ドキュメントの「Human in the loop (HITL)」を参照してください。
AI エージェントは、ユーザーの指示を解釈し、ジョブプランを作成し、ジョブを実行可能なタスクに分割して、自律的にアクションを実行します。ユーザーは変換を確認して承認できます。変換タスクには以下が含まれます。
コード分析 – ファイル名、ファイルタイプ、コード行、パスなどの詳細について、各ファイルのコードを AWS Transform 分析します。エージェントはソースコードを分析し、分類の実行、依存関係マッピングの作成、欠落しているアーティファクトの特定を行います。また、重複するコンポーネントも識別します。
ドキュメント生成 – メインフレームアプリケーションのドキュメント AWS Transform を生成します。コードを分析することで、レガシーシステムに存在するビジネスロジック、フロー、統合、依存関係の説明など、アプリケーションプログラムの詳細なドキュメントを自動的に作成できます。
ビジネスロジック抽出 – COBOL プログラム AWS Transform を分析してコアビジネスロジックを文書化し、基本的なビジネスロジックを理解するのに役立ちます。
コード分解 – プログラムとコンポーネント間の依存関係を考慮したドメインにコードを AWS Transform 分解します。同じドメイン内で関連ファイルとプログラムをグループ化すると、組織が改善され、より小さなコンポーネントに分割するときにアプリケーションの論理構造が保持されます。
移行ウェーブ計画 – 分解フェーズで作成したドメインに基づいて、 は推奨されるモダナイゼーション順序で移行ウェーブ計画 AWS Transform を生成します。
コードリファクタリング – すべてのドメインファイルまたは選択したドメインファイルのコードを Java コードに AWS Transform リファクタリングします。この動作は、アプリケーションの重要なビジネスロジックを維持しながら、モダナイズされたクラウド最適化 Java アプリケーションにリファクタリングすることを目的としています。
AWS Transform は、リファクタリングされたコード、生成されたドキュメント、関連するアーティファクト、ランタイムライブラリを Amazon S3 バケットに保存します。以下を行うことができます。
Amazon S3 バケットのランタイムフォルダにアクセスします。
AWS Transform ドキュメントの「モダナイズされたアプリケーションのリファクタリング後のビルドとデプロイ」に従って、アプリケーションを
ビルドおよびデプロイします。 チャットインターフェイスを使用して、サンプル AWS CloudFormation AWS Cloud Development Kit (AWS CDK)、または Hashicorp Terraform テンプレートをリクエストしてダウンロードします。これらのテンプレートは、リファクタリングされたアプリケーションをサポートするために必要な AWS リソースをデプロイするのに役立ちます。
リフォージを使用すると、大規模言語モデル (LLM) を利用してリファクタリング済みのコード品質が向上します。リファクタリングエンジンは、COBOL を Java コードに変換しながら、COBOL の機能的同等性を維持します。リフォージは、変換後に実行できるオプション手順です。このステップでは LLM を使用してネイティブ Java とよく似たコードを再構築します。これにより、可読性と保守性が向上します。リフォージは、コードの理解に役立つ人間が読めるコメントを追加し、最新のコーディングパターンとベストプラクティスを実行します。
ツール
AWS のサービス
AWS Transform はエージェンティック AI を使用して、.NET、メインフレーム、VMware ワークロードなどのレガシーワークロードのモダナイズを加速します。
AWS IAM アイデンティティセンター を使用すると、 AWS アカウント およびクラウドアプリケーションへのシングルサインオン (SSO) アクセスを一元管理できます。
Amazon Simple Storage Service (Amazon S3) は、あらゆる量のデータを保存、保護、取得できるクラウドベースのオブジェクトストレージサービスです。
コードリポジトリ
オープンソースの AWS CardDemo
ベストプラクティス
小規模から始める – メインフレームアプリケーションの AWS Transform 分析と変換の方法を理解するために、小規模で複雑ではないコード (15,000~20,000 行のコード) から始めます。
人間の専門知識と組み合わせる – 人間の専門知識を適用して最適な結果を得ると同時に、アクセラレータ AWS Transform ーとして使用します。
レビューとテストを徹底する – 変換されたコードを注意深く確認し、包括的なテストを実行して、変換後の機能同等性を検証します。
フィードバックを提供する – 改善のためのフィードバックと提案を提供するには、 のフィードバックを送信するボタンを使用する AWS マネジメントコンソール か、 でケースを作成しますAWS サポート
。詳細については、「サポートケースの作成」を参照してください。いただいたフィードバックを元に、サービス改善と将来的な開発を行います。
エピック
| タスク | 説明 | 必要なスキル |
|---|---|---|
バケットを作成します。 | AWS Transform が有効になっているのと同じ AWS アカウント およびリージョンに Amazon S3 バケットを作成します。このバケットを使用してメインフレームアプリケーションコードを保存し、このバケット AWS Transform を使用して、生成されたドキュメント、リファクタリングされたコード、および変換に関連付けられたその他のファイルを保存します。手順については、Amazon S3 ドキュメントの「バケットの作成」を参照してください。 | AWS 全般 |
サンプルメインフレームアプリケーションを準備します。 |
| アプリ開発者、DevOps エンジニア |
| タスク | 説明 | 必要なスキル |
|---|---|---|
IAM アイデンティティセンターにユーザーを追加します。 | IAM アイデンティティセンターに見込みユーザーを追加します。 AWS Transform ドキュメントの「IAM Identity Center でのユーザーの追加」の手順に従います。 | AWS 管理者 |
ユーザーを有効に AWS Transform して追加します。 |
| AWS 管理者 |
AWS Transform ウェブアプリケーションへのユーザーアクセスを設定します。 | 各ユーザーは、 AWS Transform ウェブアプリケーションにアクセスするための招待を受け入れる必要があります。 AWS Transform ドキュメントの「招待を受け入れる」の手順に従います。 | アプリ開発者、アプリオーナー |
AWS Transform ウェブアプリケーションにログインします。 | 「 にサインインする AWS Transform」の手順に従います。 | アプリ開発者、アプリオーナー |
ワークスペースをセットアップします。 | ユーザーが AWS Transform ウェブアプリケーションでコラボレーションできるワークスペースを設定します。 AWS Transform ドキュメントの「ワークスペースのセットアップ」の手順に従います。 | AWS 管理者 |
| タスク | 説明 | 必要なスキル |
|---|---|---|
変換ジョブを作成します。 | CardDemo メインフレームアプリケーションをモダナイズする変換ジョブを作成します。手順については、 AWS Transform ドキュメントの「ジョブの作成と開始」を参照してください。 AWS Transform チャットインターフェイスで目標を設定するように求められたら、メインフレームモダナイゼーションの実行 (IBM z/OS から へ AWS) を選択し、コードの分析、技術ドキュメントの生成、ビジネスロジック、コードの分解、移行シーケンスの計画、コードを Java に変換を選択します。 | アプリ開発者、アプリオーナー |
コネクタをセットアップします。 | CardDemo メインフレームアプリケーションを含む Amazon S3 バケットへのコネクタを構築します。このコネクタにより AWS Transform 、 はバケット内のリソースにアクセスし、連続する変換関数を実行できます。手順については、 AWS Transform ドキュメントの「コネクタのセットアップ」を参照してください。 | AWS 管理者 |
コード分析を実行します。 |
詳細については、 AWS Transform ドキュメントの「コード分析」を参照してください。 | アプリ開発者、アプリオーナー |
技術ドキュメントを生成します。 |
詳細については、 ドキュメントの「技術ドキュメントの生成」を参照してください。 AWS Transform | アプリ開発者、アプリオーナー |
ビジネスロジックを抽出します。 |
詳細については、 AWS Transform ドキュメントの「Extract business logic」を参照してください。 | アプリ開発者、アプリオーナー |
コードを分解します。 |
分解とシードの詳細については、 AWS Transform ドキュメントの「分解」を参照してください。 | アプリ開発者、アプリオーナー |
移行ウェーブを計画する | CardDemo アプリケーションの移行ウェーブを計画します。「 AWS Transform ドキュメント」の「移行ウェーブ計画」の指示に従って、ウェーブ計画を確認して編集します。 | アプリ開発者、アプリオーナー |
コードをリファクタリングします。 |
| アプリ開発者、アプリオーナー |
(オプション) Reforge を使用して Java コードを改善します。 |
詳細については、 AWS Transform ドキュメントの「リフォージ」を参照してください。 | アプリ開発者、アプリオーナー |
デプロイを合理化します。 | AWS Transform は、CloudFormation、 AWS CDK、または Terraform の infrastructure as code (IaC) テンプレートを提供できます。これらのテンプレートは、コンピューティング、データベース、ストレージ、セキュリティリソースなどのコアコンポーネントをデプロイするのに役立ちます。
詳細については、 AWS Transform ドキュメントの「デプロイ機能」を参照してください。 | アプリ開発者、アプリオーナー |
トラブルシューティング
| 問題 | ソリューション |
|---|---|
AWS Transform ウェブアプリケーションでソースコードまたは生成されたドキュメントを表示することはできません。 | Amazon S3 バケットの CORS アクセス許可にポリシーを追加して、 をオリジン AWS Transform として許可します。詳細については、 AWS Transform ドキュメントのS3 バケット CORS アクセス許可 |
関連リソース
AWS ドキュメント
メインフレームアプリケーションの変換 (AWS Transform ドキュメント)
その他の AWS リソース
動画とチュートリアル
注記
AWS Transform は、以前はメインフレームの Amazon Q Developer 変換と呼ばれていました。