

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

# を使用して CardDemo メインフレームアプリケーションをモダナイズする AWS Transform
<a name="modernize-carddemo-mainframe-app"></a>

*Amazon Web Services、Santosh Kumar Singh、Cheryl du Preez*

## 概要
<a name="modernize-carddemo-mainframe-app-summary"></a>

[AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html) は、メインフレームアプリケーションのモダナイズの迅速化を目的に設計されています。生成 AI を使用することでメインフレームのモダナイズプロセスを合理化します。レガシーコード分析、メインフレームドキュメント、ビジネスルールの抽出、モノリシックアプリケーションのビジネスドメインへの分解、コードリファクタリングなどの複雑なタスクを自動化します。アプリケーション分析や移行シーケンス計画などの複雑なタスクを自動化することで、モダナイズプロジェクトを迅速に実行します。モノリシックアプリケーションを分解する場合、 はメインフレームアプリケーション変換 AWS Transform をインテリジェントにシーケンスします。これにより、ビジネス機能を並行して 変換できます。 AWS Transform は意思決定を加速し、運用の俊敏性と移行効率を向上させることができます。

このパターンでは、オープンソースのメインフレームアプリケーションのサンプルである [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo) AWS Transform を使用して、 のメインフレームモダナイゼーション機能をテストするのに役立つstep-by-stepの手順を示します。

## 前提条件と制限
<a name="modernize-carddemo-mainframe-app-prereqs"></a>

