を使用して CardDemo メインフレームアプリケーションをモダナイズする AWS Transform - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用して CardDemo メインフレームアプリケーションをモダナイズする AWS Transform

アマゾン ウェブ サービス、サントッシュ・クマール・シンとチェリル・デュ・プレズ

概要

AWS Transform は、メインフレームアプリケーションのモダナイゼーションを加速するように設計されています。生成 AI を使用してメインフレームのモダナイゼーションプロセスを合理化します。レガシーコード分析、メインフレームドキュメント、ビジネスルールの抽出、モノリシックアプリケーションのビジネスドメインへの分解、コードリファクタリングなどの複雑なタスクを自動化します。アプリケーション分析や移行シーケンス計画などの複雑なタスクを自動化することで、モダナイゼーションプロジェクトを加速します。モノリシックアプリケーションを分解する場合、 はメインフレームアプリケーション変換 AWS Transform をインテリジェントにシーケンスします。これにより、ビジネス機能を並行して変換できます。 AWS Transform は意思決定を加速し、運用の俊敏性と移行効率を向上させることができます。

このパターンでは、オープンソースのメインフレームアプリケーションのサンプルである CardDemo AWS Transform を使用して、 のメインフレームモダナイゼーション機能をテストするのに役立つstep-by-stepの手順を示します。

前提条件と制限

前提条件

  • アクティブな AWS アカウント

  • AWS IAM Identity Center、有効

  • 管理者が を有効にできるようにするアクセス許可 AWS Transform

  • 管理者が AWS Transform ウェブアプリケーションの Amazon Simple Storage Service (Amazon S3) 接続リクエストを受け入れることを許可するアクセス許可

機能制限

  • AWS Transform は一部の でのみ使用できます AWS リージョン。サポートされているリージョンの完全なリストについては、「 でサポートされているリージョン AWS Transform」を参照してください。

  • AWS Transform は、共通ビジネス指向言語 (COBOL) から Java へのコード分析、ドキュメント生成、ビジネスルールの抽出、分解、リファクタリングをサポートしています。詳細については、「機能と主要な機能」および「メインフレームアプリケーションの変換でサポートされているファイルタイプ」を参照してください。

  • のメインフレーム変換機能にはサービスクォータがあります AWS Transform。詳細については、「AWS Transformのクォータ」を参照してください。

  • 共有ワークスペースでコラボレーションするには、すべてのユーザーが、 AWS Transform ウェブアプリケーションのインスタンス AWS IAM Identity Center に関連付けられている の同じインスタンスの登録済みユーザーである必要があります。

  • Amazon S3 バケット と は、同じ AWS アカウント とリージョンにある AWS Transform 必要があります。

アーキテクチャ

次の図は、このパターンで設定したアーキテクチャを示しています。

AWS Transform を使用して、Amazon S3 バケットに保存されているメインフレームアプリケーションをモダナイズします。