**前提条件**
+ アクティブな AWS アカウント
+ [有効な](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-identity-center.html)AWS IAM アイデンティティセンター
+ 管理者が を有効にできるようにする[アクセス許可](https://docs.aws.amazon.com/transform/latest/userguide/security_iam_id-based-policy-examples.html#id-based-policy-examples-admin-enable-transform) AWS Transform
+ 管理者が AWS Transform ウェブアプリケーションの Amazon Simple Storage Service (Amazon S3) 接続リクエストを受け入れることを許可する[アクセス許可](https://docs.aws.amazon.com/transform/latest/userguide/security_iam_id-based-policy-examples.html#id-based-policy-examples-admin-connector) 

**制限事項**
+ AWS Transform は一部の でのみ使用できます AWS リージョン。対応リージョンのリスト全文は「[Supported Regions for AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/regions.html)」よりご確認ください。
+ AWS Transform は、共通ビジネス指向言語 (COBOL) から Java へのコード分析、ドキュメント生成、ビジネスルールの抽出、分解、リファクタリングをサポートしています。詳しくは「[Capabilities and key features](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe.html#transform-app-mainframe-features)」および「[Supported file types for transformation of mainframe applications](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe.html#transform-app-mainframe-supported-files)」をご確認ください。
+  AWS Transformのメインフレーム変換機能では Service Quota があります。詳細については、「[AWS Transformのクォータ](https://docs.aws.amazon.com/transform/latest/userguide/transform-limits.html)」を参照してください。
+ 共有ワークスペースでコラボレーションするには、すべてのユーザーが、 AWS Transform ウェブアプリケーションのインスタンス AWS IAM アイデンティティセンター に関連付けられている の同じインスタンスの登録済みユーザーである必要があります。
+ Amazon S3 バケット と は、同じ AWS アカウント とリージョンにある AWS Transform 必要があります。

## アーキテクチャ
<a name="modernize-carddemo-mainframe-app-architecture"></a>

このパターンで構築するアーキテクチャを次の図に示します。

![\[AWS Transform を使用して、Amazon S3 バケットに保存されているメインフレームアプリケーションをモダナイズします。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/0e539474-b733-452d-b0fb-6b3f4cbd5075/images/75be6d78-5b43-448c-ad07-bf74b9ae14ad.png)


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

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

1. AWS Transform は AWS IAM アイデンティティセンター を使用してユーザーアクセスと認証を管理します。システムは、認証、認可、暗号化、アクセス管理のための複数のセキュリティコントロールを実行し、処理中のコードとアーティファクトを保護します。ユーザーはチャットインターフェイスを介して AWS Transform エージェントとやり取りします。特定のタスクに関する指示を AI エージェントに英語で提供できます。詳細については、 AWS Transform ドキュメントの「[Human in the loop (HITL)](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe.html#transform-app-mainframe-hitl)」を参照してください。

1. AI エージェントは、ユーザーの指示を解釈し、ジョブプランを作成し、ジョブを実行可能なタスクに分割して、自律的にアクションを実行します。ユーザーは変換を確認して承認できます。変換タスクには以下が含まれます。
   + **コード分析** – ファイル名、ファイルタイプ、コード行、パスなどの詳細について、各ファイルのコードを AWS Transform 分析します。エージェントはソースコードを分析し、分類の実行、依存関係マッピングの作成、欠落しているアーティファクトの特定を行います。また、重複するコンポーネントも識別します。
   + **ドキュメント生成** – メインフレームアプリケーションのドキュメント AWS Transform を生成します。コードを分析することで、レガシーシステムに存在するビジネスロジック、フロー、統合、依存関係の説明など、アプリケーションプログラムの詳細なドキュメントを自動的に作成できます。
   + **ビジネスロジック抽出** – COBOL プログラム AWS Transform を分析してコアビジネスロジックを文書化し、基本的なビジネスロジックを理解するのに役立ちます。
   + **コード分解** – プログラムとコンポーネント間の依存関係を考慮したドメインにコードを AWS Transform 分解します。同じドメイン内で関連ファイルとプログラムをグループ化すると、組織が改善され、より小さなコンポーネントに分割するときにアプリケーションの論理構造が保持されます。
   + **移行ウェーブ計画** – 分解フェーズで作成したドメインに基づいて、推奨されるモダナイゼーション順序で移行ウェーブ計画 AWS Transform を生成します。
   + **コードリファクタリング** – すべてのドメインファイルまたは選択したドメインファイルのコードを Java コードに AWS Transform リファクタリングします。この動作は、アプリケーションの重要なビジネスロジックを維持しながら、モダナイズされたクラウド最適化 Java アプリケーションにリファクタリングすることを目的としています。

1. AWS Transform は、リファクタリングされたコード、生成されたドキュメント、関連するアーティファクト、ランタイムライブラリを Amazon S3 バケットに保存します。以下を行うことができます。
   + Amazon S3 バケットのランタイムフォルダにアクセスします。
   +  AWS Transform ドキュメントの「モ[ダナイズされたアプリケーションのリファクタリング後のビルドとデプロイ」に従って、アプリケーションを](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow-build-deploy.html)ビルドおよびデプロイします。
   + チャットインターフェイスを使用して、サンプル AWS CloudFormation AWS Cloud Development Kit (AWS CDK)、または Hashicorp Terraform テンプレートをリクエストしてダウンロードします。これらのテンプレートは、リファクタリングされたアプリケーションをサポートするために必要な AWS リソースをデプロイするのに役立ちます。
   + [リフォージ](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-refactor-code-reforge)を使用すると、大規模言語モデル (LLM) を利用してリファクタリング済みのコード品質が向上します。リファクタリングエンジンは、COBOL を Java コードに変換しながら、COBOL の機能的同等性を維持します。リフォージは、変換後に実行できるオプション手順です。このステップでは LLM を使用してネイティブ Java とよく似たコードを再構築します。これにより、可読性と保守性が向上します。リフォージは、コードの理解に役立つ人間が読めるコメントを追加し、最新のコーディングパターンとベストプラクティスを実行します。

## ツール
<a name="modernize-carddemo-mainframe-app-tools"></a>

**AWS のサービス**
+ [AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html) はエージェンティック AI を使用して、.NET、メインフレーム、VMware ワークロードなどのレガシーワークロードのモダナイズを加速します。
+ [AWS IAM アイデンティティセンター](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) を使用すると、 AWS アカウント およびクラウドアプリケーションへのシングルサインオン (SSO) アクセスを一元管理できます。
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) は、あらゆる量のデータを保存、保護、取得できるクラウドベースのオブジェクトストレージサービスです。

**コードリポジトリ**

オープンソースの AWS [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo) メインフレームアプリケーションをサンプルアプリケーションとして使用して、メインフレームのモダナイゼーションを開始できます。

## ベストプラクティス
<a name="modernize-carddemo-mainframe-app-best-practices"></a>
+ **小規模から始める** – メインフレームアプリケーションの AWS Transform 分析と変換方法を理解するために、小規模で複雑ではないコード (15,000～20,000 行のコード) から始めます。
+ **人間の専門知識と組み合わせる** – 人間の専門知識を適用して最適な結果を得ると同時に、アクセラレータ AWS Transform ーとして使用します。
+ **レビューとテストを徹底する** – 変換されたコードを注意深く確認し、包括的なテストを実行して、変換後の機能同等性を検証します。
+ **フィードバックを提供する** – 改善のためのフィードバックと提案を提供するには、 の**フィードバックを送信する**ボタンを使用する AWS マネジメントコンソール か、 でケースを作成します[AWS サポート](https://support.console.aws.amazon.com/)。詳細については、「[サポートケースの作成](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html)」を参照してください。いただいたフィードバックを元に、サービス改善と将来的な開発を行います。

## エピック
<a name="modernize-carddemo-mainframe-app-epics"></a>

### メインフレームアプリケーションを準備する
<a name="prepare-the-mainframe-application"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| バケットを作成します。 |  AWS Transform が有効になっているのと同じ AWS アカウント およびリージョンに Amazon S3 バケットを作成します。このバケットを使用してメインフレームアプリケーションコードを保存し、このバケット AWS Transform を使用して、生成されたドキュメント、リファクタリングされたコード、および変換に関連付けられたその他のファイルを保存します。手順については、Amazon S3 ドキュメントの「[バケットの作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)」を参照してください。 | AWS 全般 | 
| サンプルメインフレームアプリケーションを準備します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html) | アプリ開発者、DevOps エンジニア | 

### IAM Identity Center と を設定する AWS Transform
<a name="configure-sso-and-trn"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| IAM アイデンティティセンターにユーザーを追加します。 | IAM アイデンティティセンターに見込みユーザーを追加します。 AWS Transform ドキュメントの[「IAM Identity Center でのユーザーの追加](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-management.html#transform-add-idc-users)」の手順に従います。 | AWS 管理者 | 
| ユーザーを有効に AWS Transform して追加します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html) | AWS 管理者 | 
|  AWS Transform ウェブアプリケーションへのユーザーアクセスを設定します。 |  AWS Transform ウェブアプリケーションにアクセスするには、各ユーザーが招待を受け入れる必要があります。 AWS Transform ドキュメントの[「招待を受け入れる](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-onboarding.html#transform-user-invitation)」の手順に従います。 | アプリ開発者、アプリオーナー | 
|  AWS Transform ウェブアプリケーションにログインします。 | [「 にサインインする AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-onboarding.html#transform-user-signin)」の手順に従います。 | アプリ開発者、アプリオーナー | 
| ワークスペースをセットアップします。 | ユーザーが AWS Transform ウェブアプリケーションでコラボレーションできるワークスペースを設定します。 AWS Transform ドキュメントの[「プロジェクトを開始する](https://docs.aws.amazon.com/transform/latest/userguide/transform-environment.html#start-workflow)」の手順に従います。 | AWS 管理者 | 

### メインフレームアプリケーションの変換
<a name="transform-the-mainframe-application"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| 変換ジョブを作成します。 | CardDemo メインフレームアプリケーションをモダナイズする変換ジョブを作成します。手順については、 AWS Transform ドキュメント[の「ジョブの作成と開始](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-start-job)」を参照してください。 AWS Transform チャットインターフェイスで目標を設定するように求められたら、**メインフレームのモダナイゼーション (IBM z/OS から へ AWS) を実行し**、**コードの分析、技術ドキュメントの生成、ビジネスロジック、コードの分解、移行シーケンスの計画、コードを Java に変換を選択します**。 | アプリ開発者、アプリオーナー | 
| コネクタをセットアップします。 | CardDemo メインフレームアプリケーションを含む Amazon S3 バケットへのコネクタを構築します。このコネクタにより AWS Transform 、 はバケット内のリソースにアクセスし、連続する変換関数を実行できます。手順については、 AWS Transform ドキュメント[の「コネクタのセットアップ](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-setup-connector)」を参照してください。 | AWS 管理者 | 
| コード分析を実行します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)詳細については、 AWS Transform ドキュメントの[「コード分析](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-code-analysis)」を参照してください。 | アプリ開発者、アプリオーナー | 
| 技術ドキュメントを生成します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)詳細については、 [ドキュメントの「技術ドキュメントの生成](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-generate-documentation)」を参照してください。 AWS Transform  | アプリ開発者、アプリオーナー | 
| ビジネスロジックを抽出します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)詳細については、 AWS Transform ドキュメントの[「Extract business logic](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-extract-business-logic)」を参照してください。 | アプリ開発者、アプリオーナー | 
| コードを分解します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)分解とシードの詳細については、 AWS Transform ドキュメントの[「分解](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-decomposition)」を参照してください。 | アプリ開発者、アプリオーナー | 
| 移行ウェーブを計画する | CardDemo アプリケーションの移行ウェーブを計画します。「 AWS Transform ドキュメント」の[「移行ウェーブ計画](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-wave-planning)」の指示に従って、ウェーブ計画を確認して編集します。 | アプリ開発者、アプリオーナー | 
| コードをリファクタリングします。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html) | アプリ開発者、アプリオーナー | 
| (オプション) Reforge を使用して Java コードを改善します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)詳細については、 AWS Transform ドキュメントの[「リフォージ](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-refactor-code-reforge)」を参照してください。 | アプリ開発者、アプリオーナー | 
| デプロイを合理化します。 | AWS Transform は、CloudFormation、 AWS CDK、または Terraform の infrastructure as code (IaC) テンプレートを提供できます。これらのテンプレートは、コンピューティング、データベース、ストレージ、セキュリティリソースなどのコアコンポーネントをデプロイするのに役立ちます。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)詳細については、 AWS Transform ドキュメントの[「デプロイ機能](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-features-deployment)」を参照してください。 | アプリ開発者、アプリオーナー | 

## トラブルシューティング
<a name="modernize-carddemo-mainframe-app-troubleshooting"></a>


| 問題 | ソリューション | 
| --- | --- | 
|  AWS Transform ウェブアプリケーションでソースコードまたは生成されたドキュメントを表示できません。 | Amazon S3 バケットの CORS アクセス許可にポリシーを追加して、 をオリジン AWS Transform として許可します。詳細については、 AWS Transform ドキュメント[のS3 バケット CORS アクセス許可](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-setup-connector-s3)」を参照してください。 | 

## 関連リソース
<a name="modernize-carddemo-mainframe-app-resources"></a>

**AWS ドキュメント**
+ [メインフレームアプリケーションの変換](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html) (AWS Transform ドキュメント)

**その他の AWS リソース**
+ [で AI エージェントを使用して Mainframe Modernization ジャーニーを加速する AWS Transform](https://aws.amazon.com/blogs/migration-and-modernization/accelerate-your-mainframe-modernization-journey-using-ai-agents-with-aws-transform/) (AWS ブログ記事)
+ [AWS Transform よくある質問](https://aws.amazon.com/transform/faq/)
+ [AWS IAM アイデンティティセンター よくある質問](https://aws.amazon.com/iam/identity-center/faqs/)

**動画とチュートリアル**
+ [Amazon Q Developer の概要: 変換](https://explore.skillbuilder.aws/learn/courses/21893/aws-flash-introduction-to-amazon-q-developer-transform) (AWS スキルビルダー)
+ [AWS re:Invent 2024 - Amazon Q Developer を使用してメインフレームアプリケーションをより迅速にモダナイズ](https://www.youtube.com/watch?v=pSi0XtYfY4o)する (YouTube)
+ [AWS re:Invent 2024 - 移行とモダナイゼーションを自動化してトランスフォーメーションを加速する](https://www.youtube.com/watch?v=9FjxnEoH5wg) (YouTube)
+ [AWS re:Invent 2024 - トヨタが gen AI でイノベーションを推進し、運用効率を高める](https://www.youtube.com/watch?v=_NXc1MJenw4) (YouTube)

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