この図表は、次のワークフローを示しています:

  1. AWS Transform はコネクタを使用して、Amazon S3 バケットに保存されている CardDemo メインフレームアプリケーションにアクセスします。

  2. AWS Transform は AWS IAM Identity Center を使用してユーザーアクセスと認証を管理します。システムは、認証、認可、暗号化、アクセス管理のためのセキュリティコントロールの複数のレイヤーを実装し、処理中のコードとアーティファクトを保護します。ユーザーはチャットインターフェイスを介して AWS Transform エージェントとやり取りします。特定のタスクに関する指示を AI エージェントに英語で提供できます。詳細については、 AWS Transform ドキュメントの「Human in the loop (HITL)」を参照してください。

  3. AI エージェントは、ユーザーの指示を解釈し、ジョブプランを作成し、ジョブを実行可能なタスクに分割して、自律的にアクションを実行します。ユーザーは変換を確認して承認できます。変換タスクには以下が含まれます。

    • コード分析 – ファイル名、ファイルタイプ、コード行、パスなどの詳細について、各ファイルのコードを AWS Transform 分析します。エージェントはソースコードを分析し、分類を実行し、依存関係マッピングを作成し、欠落しているアーティファクトを特定します。また、重複するコンポーネントも識別します。

    • ドキュメント生成 – メインフレームアプリケーションのドキュメント AWS Transform を生成します。コードを分析することで、レガシーシステムに存在するビジネスロジック、フロー、統合、依存関係の説明など、アプリケーションプログラムの詳細なドキュメントを自動的に作成できます。

    • ビジネスロジック抽出 – COBOL プログラム AWS Transform を分析してコアビジネスロジックを文書化し、基本的なビジネスロジックを理解するのに役立ちます。

    • コード分解 – プログラムとコンポーネント間の依存関係を考慮したドメインにコードを AWS Transform 分解します。同じドメイン内の関連ファイルとプログラムをグループ化すると、組織が改善され、より小さなコンポーネントに分割するときにアプリケーションの論理構造が保持されます。

    • 移行ウェーブ計画 – 分解フェーズで作成したドメインに基づいて、推奨されるモダナイゼーション順序で移行ウェーブ計画 AWS Transform を生成します。

    • コードリファクタリング – すべてのドメインファイルまたは選択したドメインファイルのコードを Java コードに AWS Transform リファクタリングします。このステップの目的は、アプリケーションの重要なビジネスロジックを維持しながら、モダナイズされたクラウド最適化 Java アプリケーションにリファクタリングすることです。

  4. AWS Transform は、リファクタリングされたコード、生成されたドキュメント、関連するアーティファクト、ランタイムライブラリを Amazon S3 バケットに保存します。以下の操作を行うことができます。

    • Amazon S3 バケットのランタイムフォルダにアクセスします。

    • AWS Transform ドキュメントの「モダナイズされたアプリケーションのリファクタリング後のビルドとデプロイ」に従って、アプリケーションをビルドおよびデプロイします。

    • チャットインターフェイスを使用して、サンプル AWS CloudFormation AWS Cloud Development Kit (AWS CDK)、または Hashicorp Terraform テンプレートをリクエストしてダウンロードします。これらのテンプレートは、リファクタリングされたアプリケーションをサポートするために必要な AWS リソースをデプロイするのに役立ちます。

    • リフォージを使用すると、大規模言語モデル (LLMs) を使用してリファクタリングされたコードの品質が向上します。リファクタリングエンジンは、COBOL を Java コードに変換しながら、COBOL の機能的同等性を維持します。リフォージは、変換後に使用できるオプションのステップです。このステップではLLMs を使用してネイティブ Java とよく似たコードを再構築します。これにより、読みやすさと保守性が向上します。Reforge は、コードを理解するのに役立つ人間が読めるコメントも追加し、最新のコーディングパターンとベストプラクティスを実装します。

ツール

AWS のサービス

  • AWS Transform はエージェント AI を使用して、.NET、メインフレーム、VMware ワークロードなどのレガシーワークロードのモダナイゼーションを加速します。

  • AWS IAM Identity Center を使用すると、 AWS アカウント およびクラウドアプリケーションへのシングルサインオン (SSO) アクセスを一元管理できます。

  • Amazon Simple Storage Service (Amazon S3) は、データ量にかかわらず、保存、保護、取得する上で役立つクラウドベースのオブジェクトストレージサービスです。

コードリポジトリ

オープンソースの AWS CardDemo メインフレームアプリケーションをサンプルアプリケーションとして使用して、メインフレームのモダナイゼーションを開始できます。

ベストプラクティス

  • 小規模から始める – メインフレームアプリケーションの AWS Transform 分析と変換方法を理解するために、小規模で複雑ではないコード (15,000~20,000 行のコード) から始めます。

  • 人間の専門知識と組み合わせる – 最適な結果を得るために人間の専門知識を適用しながら、アクセラレータ AWS Transform ーとして使用します。

  • レビューとテストを徹底する – 変換されたコードを注意深く確認し、包括的なテストを実行して、変換後の機能同等性を検証します。

  • フィードバックを提供する – 改善のためのフィードバックと提案を提供するには、 のフィードバックを送信するボタンを使用する AWS Management Console か、 でケースを作成しますAWS サポート。詳細については、「サポートケースの作成」を参照してください。入力は、サービスの強化と将来の開発に役立ちます。

エピック

タスク説明必要なスキル

バケットを作成します。

AWS Transform が有効になっているのと同じ AWS アカウント およびリージョンに Amazon S3 バケットを作成します。このバケットを使用してメインフレームアプリケーションコードを保存し、このバケット AWS Transform を使用して、生成されたドキュメント、リファクタリングされたコード、および変換に関連付けられたその他のファイルを保存します。手順については、Amazon S3 ドキュメントの「バケットの作成」を参照してください。

AWS 全般

サンプルメインフレームアプリケーションを準備します。

  1. 次のコマンドを入力して、CardDemo リポジトリをローカルワークステーションにクローンします。

    git clone https://github.com/aws-samples/aws-mainframe-modernization-carddemo.git

  2. という名前の新しいフォルダを作成しますcarddemo

  3. メインフレームソースコードを含む appフォルダを、クローンされたリポジトリから carddemoフォルダにコピーします。

  4. cardemo フォルダを ZIP ファイルに圧縮します。

  5. 作成した Amazon S3 バケットに ZIP ファイルをアップロードします。手順については、Amazon S3 ドキュメントの「オブジェクトのアップロード」を参照してください。

アプリ開発者、DevOps エンジニア
タスク説明必要なスキル

IAM Identity Center にユーザーを追加します。

IAM Identity Center に見込みユーザーを追加します。 AWS Transform ドキュメントの「IAM Identity Center でのユーザーの追加」の手順に従います。

AWS 管理者

ユーザーを有効に AWS Transform して追加します。

  1. 有効にします AWS Transform。「有効化 AWS Transform」の手順に従います。

  2. ユーザーを に追加します AWS Transform。「ユーザーの追加 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 管理者

コード分析を実行します。

  1. アセットの場所を指定ページで、アップロードした ZIP ファイルの Amazon S3 carddemo バケットパスを入力します。

  2. 承認と送信を選択します AWS Transform。コードの分析が開始されます。

  3. Worklog タブでステータスをモニタリングします。

  4. 分析が完了したら、左側のナビゲーションペインのコードの分析で、コード分析結果の表示を選択します。

  5. (オプション) ダウンロードを選択して、完全なアセットリスト、欠落しているソースコード、依存関係ファイルをダウンロードします。

詳細については、 AWS Transform ドキュメントの「コード分析」を参照してください。

アプリ開発者、アプリオーナー

技術ドキュメントを生成します。

  1. 左側のナビゲーションペインの「技術ドキュメントの生成」で、「ファイルの選択」を選択し、設定を行います

  2. COBOL または JCL を展開し、1 つ以上のファイルを選択します。

  3. ドキュメントの詳細レベルを選択します。

    • 概要 – スコープ内の各ファイルの概要を示します。また、 は各ファイルの 1 行の概要を提供します。

    • 詳細な機能仕様 – メインフレームアプリケーション変換スコープ内の各ファイルの包括的な詳細を提供します。詳細には、ロジックとフロー、特定されたビジネスルール、データフロー、依存関係、入出力処理、およびさまざまなトランザクションの詳細が含まれます。

  4. 送信先 AWS Transformを選択します。

  5. Worklog タブで進行状況をモニタリングします。

    注記

    ドキュメントの生成時間は、ファイル数とコード行に応じて数分から数時間まで異なります。

  6. 完了したら、ドキュメント結果の確認を選択します。

  7. ウェブアプリケーションから生成されたドキュメントにアクセスするか、ダウンロードします。生成されたドキュメントは Amazon S3 バケットにも保存されます。

  8. チャットインターフェイスで特定の質問をして、生成されたドキュメントを調べます。たとえば、CBACT01C の機能を教えてください」と言うことができます。

詳細については、 ドキュメントの「技術ドキュメントの生成」を参照してください。 AWS Transform

アプリ開発者、アプリオーナー

ビジネスロジックを抽出します。

  1. 左側のナビゲーションペインで、Extract business logic を展開し、Select files for business logic extraction を選択します。

  2. COBOL または JCL を展開し、1 つ以上のファイルを選択します。

  3. 送信先 AWS Transformを選択します。

  4. Worklog タブで進行状況をモニタリングします。

    注記

    ビジネスロジックの抽出時間は、ファイル数とコード行に応じて数分から数時間まで異なります。

  5. 抽出が完了したら、ビジネスロジック抽出結果の確認を選択します。

  6. COBOL または JCL ファイルを選択し、表示を選択します。

  7. フロー図と機能ルールの範囲を変更して、サポートコードを含むさまざまなレベルのフローチャートを確認します。

  8. (オプション) Amazon S3 バケットに JSON 形式で保存されている、生成されたビジネスロジックを確認します。

詳細については、 AWS Transform ドキュメントの「Extract business logic」を参照してください。

アプリ開発者、アプリオーナー

コードを分解します。

  1. 左側のナビゲーションペインで、コードを分解を展開し、ドメインに分解を選択します。

  2. Actions リストで、Create domain を選択します。

  3. などの新しいドメインの名前を入力しますBill payment

  4. (オプション) 説明を入力します。

  5. ファイルの検索バーで、 を検索しCB00、 ファイルを選択します。

  6. シードとしてマークを選択します。

  7. シードフラグが「いいえ」から「はい」に変わることを確認します。

  8. [作成] を選択します。

  9. [保存] を選択します。

  10. 分解を選択します。

  11. ドメイン名を選択して分解出力を確認します。

  12. 分解が完了したら、送信先 AWS Transformを選択します。

分解とシードの詳細については、 AWS Transform ドキュメントの「分解」を参照してください。

アプリ開発者、アプリオーナー

移行ウェーブを計画します。

CardDemo アプリケーションの移行ウェーブを計画します。「 AWS Transform ドキュメント」の「移行ウェーブ計画」の指示に従って、ウェーブ計画を確認して編集します。

アプリ開発者、アプリオーナー

コードをリファクタリングします。

  1. CardDemo メインフレームアプリケーションを、すべてまたは選択したドメインファイルの Java コードにリファクタリングします。 AWS Transform ドキュメントの「リファクタリングコード」の手順に従います。

  2. リファクタリングプロセスが完了したら、モダナイズされた Java アプリケーションを構築してデプロイします。 AWS Transform ドキュメントのモダナイズされたアプリケーションのリファクタリング後のビルドとデプロイの手順に従います。

アプリ開発者、アプリオーナー

(オプション) Reforge を使用して Java コードを改善します。

  1. 新しいジョブを作成し、 の目的を入力しますReforge the code

  2. モダナイズされたプロジェクトの を入力します AWS Transform。このプロジェクトは Amazon S3 バケットにある必要があります。

  3. どのサービスクラスを再フォージするかを指定する Java クラスリストを入力します。

  4. Amazon S3 バケットで生成された出力を確認します。

詳細については、 AWS Transform ドキュメントの「リフォージ」を参照してください。

アプリ開発者、アプリオーナー

デプロイを合理化します。

AWS Transform は、CloudFormation、 AWS CDK、または Terraform の infrastructure as code (IaC) テンプレートを提供できます。これらのテンプレートは、コンピューティング、データベース、ストレージ、セキュリティリソースなどのコアコンポーネントをデプロイするのに役立ちます。

  1. AWS Transform チャットインターフェイスで、 を入力してテンプレートをリクエストします。ここでShare the mainframe refactor <service> templates<service>はサポートされている IaC サービスの 1 つです。

  2. 任意のサービスを使用してテンプレートをデプロイします。たとえば、次のリソースを参照してください。

詳細については、 AWS Transform ドキュメントの「デプロイ機能」を参照してください。

アプリ開発者、アプリオーナー

トラブルシューティング

問題ソリューション

AWS Transform ウェブアプリケーションでソースコードまたは生成されたドキュメントを表示できません。

Amazon S3 バケットの CORS アクセス許可にポリシーを追加して、 をオリジン AWS Transform として許可します。詳細については、 AWS Transform ドキュメントのS3 バケット CORS アクセス許可」を参照してください。

関連リソース

AWS ドキュメント

その他の AWS リソース

動画とチュートリアル

注記

AWS Transform は、以前はメインフレームの Amazon Q Developer 変換と呼ばれていました。