View a markdown version of this page

メインフレームアプリケーションの変換 - AWS 変換

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

メインフレームアプリケーションの変換

AWS トランスフォームは、メインフレームのモダナイゼーションアプリケーションのトランスフォーメーションを加速します。このトピックでは、使用可能な機能について説明します。

前提条件: S3 でプロジェクト入力を準備する

AWS 変換は、複雑なメインフレームコードベースを処理できます。コードベースを使用するには、S3 ロケーションにすべてのアセットがあることを確認してください。

主要なプロジェクト入力:

  • ソースコード: メインフレームのソースコードファイルを S3 にアップロードする必要があります。これには、COBOL プログラム、JCL スクリプト、コピーブック、およびその他の関連するソースファイルが含まれます。

  • データファイル: メインフレームアプリケーションが使用する VSAM ファイルやその他のデータファイルがある場合は、S3 にアップロードする必要があります。

  • 設定ファイル: メインフレーム環境に固有の設定ファイルを含めます。

その他のプロジェクト入力

  • System Management Facility (SMF) レコード: 該当する場合は、ソースコードが保存されている S3 バケットの新しいフォルダに SMF レコードをアップロードします。これらのレコードは .zip ファイル形式である必要があります。

  • フォーマット: 技術ドキュメントの生成では、オプションの 設定ファイルを活用して、ヘッダー、フッター、ロゴ、カスタマイズされた情報など、必要な形式と標準に沿った PDF ドキュメントを生成できます。

  • 用語集: AWS Transform AWS Transform は、Generative AI による自動化を活用して、ドキュメントの生成とビジネスルールの抽出を行います。zip ファイルのルートディレクトリに重要な略語と用語に関する情報を含む用語集 CSV ファイルを含めると、生成されたドキュメントの品質が向上します。

  • テストデータ: 利用可能な場合は、モダナイズされたアプリケーションの検証に使用できるテストデータセットをアップロードします。このデータは、ソースコードが保存されている S3 バケットの新しいフォルダに保存する必要があります。

プロジェクト入力の詳細については、こちらを参照してください。

サインインしてジョブを作成する

AWS Transform ウェブエクスペリエンスにサインインするには、ドキュメントの AWS 変換の開始方法セクションのすべての手順に従ってください。

ジョブを作成して開始するには、「プロジェクトを開始する」のステップに従います。

ワークスペースの作成: ジョブ、共同作業者、および関連するアーティファクトが保存されるワークスペースに名前を付け、記述します。

ジョブの作成: 事前設定されたジョブプランから選択してジョブを作成するか、サポートされている機能のリストから選択して目標に基づいてジョブプランをカスタマイズします。

重要

AWS 適切なアクセス許可がない場合、変換はオペレーションを拒否します。たとえば、寄稿者はメインフレームアプリケーションのジョブ変換をキャンセルしたり、ジョブを削除したりすることはできません。管理者のみがこれらの機能を実行できます。

ジョブを作成するときは、以下の機能から選択できますが、プロジェクトのソースコードの場所であるため、キックオフステップは常に必要です。ワークスペースの最初のジョブ設定では、Amazon S3 バケットへのコネクタを設定する必要があります。

変換の進行状況の追跡

プロセス全体の変換の進行状況は、次の 2 つの方法で追跡できます。

  • 作業ログ – AWS 変換が実行するアクションと、人間による入力リクエスト、およびそれらのリクエストに対する応答の詳細なログを提供します。

  • ダッシュボード – メインフレームアプリケーション変換の概要を示します。変換されたジョブの数、適用された変換、メインフレームアプリケーションの変換完了までの推定時間に関するメトリクスが表示されます。また、ファイルタイプ別のコード行、各ファイルタイプ別に生成されたドキュメント、分解されたコード、移行計画など、各ステップの詳細を確認することもできます。

コネクタのセットアップ

AWS Transform はコネクタを使用して、メインフレームのモダナイゼーション関数に必要なアカウントのリソースにアクセスします。コネクタは、ワークスペースで最初に実行するジョブで自動的に設定されます。選択したジョブプランに応じて、 AWS Transform はコネクタを作成するようにガイドします。

メインフレームの再考コネクタ

メインフレーム再設計コネクタは、評価ワークフローと再設計ワークフローを実行するジョブ用です。S3 バケットを使用して変換リソースにアクセスして保存し、Amazon Neptune クラスターを使用して抽出されたアーティファクトを保存します。Neptune クラスターは、ジョブに関する抽出されたすべてのアーティファクトを保存する統合ナレッジグラフとして機能し、ナレッジグラフは AWS 変換チャットインターフェイスのすべての質問に回答します。

AWS Transform が Elastic Network Interface (ENI) を作成できる VPC に Amazon Neptune クラスターをデプロイします。 ENIs これらは、 AWS Transform が VPC 内の Neptune と安全に通信してデータをロードし、ナレッジグラフをクエリできるようにするネットワーク接続です。

AWS CloudFormation

メインフレームの再設計コネクタに必要なリソースを作成するには、次の CloudFormation テンプレートを使用することをお勧めします。 CloudFormation テンプレートの実行時にコネクタに使用する予定のものと同じ S3 バケットを使用します。 CloudFormation テンプレートの使用の詳細については、「 テンプレートの使用」を参照してください。

CloudFormation テンプレートをダウンロードするには、neptune-kg-setup.yaml を選択します。

テンプレートは次のパラメータを受け入れます。

  • BucketName – 必須。Neptune バルクローダーアクセスの S3 バケット名。Transform コネクタで使用する予定のものと同じ S3 AWS バケットを使用する必要があります。

  • KmsKeyId – オプション。Neptune 暗号化用の KMS キー。キー ID、ARN、エイリアス名、またはエイリアス ARN を受け入れます。省略した場合、デフォルトで AWS マネージドキーになります。

コネクタを設定するときは、次の詳細を指定します。

  • S3 バケット ARN

  • Neptune クラスター ARN

  • Neptune クラスターリソース ID

  • アプリケーションサブネット IDs

  • アプリケーションセキュリティグループ ID

  • Neptune S3 バルクローダーロール ARN

重要

CloudFormation テンプレートの出力タブには、コネクタの設定時に AWS 変換に提供する必要がある詳細が含まれています。

カスタム設定

既存の VPC または他のツールを使用して必要なインフラストラクチャを作成する場合は、環境が次の要件を満たしている必要があります。

Neptune クラスター
  • エンジンバージョン 1.4.5.1 以降の Amazon Neptune Serverless

    • IAM 認証が有効

    • ストレージ暗号化が有効 (AWS マネージドキーまたはカスタマーマネージド KMS キー)

  • サーバーレススケーリング設定 (推奨: 1~128 NCUs)

  • (推奨) 高可用性と読み取りパフォーマンスの向上のために、2 番目のアベイラビリティーゾーンのリードレプリカ

ネットワーク
  • DNS サポートと DNS ホスト名が有効になっている VPC

  • 別々のアベイラビリティーゾーンに少なくとも 2 つのサブネット。 AWS Transform は、これらのサブネットに ENIs を作成して Neptune クラスターにアクセスします。このクラスターは、同じサブネット内または専用サブネット内に存在できます。VPC エンドポイントとアプリケーション ENIs に対応するためにサブネットのサイズを /20 に設定します。

  • VPC インターフェイスエンドポイント (AWS PrivateLink) を介したサブネットから次の AWS サービスへのネットワーク接続。

    • AWS Transform Agents API – メインフレームモダナイゼーションジョブを調整します

    • Amazon Bedrock ランタイム – 分析と推論のための基盤モデルを呼び出します

    • Amazon Relational Database Service (Amazon RDS) – Neptune クラスター管理

    • Amazon Elastic Compute Cloud (Amazon EC2) – ENIsの管理

    • Amazon CloudWatch – AWS 変換オブザーバビリティのメトリクス

  • サブネットに関連付けられたルートテーブルにアタッチされた S3 ゲートウェイエンドポイント。 AWS Transform はこのエンドポイントを使用して、S3 バケットから Neptune クラスターにデータをロードします。

セキュリティグループ

セキュリティグループは、サブネットではなく ENIs にアタッチされます。 AWS Transform ENIs と Neptune が同じサブネットに存在する場合でも、別々のセキュリティグループがそれらの間のアクセスを制御します。

  • 以下を許可するセキュリティグループ ( AWS Transform によって作成された ENIs にアタッチ)。

    • Neptune セキュリティグループへのアウトバウンド TCP 8182

    • VPC エンドポイントに到達するためのアウトバウンド TCP 443

  • 以下を許可するセキュリティグループ (Neptune クラスターにアタッチ)。

    • アプリケーションセキュリティグループからのインバウンド TCP 8182

  • 以下を許可する VPC エンドポイントセキュリティグループ (インターフェイスエンドポイント ENIsにアタッチ)。

    • アプリケーションセキュリティグループからのインバウンド TCP 443

IAM
  • S3 バケットで s3:GetObjects3:ListBucket、および を付与rds.amazonaws.comする s3:GetBucketLocationの信頼ポリシーを持つ IAM ロール

  • ナレッジグラフデータを一括ロードするには、このロールを Neptune クラスターに関連付ける必要があります

次の図は、推奨されるアーキテクチャを示しています。

Neptune サブネット、アプリケーションサブネット、 AWS PrivateLink 接続、メインフレーム再設計コネクタ AWS のサービス統合を含むお客様の VPC を示すアーキテクチャ図。

S3 コネクタ

カスタムプランのジョブの場合、 AWS Transform は S3 コネクタを使用できます。S3 コネクタは、変換リソースにアクセスして保存する S3 バケットと、インデックス付き出力用の S3 ベクトルバケットを使用します。

重要

データはワークスペースの AWS 変換アーティファクトストアに保存および保持され、ジョブの実行にのみ使用されます。

S3 ベクトルバケットのオプション設定。

S3 ベクトルバケットが利用可能なリージョンでは、 AWS Transform はジョブ出力の検索可能なベクトルエンコードをアカウントのこの S3 ベクトルバケットに保存し、AI を活用した検索とチャットエクスペリエンスを提供します。データはこのジョブの外部では使用されず、モデルのトレーニングにも使用されません。これを有効にするには、S3 ベクトルバケットを作成して提供する必要があります。 AWS Transform は、このバケットへの書き込みに必要なアクセス許可を持つロールを自動的に作成してアタッチします。

S3 バケット CORS アクセス許可

コネクタを設定したら、次の CORS ポリシーを S3 バケットに追加して、 AWS 変換コンソールでアーティファクトを直接表示および比較できるようにします。このポリシーが正しく設定されていない場合、 AWS 変換のインライン表示またはファイル比較機能を使用できなくなる可能性があります。

[ { "AllowedHeaders": [], "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "https://*.transform.eu-central-1.on.aws", "https://*.transform.ap-south-1.on.aws", "https://*.transform.ap-northeast-1.on.aws", "https://*.transform.ap-northeast-2.on.aws", "https://*.transform.ap-southeast-2.on.aws", "https://*.transform.ca-central-1.on.aws", "https://*.transform.eu-west-2.on.aws", "https://*.transform.us-east-1.on.aws", "https://*.transform.sa-east-1.on.aws" ], "ExposeHeaders": [], "MaxAgeSeconds": 0 } ]

ジョブプランの評価と再考

評価と再考のジョブプランは、メインフレームアプリケーションをモダナイズするための事前定義されたワークフローです。コードベースを評価してビジネス機能を特定し、選択した機能を再考するという 2 つのフェーズをガイドします。代わりに個々の機能を選択するには、カスタムジョブプランを使用します。

評価

メインフレームのモダナイゼーションジャーニーは、通常、コンテンツを特定し、関係と依存関係を理解するためのコードベースの評価から始まります。この評価の後、モダナイズするソースコードの一部の分解と選択を開始できます。分解の境界は、ビジネス機能に基づいて決定されます。

ビジネス関数カタログは、コードベースを個別のビジネス関数に分解します。これは、各ビジネス関数を最初から最後までマッピングする決定論的なデータパスの基礎の上に構築されます。データパスは、ビジネストリガーからメインフレームコード内の最終書き込みまで、データが取るルートです。分析を 1 つのエントリポイントに制限するのではなく、システムはバッチジョブ、CICS トランザクション、およびそれらの共有データストアにまたがって、一貫した業務単位を特定します。

ビジネス機能とは、ビジネストリガーから始まり、測定可能なビジネス成果で終わる一連の作業です。 AWS Transform は、事業部門が行動できるビジネス機能のカタログを提供し、最初にモダナイズする内容について情報に基づいた意思決定を可能にします。

ビジネス機能を使用してコードベースを評価してモダナイズするメリット:

  • 完全な可視性 – バッチジョブ、オンライントランザクション、データストアがビジネスにとって意味のある機能にどのように接続するかを理解します。

  • 実用的な境界 — 特定された各ビジネス機能は、line-of-businessステークホルダーがモダナイゼーションの取り組みについてレビューし、優先順位を付けることができる自己完結型ユニットです。

  • コードから仕様までの一貫性 – ビジネス関数を定義するのと同じコードブロックを使用して仕様を生成し、翻訳レイヤーや調整は必要ありません。

  • 検出時間の短縮 – 自動検出は、数か月にわたる手動の部族知識インタビューを体系的で反復可能な分析に置き換えます。

チャットを通じて提供された評価の結果

チャットを通じて提供される評価の結果には、データパスの数、バッチトランザクションと CICS トランザクションに関して各関数が何にまたがるか、ビジネスの説明など、ビジネス関数のリストが含まれます。Amazon S3 バケットで生成されたアーティファクトへのリンクが提供され、チャットからアクセスすることもできます。2 つのアーティファクトが提供されます。ビジネス機能の詳細とビジネス機能の概要です。

  • ビジネス機能の概要 – ビジネス機能のリストと、コード内の要素が実行している関数の自然言語の説明を提供します。

  • ビジネス関数の詳細 – ソースコード間の関係を示すインタラクティブなグラフを提供します。

グラフを操作するには、要素を選択してその詳細を表示するか、要素を開いてその詳細を調べます。各ページには、そのレベルのすべての要素の概要と、以下を含む各コンポーネントを操作して詳細を学ぶためのグラフィカルインターフェイスがあります。

  • ビジネス機能 – どのビジネス機能が相互に接続されているかを示し、各ビジネス機能の概要を提供します。ビジネス機能を選択すると、次の情報が提供されます。

    • データパスの数

    • コードの行数

    • ビジネスの説明: コード内の要素が実行する関数を自然言語で記述するビジネス機能の概要。

    • インターフェイス: ビジネス関数内のデータ要素の関係 (交換や書き込みなど) について詳しく説明します。

  • ビジネス関数の詳細 – 単一のビジネス関数内のデータパス間の接続を示し、ビジネス関数の構成をより深く掘り下げることができます。要素を選択すると、その要素がビジネス関数全体でどのように接続されるかと、以下の詳細が表示されます。

    • データストア: データストアのライターとリーダー。

    • その他の要素: 自然言語で、データパス内で処理されるアクションと結果を記述する関連データパスの概要、プログラムのリスト、リーダーとライター。

  • データパス – 1 つのデータパスの詳細と、データパス内の要素の相互関係を示します。

    • 説明: データパス内で処理されるアクションと結果を自然言語で記述するデータパスの概要。

    • データパスの内容:

      • エントリポイント

      • reads

      • writes

      • プログラム

チャットを通じて、出力を調べて各ビジネス関数に含まれる要素を理解し、ビジネス関数グラフを通じて境界を調べることができます。

モダナイゼーションの境界を特定すると、チャットは再考するビジネス機能を選択するように求めます。1 つのビジネス機能または複数のビジネス機能を選択できます。 AWS Transform は、モダナイゼーションジャーニーを続行するために、選択した境界と必要な評価出力を再考フローに送信します。

最初のモダナイゼーションが完了したら、チャットを使用してモダナイズする追加のビジネス関数のセットを選択できます。

再考

再考フェーズでは、評価によって特定されたビジネス機能を 1 つまたはすべて選択し、モダナイゼーションに備えることができます。これにより、ビジネスロジックの抽出がトリガーされ、選択したビジネス機能の要件が生成されます。生成された要件は、フォワードエンジニアリングの主な入力であり、レガシーシステムの理解を、モダナイズされたアプリケーションが提供する必要があるものの正確な仕様に変換します。

ビジネスロジックを抽出する

1 つ以上のビジネス関数を選択すると、 AWS Transform は選択したビジネス関数のビジネスロジックの生成を開始します。抽出が完了すると、 AWS Transform はダウンストリーム用に結果を JSON 形式で Amazon S3 バケットに保存します。抽出の進行状況をモニタリングし、 AWS 変換コンソール内で直接問題を確認できます。

ビジネスロジックの抽出結果を確認するには
  1. 左側のナビゲーションペインで、ビジネスロジックの抽出ステップを選択して展開します。

  2. ステップの詳細から以下を表示します。

    • S3 バケットリンク: 抽出されたビジネスロジック結果が JSON 形式で保存される場所。

    • 問題: ビジネスロジック抽出プロセス中に発生した問題のリスト。

抽出中にファイルで問題が発生した場合、影響を受けるファイルごとに次の詳細が表示されます。

  • ファイル名: 問題が発生したファイルの名前。

  • ファイルタイプ: ファイルのタイプ (COBOL や JCL など)。

  • ファイルパス: アプリケーション内のファイルの場所。

  • ステータス: ファイルの抽出の現在のステータス。

  • 詳細: 発生した問題の説明。

注記

抽出ステップが完了すると、 AWS Transform は自動的に要件の生成を開始します。このプロセスを開始する前に、追加の入力は求められません。

要件の生成

ビジネスロジックの抽出が完了すると、Generate Requirements エージェントは抽出されたアーティファクト (コード分析、データ分析、ビジネスルール) を消費し、モダナイゼーション要件を生成します。これらの要件は、テクノロジーに依存しず、テスト可能な許容基準を含む正式な機能仕様です。 AWS Transform は、選択したビジネス機能ごとに 1 つのrequirements.mdファイルを生成し、出力を Amazon S3 バケットに保存します。出力の Amazon S3 の場所を表示するには、「要件の生成」ステップを選択します。

requirements.mdファイルは、次の部分に分かれています。

  • タイトル – ビジネス関数とそれが表すワークフローに名前を付けます。

  • グローバル前提条件 – 処理前および処理中にワークフロー全体で が当てはまる必要がある条件。設定可能な値はパラメータプレースホルダーとして表示されます。

  • 番号付きワークフローセクション – 各セクションは、ビジネス機能の個別のステージを表します。各セクションには以下が含まれています。

    • ロールとしての目標、ロールが実行するアクション、結果を示すユーザーストーリー

    • EARS (Easy Approach to Requirements Syntax) 形式の要件のリスト。それぞれに一意の識別子があります。

注記

2 番目のビジネス関数セットを選択すると、新しく選択した関数の再考ステップが再開されます。その後、コンソールには新しい選択の結果のみが表示されるため、以前のビジネス関数のビジネスルールの問題や、ビジネスロジックと要件の出力を保存する Amazon S3 リンクは表示されなくなります。以前の出力は失われません。アーティファクトタブまたは Amazon S3 バケットから引き続きアクセスできます。

変換アーティファクト間のトレーサビリティ

AWS 変換は、評価および再考ワークフロー全体で生成するアーティファクト間のトレーサビリティを維持します。トレーサビリティにより、抽出したビジネスルール、または要件を生成した元のソースコードに直接、各要件を追跡できます。

traceability.yaml ファイルを使用して、各ビジネス関数のすべてのトレーサビリティの詳細を表示できます。各ビジネスルールが要件にどのようにマッピングされるかについて説明します。

インタラクティブなトレーサビリティのために、VS Code および Open VSX 互換エディタで IDE プラグインを使用できます。詳細については、「 デベロッパーツール」を参照してください。

ジョブプランを再考する

モダナイゼーションの対象となり、再考する準備ができているアプリケーションの場合、スタンドアロンの再考ジョブを実行できます。このジョブは、コードとデータの分析、ビジネスロジックの抽出、ビジネスドメインの識別、各ビジネスドメインのモダナイゼーション要件の生成を行います。

カスタムジョブプラン

カスタムジョブプランでは、実行する機能を選択して、独自のモダナイゼーションワークフローを構築できます。これにより、含まれる機能を完全に制御できます。モダナイゼーションの目標に基づいて、次の機能から選択します。一部の機能は、最初に実行される他の機能によって異なります。たとえば、他のほとんどの機能にはコード分析が必要です。

コードを分析する

Amazon S3 バケットパスを AWS Transform と共有すると、ファイル名、ファイルタイプ、コード行、パスなどの詳細を含む各ファイルのコードが分析されます。

注記

分析コードの結果は、ジョブまたはワークスペースレベルのアーティファクトタブからダウンロードできます。ジョブレベルでは、左側のナビゲーションメニューの「Artifacts」オプションに移動し、「results」フォルダを開くか、ワークスペースレベルでジョブの名前を見つけ、「results」フォルダを開きます。これにより、手動分類ワークフローの分類ファイル、アセットリスト、依存関係 JSON ファイル、欠落しているファイルのリストを含む zip ファイルをダウンロードします。

ジョブプランで、左側のナビゲーションペインでコードの分析を選択して結果を表示します。コード分析の結果は、いくつかの方法で表示できます。

  • リストビュー – メインフレームに変換する Amazon S3 バケット内のすべてのファイル

  • ファイルタイプビュー – ファイルタイプごとに表示される Amazon S3 バケット内のすべてのファイル。サポートされているファイルタイプのリストについては、「サポートされているファイル」を参照してください。

  • フォルダビュー – フォルダ構造に表示される Amazon S3 バケット内のすべてのファイル。

ファイルの結果内で、 AWS Transform は選択したファイルビューに応じて次の情報を提供します。

  • 名前

  • ファイルタイプ

  • 総コード行数

  • ファイルパス

  • コメント行

  • 空の行

  • 有効なコード行

  • ファイルの数

  • 循環的複雑さ - 循環的複雑さは、プログラムのソースコードを通過する直線的に独立したパスの数を表します。 AWS 変換では、ファイルごとに循環的複雑さが表示されます。

欠落ファイル – メインフレームモダナイゼーションコード分析の欠落ファイル。これらのファイルは、Amazon S3 バケットのソース入力の一部として追加し、より適切でまとまりのある結果を得るために分析ステップを再実行することをお勧めします。

同一名 – AWS 変換では、同じ名前、場合によっては同じ特性 (コード行数など) を共有するファイルのリストが提供されます。一度に 2 つのファイルの内容の違いを比較することはできません。

重複 IDs – Cobol プログラムでは、プログラム ID フィールドはファイルの一意の識別子として機能します。この ID は、プロジェクト全体でプログラムを呼び出すために使用されるため、一意である必要があります。ただし、名前は異なるがプログラム ID が同じ COBOL ファイルを持つプロジェクトもあります。評価中にこれらのファイルのリストを取得すると、すべてのプログラム間の依存関係を理解するのに役立ちます。

注記

これは COBOL コードとファイルに固有です。

IDs が重複しているプログラムがある場合は、これらのファイルのプログラム IDs を変更して、COBOL コード内のそれぞれの一意の識別子を持つことをお勧めします。その後、ジョブを再実行して、より正確で包括的なコード分析結果を得ることができます。

重複IDs を解決することで、次のことが可能になります。

  • コードの明確性と保守性の向上

  • プログラム呼び出しでの潜在的な競合を減らす

  • 依存関係マッピングの精度を高める

  • 将来のモダナイゼーションの取り組みを簡素化する

コードベースの問題 – モダナイゼーションプロジェクトを続行する前に解決する必要がある、コードベース内で検出された潜在的な問題。これらの問題には、関連するステートメントを含む参照の欠落や、コード内のサポートされていないリンクが含まれる可能性があります。

分類の更新 – 手動再分類では、新しい分類で JSON ファイルをアップロードすることで、一括更新機能を使用してファイルを再分類できます。

重要

これは、 UNKNOWN および TXT ファイルでのみ使用できます。

再分類後、 AWS Transform は次の操作を行います。

  1. 分類結果を更新します。

  2. 新しいファイルタイプで依存関係分析を再実行します

  3. 影響を受けるすべての分析結果を更新します

注記

ファイルは、最初の分析ループが完了した後にのみ再分類できます。

インラインビューワーとファイルの比較

インラインビューワーは、メインフレームの AWS 変換機能の機能であり、2 つの主要な視覚化機能を提供します。

  • ファイルビュー: ジョブから選択したレガシーファイルのコンテンツを表示する

  • ファイル比較: 2 つのレガシーファイルのside-by-side比較する

入力ファイルの表示

コードを分析するステップでファイルを表示するには
  • 「コード分析結果を表示する」で、リストのチェックボックスを使用してファイルを選択します。

    アクションの表示ボタンを選択します (1 つの項目が選択されている場合に有効)。

    ファイルコンテンツは、ファイルビューコンポーネントの画面にレンダリングされます。

ファイルの比較

コードを分析するステップでファイルを比較するには
  1. 「コード分析結果の表示」で、リスト内のチェックボックスを使用して 2 つのファイルを選択します。

  2. 比較アクションボタンを選択します (2 つの項目が選択されている場合にのみ有効)。

  3. ファイルはファイル比較コンポーネントにside-by-side表示されます。

注記

ファイルを比較するために複数のファイルを選択することはできません。

重要

インラインビューワーまたはファイル比較に問題がある場合は、S3 バケットが正しく設定されていることを確認してください。S3 バケットの CORS ポリシーの詳細については、「」を参照してくださいS3 バケット CORS アクセス許可

データ分析

AWS Transform は、データの関係と要素がメインフレームのモダナイゼーションプロジェクトに与える影響を理解するのに役立つデータ分析を提供します。提供される 2 つの出力は次のとおりです。

  • データリネージ: データソース、ジョブ、プログラム間の関係をマッピングすることで、データのライフサイクルをトレースします。

  • データディクショナリ: レガシーデータ要素の構造メタデータを文書化するリポジトリとして機能します

分析が完了すると、出力ごとに 2 つのタブが存在し、次にデータリネージとディクショナリの両方について以下で説明する複数のビューが表示されます。

注記

データ分析をリクエストすると、 AWS Transform はコード分析を実行します。これは、データ分析を実行するために必要です。

データリネージュ

AWS 変換は、モダナイズされるコードベース全体で理解する必要があるデータ関係に基づいて複数のビューを提供します。データリネージュで使用できる 4 つのテーブルビューは次のとおりです。

  • データセット: このビューは、読み取り、書き込み、更新、削除の区別に役立つオペレーション追跡など、包括的な影響分析を提供します。

  • Db2 テーブル: Db2 テーブルとオペレーションに関連する影響分析を提供します。

  • Program-to-data: 各データセットを参照する COBOL プログラムを特定する

  • JCL-to-data間の関係: 各データセットを参照する JCL スクリプトを特定する

概要には、データソースの概要、プログラムや JCLs との関係、データソースの活用方法、コードベースで見つかったオペレーションの合計に関する概要情報が記載されています。

データディクショナリ

コードベースに存在するデータソース内のデータ要素を理解することは、さまざまなデータソースがどのように依存しているかを理解する次のステップです。データディクショナリは、正確な変換マッピングのためのビジネス言語の説明を含むフィールドレベルのメタデータを提供するデータカタログです。

  • COBOL データ構造: フィールドプロパティやビジネス定義など、コードベースに存在する COBOL コピーブックと INLINE リファレンス全体のフィールド情報を提供します。

  • Db2 テーブル: プライマリキーと外部キー、スキーマとインデックスの情報、データ型など、コードベースに存在する Db2 テーブル全体の列とテーブルのプロパティを提供します。

データリネージュとディクショナリの関係は、データソースを選択し、データソースまたはデータディクショナリボタンを使用して、データソースとデータ要素の関係をより深く掘り下げることで利用できます。データリネージュとディクショナリ間のナビゲーションは、「what」-構造と意味、「where」-使用状況と関係を提供するデータリネージュと統合されたデータ可視性を提供します。

アクティビティメトリクス分析

アクティビティメトリクス分析では、タイプ 14、15、30、64、102、110 の System Management Facility (SMF) レコードを分析できます。この分析は、メインフレームアプリケーション内で要素がどのように使用されるかに関するインサイトを提供します。これは、未使用のコードを廃止したり、モダナイズされたアプリケーションのターゲットアーキテクチャに関する決定に役立ちます。ジョブにアクティビティメトリクス分析を含める場合、まずコード分析ステップを完了すると、SMF 出力がより豊富になりますが、必須ではありません。

注記

メインフレームのモダナイゼーションのジョブプランをネゴシエートするときは、まずコード分析と分解のステップを完了すると、より豊富な出力が得られます。

分析用に SMF レコードをオンボードする

SMF 分析の最初のステップとして、Amazon S3 バケット内の SMF レコードの場所を指定する必要があります。最低 13 か月のレコードを指定して、より短い時間枠で見逃す可能性のある年間発生をキャプチャします。13 か月が推奨されますが、検出可能な SMF レコードを持つ時間枠は分析結果を生成します。

SMF 抽出は、次の形式要件を満たしている必要があります。

  • タイプ 14、15、30 (サブタイプ 5)、64、102、110 を含めます。

  • EBCDIC 形式の raw バイナリファイルを使用します。

  • RDW バイトを含めます。

Amazon S3 バケット内の SMF レコードへのリンクを提供し、レコードがソースコードとは別のフォルダにあることを確認します。形式オプションには、圧縮された .zip (最大 600 MB) または .tar.gz (最大 5 GB) が含まれます。SMF レコードが検出されないフォルダへのリンクを指定すると、エラーメッセージが表示され、分析は完了しません。

分析出力

分析出力には、レコードのタイプに応じて、表形式ビューと .csv 出力 (Amazon S3 バケットで使用可能) の 2 つのコンポーネントが含まれます。 AWS Transform では、タイプ 30 と 110 の出力が表示されます。Amazon S3 バケットのアーティファクトを通じて、他のタイプのレコードの分析を調べることができます。ユーザーインターフェイスでは、ヘッダーに指定されたレコードの時間範囲が表示され、欠落しているキーの日付を特定できます。例えば、レコードが 5 月 1 日から 10 月 31 日の間にあり、感謝祭後の繁忙期を除外すると、キーレコードがないことを確認できます。ウェブアプリケーションのタイムスタンプには、システムのタイムゾーンと SMF レコードが反映されます。

Amazon S3 で利用可能なアーティファクトは、提供されたレコードで見つかったレコードタイプの分析を提供します。

表形式ビュー

SMF 30 および 110 でのみ使用できる表形式ビューには、バッチジョブと CICS トランザクション用の最大 3 つの主要コンポーネントが含まれています。

  • 概要 – キージョブとトランザクションを提供します。

  • バッチジョブ/CICS トランザクション分析 – ジョブとトランザクションを集約した分析を提供します。

  • コード分析比較 (バッチのみ) – SMF 分析の前にコード分析ステップが実行されたときの比較データを提供します。

検出の概要には、より詳細な分析のために項目をすばやく特定するのに役立つ 3 つのジョブとトランザクションのグループが用意されています。

バッチジョブと CICS トランザクション分析は、ジョブとトランザクションを集約した分析を提供します。分析結果の一部の列はデフォルトで非表示になっています。歯車アイコンを選択すると、追加のフィールドが表示されます。

トランザクションキーは CICS トランザクションの一意のデータ集約を生成し、4 つのフィールドを 1 つのキー値に結合します。

  • トランザクション ID

  • プログラム名

  • SysPlex ID

  • SysID

分析出力では、完全なキーまたはキーの任意のコンポーネントで検索できます。

コード分析比較では、SMF レコードまたは分析コードステップのいずれかで見つかったジョブが強調表示されますが、両方には存在しません。これは、SMF レコードの時間枠内に実行されなかったジョブ、またはコード分析ステップに存在しなかったジョブを示します。この出力は、ジョブで SMF 分析の前にコード分析ステップを実行する場合にのみ使用できます。

ベストプラクティス

バッチジョブ (タイプ 30) の包括的な出力を取得するには、JCL ファイル名がジョブ名と一致していることを確認し、コード分析比較で意味のある出力を取得します。

技術ドキュメントの生成

モダナイゼーション中のメインフレームアプリケーションの技術ドキュメントを生成できます。コードを分析することで、 AWS Transform は、レガシーシステムに存在するプログラムロジック、フロー、統合、依存関係の説明など、アプリケーションプログラムの詳細なドキュメントを自動的に作成できます。このドキュメント機能は、知識のギャップを埋めるのに役立ちます。これにより、アプリケーションを最新のクラウドアーキテクチャに移行する際に、情報に基づいた意思決定を行うことができます。

注記

技術ドキュメントの生成をリクエストすると、 AWS Transform は、ドキュメントの生成に必要なコード依存関係分析を含むコード分析を実行します。

技術ドキュメントを生成するには
  1. 左側のナビゲーションペインの [技術ドキュメントの生成] から [ファイルの選択と設定] を選択します。

  2. ドキュメントを生成する Amazon S3 バケット内のファイルを選択し、コラボレーションタブで設定を行います。

    注記

    選択したファイルのエンコードタイプは同じである必要があります (つまり、すべて同じ CCSID - UTF8 または ASCII)。そうしないと、生成された技術ドキュメントに空のフィールドまたはセクションがある可能性があります。

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

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

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

    注記

    ドキュメントは COBOL ファイルと JCL ファイルに対してのみ生成できます。

  4. [続行] をクリックしてください。

  5. AWS Transform がドキュメントを生成したら、コンソールの Amazon S3 バケットパスに従ってドキュメントの結果を確認します。このパスでは、結果が生成および保存されます。

  6. ドキュメントが生成されたら、 AWS Transform Chat を使用して生成されたドキュメントについて質問し、次のステップを決定することもできます。

ユーザー情報をドキュメントに追加する

ARTIFACT_ID.zip └── app/ ├── File1.CBL ├── File2.JCL ├── subFolder/ │ └ File3.CBL └── glossary.csv └── pdf_config.json ├── header-logo.png ├── footer-logo.png └ ...

オプションのファイルを zip ファイルに追加して、生成されたドキュメントの品質を向上させ、カスタマイズされた PDF カバーページを提供できます。これらには、次のようなものがあります。

  • glossary.csv ファイル: S3 バケットの zip ファイルでオプションの用語集を指定してアップロードできます。用語集は CSV 形式です。この用語集は、顧客の語彙に沿った関連する説明を含むドキュメントを作成するのに役立ちます。サンプルglossary.csvファイルは次のようになります。

    LOL,Laugh out loud ASAP,As soon as possible WIP,Work in progress SWOT,"Strengths, Weaknesses, Opportunities and Threats"
  • pdf_config.json: このオプションの設定ファイルを使用して、ヘッダー、フッター、ロゴ、カスタマイズされた情報など、会社の形式と標準に沿った PDF ドキュメントを生成できます。サンプルpdf_config.jsonは次のようになります。

    { "header": { "text": "Acme Corporation Documentation", "logo": "header-logo.png" }, "customSection": { "variables": [ { "key": "business Unit", "value": "XYZ" }, { "key": "application Name", "value": "ABC" }, { "key": "xxxxxxxxxx", "value": "yyyyyyyyyyyy" }, { "key": "urls", "value": [ { "text": "Product Intranet Site", "url": "https://example.com/intranet" }, { "text": "Compliance Policies", "url": "https://example.com/policies" } ] } ] }, "footer": { "text": "This document is intended for internal use only. Do not distribute without permission.", "logo": "footer-logo.png", "pageNumber": true } }
    • ヘッダー:

      • 表紙 PDF ファイルの場合、デフォルトのテキストはプロジェクト名になります。

      • プログラム PDF ファイルごとに、デフォルトのテキストがプログラム名になります。

      • デフォルトのロゴはありません。ヘッダーロゴが設定されていない場合、ロゴは表示されません。

      • フォントサイズとロゴサイズは、単語数またはロゴファイルサイズに基づいて動的に変更されます。

    • カスタムセクション:

      • カスタムセクションが設定されていない場合、PDF からは省略されます。

      • リンクはクリック可能である必要があります。

    • フッター:

      • フッターにはデフォルトのテキストやロゴはありません。

      • 特に明示的に設定されていない限り、ページ番号はデフォルトでフッターに表示されます。

      • フォントサイズとロゴサイズは、単語数またはロゴファイルサイズに基づいて動的に変更されます。

ドキュメントインラインビューワーを生成する

PDF ファイルは、技術ドキュメントの生成ステップで確認できます。

PDF ファイルを表示するには
  1. ドキュメント結果の確認タブに移動します。

  2. 生成された PDF のリストで PDFs。

  3. ライルを選択し、ファイル名にオーバーレイされたリンク要素を表示または選択します。

PDF が AWS Transform で開き、右上の画面を展開するオプションが表示されます。

注記

AWS Transform では、生成された技術ドキュメントの PDF バージョンの XML をダウンロードすることもできます。

重要

ドキュメントインラインビューワーに問題がある場合は、S3 バケットが正しく設定されていることを確認してください。S3 バケットの CORS ポリシーの詳細については、「」を参照してくださいS3 バケット CORS アクセス許可

ビジネスロジックを抽出する

モダナイゼーション中のメインフレームアプリケーションから重要なビジネスロジックを抽出できます。 AWS Transform はコードを自動的に分析し、詳細なプロセスフローやアプリケーションに埋め込まれたビジネスロジックなど、重要なビジネス要素を特定して文書化します。この機能は、モダナイゼーションジャーニーで複数の利害関係者にサービスを提供しています。ビジネスアナリストは抽出されたロジックを活用して、正確なビジネス要件を作成し、現在の実装のギャップや不整合を特定できます。デベロッパーは、メインフレームに関する広範な専門知識がなくても、複雑なレガシーシステム機能をすばやく理解できます。

注記

ビジネスロジックの抽出をリクエストする場合。 AWS Transform は、ビジネスロジックの抽出を実行するために必要なコード依存関係やエントリポイント分析を含むコード分析を実行します。

ビジネスロジックを抽出するには
  1. 左側のナビゲーションペインのビジネスロジックの抽出で、設定の構成を選択します。

  2. コラボレーションタブで、ビジネスロジックを抽出する方法を選択します。

    • アプリケーションレベル: すべてのビジネス機能、トランザクション、バッチジョブ、ファイルのビジネスドキュメントを生成します。これにより、アプリケーション内のすべてのファイルが選択されます。

    • ファイルレベル: ファイルテーブルから選択したファイルに対してのみビジネスドキュメントを生成します。

    注記
    • どちらのオプションでも、詳細な機能仕様を含めるを選択して、 AWS 変換に選択したファイルのコントロールフローと包括的なビジネスルールを含めることができます。

    • 選択したファイルのエンコードタイプは同じである必要があります (つまり、すべて同じ CCSID - UTF8 または ASCII)。そうしないと、生成されたドキュメントに空のフィールドまたはセクションがある可能性があります。

    • ドキュメントは COBOL ファイルと JCL ファイルに対してのみ生成できます。

    • アプリケーションレベルでは、CICS トランザクションとバッチジョブで使用されるプログラムはグループ化され、他のすべてのプログラムは未割り当てとして分類されます

  3. [続行] をクリックしてください。

  4. AWS Transform がビジネスロジックを抽出すると、結果を Amazon S3 バケットに JSON 形式で保存し、オンラインで表示できます。

注記

生成されたビジネスルールファイルの数は、最初の選択数よりも多い場合があります。選択したファイルによっては、ビジネスルールの抽出がトリガーされ、追加の依存ファイルが含まれる場合があります。依存ファイルは結果テーブルにも表示されます。

抽出されたビジネスドキュメントをインラインで表示する

ビジネスロジックは、ビジネスルールの抽出ステップで表示できます。以下の手順に従ってください。

  1. ビジネスロジックの抽出結果の確認に移動します。

  2. テーブルから表示するドキュメントを選択し、結果の表示ボタンをクリックします。

ビジネスドキュメントページが新しいブラウザタブで開きます。

分解

プログラムとコンポーネント間の依存関係を考慮したドメインにコードを分解できます。これにより、関連するファイルとプログラムを同じドメイン内で適切にグループ化できます。また、分解プロセス中にアプリケーションロジックの整合性を維持するのにも役立ちます。

注記

分解をリクエストすると、 AWS Transform は分解を実行するために必要なコード依存関係分析を含むコード分析を実行します。また、より良い結果を得るには、分解前にビジネスロジック抽出を実行することをお勧めします。

アプリケーションの分解を開始するには:

  1. 左側のナビゲーションペインからコードを分解を選択します。

    注記

    未割り当ての 1 つのドメインは、ドメインに関連付けられていないすべてのファイルに対して自動的に作成されます。最初のナビゲーションでは、アプリケーションレベルのビジネスロジック抽出からドメインが提案された場合を除き、すべてのファイルを未割り当てに関連付ける必要があります。

  2. アクションメニューから新しいドメインを作成し、ドメインの作成を選択します。

  3. 「ドメインの作成」で、ドメイン名とオプションの説明を入力し、一部のファイルをシードとしてマークします。

    • CICS 設定ファイル (CSD) とスケジューラ設定ファイル (SCL) は、自動シード検出に使用できます。

    • 1 つのドメインを共通のコンポーネントとしてのみ設定することもできます。このドメインのファイルは、複数のドメインに共通です。

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

    注記

    シードとして異なるファイルを持つ複数のドメインを作成できます。

  5. すべてのドメインとシードを確認したら、分解を選択します。

  6. AWS 変換はソースコードファイルをチェックし、同様のユースケースと高いプログラミング依存関係を持つプログラムとデータセットを使用してドメインに分解します。

    AWS 変換では、分解されたドメインの表形式およびグラフビューを依存関係として使用できます。グラフビューには 3 つのオプションがあります。

    • ドメインビュー – さまざまなドメインが互いにどのように関連しているかを視覚的に表示できます。

    • 依存関係ビュー – 各ドメインのすべてのファイルを複雑な依存関係グラフとして表示できます。ドメインに追加されたノードが同じドメインのシードから情報を受信しなかった場合、このノードは未割り当て (ノードは情報を受信しなかった)、切断 (シード情報を受信しなかったサブグラフ内)、または別のドメイン (ノードは少なくともそのドメインから情報を受信) のいずれかに予測されます。

    • サブグラフビュー - ユーザーはサブグラフを作成してノードのサブセットを視覚化し、ノードのコレクションのリレーショナルな影響と境界をより明確に理解できます。

      • サブグラフを作成するには、ノードのグループを選択し、ツールバーからサブグラフの抽出オプションを選択します。

      • マージするサブグラフは、マージする 2 つのサブグラフに加えて、新しい 3 番目のサブグラフを作成するときに使用できます。

    注記

    現在のドメイン構造が気に入らない場合は、これらのステップを繰り返してドメインを追加したり、作成済みのドメインを別のシードセットで再設定したりできます。

  7. 完了したら、続行を選択します。

シード

シードは、分解コードフェーズの基本的な入力です。各コンポーネントまたはファイル (JCL、COBOL、Db2 テーブル、CSD、スケジューラファイルなど) は、1 つのドメインにのみシードとして割り当てることができるため、分解プロセス中に明確な境界とアライメントを確保できます。

シードの識別は、アプリケーションまたはポートフォリオの構造によって異なります。一般的なメインフレームのレガシーアプリケーションの場合、シードは、確立された命名規則、スケジューラでのバッチレベルのグループ化、および CICS システムで定義されたトランザクションレベルのグループ化に従って決定できます。さらに、データベーステーブルはシードとして機能し、分解用の別の構造レイヤーを提供することもできます。

依存関係ファイルのインポートおよび/または更新

分解中に、Transform が実行する依存関係分析によって生成された既存のファイルを置き換える依存関係の AWS JSON ファイルをアップロードできます。

依存関係のエクスポート関数を使用すると、分解ステップで生成された依存関係 JSON ファイルをダウンロードすることができます。ダウンロード後、要件に応じてファイルを変更できます。その後、 AWS 変換のアップロード機能を使用して依存関係をインポートできます。これにより、依存関係分析によって生成されたファイルを置き換える依存関係の新しい JSON ファイルをアップロードできます。その後、分解ステップのグラフが更新されます。

依存関係をエクスポート、変更、インポートするには
  1. 分解結果の表示ページで、アクションを選択します。

  2. ドロップダウンリストで、「その他のアクション」の「依存関係ファイルの更新」オプションを選択します。

  3. 依存関係の更新ファイルモーダルで、

    1. 依存関係ファイルをダウンロード 既存の分析結果から作成された AWS 変換。

    2. ダウンロードしたファイルで、達成したい内容に基づいて依存関係を変更します。

    3. 変更後、依存関係ファイルのアップロードボタンを使用して、このファイルを保存してアップロードします。

      注記

      使用できるファイル形式は JSON ファイルのみです。

  4. 次に、インポートを選択します。

AWS Transform は依存関係ファイルをインポートし、入力に基づいて新しい依存関係グラフを作成します。

ドメインのインポートおよび/または更新

分解ステップの前にドメイン、シード、および/またはファイル関係がマッピングされているお客様は、アクションメニューで利用可能なドメインのインポートファイル関数を使用してこのドメイン定義をアップロードできます。この関数がいつ使用されるかの例を以下に示します。

  • 別のジョブからの分解を早送りする

  • このマッピングを提供する対象分野のエキスパート

ドメインファイルがインポートされると、ユーザーはドメイン定義に対して分解を実行するか、問題がなければドメイン定義を保存して送信できます。

Parent/child/neighborファイル

依存関係グラフでは、プログラムはさまざまなタイプの接続を通じて相互に関連しています。これらの関係を理解することで、メインフレームアプリケーションの変換中にプログラムの依存関係を分析することができます。また、ドメインの境界を理解するのに役立ちます。たとえば、ドメインを選択し、親レベルを 1 つ選択すると、接続されたノードが表示されます。

親関係 – 親ファイルが他のプログラムを呼び出したり制御したりします。親は、階層内の依存プログラムの上に座っています。親は、1 つのレベルまたはすべてのレベルで選択できます。

子関係 – 子ファイルは親プログラムによって呼び出されるか、制御されます。子はファイル階層の親の下に座ります。

近傍関係 – 近傍は同じ階層レベルのファイルです。同じ親プログラムを共有し、相互に直接やり取りする場合があります。

リフォージコード

Reforge は、大規模言語モデル (LLMs) を使用してリファクタリングされたコードの品質を向上させます。最初の COBOL-to-Java 変換は、COBOL の影響を受けたデータ構造と変数名をレガシーシステムから保持しながら、機能的同等性を維持します。Reforge は、最新の Java プラクティスとイディオムに従うようにこのコードを再構築し、COBOL スタイルのコンストラクトをネイティブ Java コレクションと命名規則に置き換えます。これにより、Java 開発者はコードをより読みやすく維持できます。

注記

リフォージのクォータは次のとおりです。

  • ジョブあたり 3,000,000 行のコード

  • ユーザーあたり 1 か月あたり 50,000,000 行のコード

以下の手順に従って、リファクタリング後にコードをリフォージします。

  1. 左側のナビゲーションペインで Reforge java code を選択し、Configure code reforge を選択します。

  2. 圧縮されたビルド可能なソースプロジェクトに S3 の場所を指定し、続行を選択します。次の zip 構造を使用します。

    input.zip └── PROJECT-pom ├── PROJECT-entities ├── PROJECT-service ├── PROJECT-tools ├── PROJECT-web (optional) └── pom.xml

    AWS Transform は zip パッケージを分析して PROJECT-service ディレクトリ内のファイルを検索し、再編成できるクラスの選択可能なリストを提供できるようにします。これらのクラスにはサフィックス がありますProcessImpl.java

  3. 再編成するクラスの選択ページを完了し、続行を選択します。Worklog タブで再フォージステータスを追跡します。

  4. 完了したリフォージの結果を「結果の表示」ページで表示します。これにより、クラスごとのリフォージステータスが表示されます。また、S3 バケット内のリフォージ結果の場所も指定します。

AWS Transform がこの入力を取得すると、再編成の結果を含むダウンロード可能なファイルが提供されます。

これは、リフォージが成功した結果の zip 構造です。

reforge.zip └── maven_project ├── reforge.log └──tokenizer_map.json
  • maven_project には、再編成されたソースコードが含まれています。

    • リファクタリングされたがコンパイルが正常に確定されなかったファイルは、 に配置され/src/main/resources/reforge/originalClassName.java.incomplete、 という名前が付けられますoriginalClassName.java.incomplete。これらをファイルの元のバージョンと比較して、保存する再編成された関数を選択します。

    • 正常にリファクタリングされた AWS 変換に提供されるソースファイルは にバックアップsrc/main/resources/reforge/originalClassName.java.originalされ、 という名前が付けられますoriginalClassName.java.original。リファクタリングされたバージョンのファイルは、 AWS 変換に提供されたソースファイルを置き換えます。

    注記

    originalClassName.java ファイルは、再編成プロセスが成功した場合にのみ、再編成されたファイルに置き換えられます。それ以外の場合は、元のコンテンツが保持されます。

  • reforge.log には、ジョブの失敗を診断したり、問題が発生した場合 AWS にサポートするために提供したりするために使用できるログが含まれています。

  • tokenizer_map.json には、ファイルパスやクラス/メソッド名などのデータへのトークン IDs のマッピングが含まれており、プライバシー保護のためにログでトークン化されます。このファイルは、問題が発生した場合に AWS をサポートするために提供できます。

モダナイズされたアプリケーションのテストを計画する

抽出されたコード属性、ジョブの複雑さ、スケジューラパスに基づいて、メインフレームをモダナイズしたアプリケーションのテストプランを作成および管理できます。 AWS Transform は、テストするジョブの優先順位を決定し、各テストケースに必要な特定のアーティファクトを特定するのに役立ちます。テスト計画プロセスは、設定、範囲設定、レビューの 3 つの主要なフェーズに分かれています。

テストプランを作成するには
  1. テストプランの設定を構成する

    1. 左側のナビゲーションペインの「テストを計画する」で、「設定を構成する」を選択します。

    2. (オプション) ビジネスロジック抽出 (BLE) の S3 パスを指定します。これらのアーティファクトは、テストプランの品質を向上させます。BLE アーティファクトがないと、テストプランの一部のフィールドが不完全のままになる可能性があります。

  2. テストプランの範囲を定義する

    1. テストプランに含めるバッチジョブなどのエントリポイントを選択します。

    2. 複数の属性に基づいてジョブをフィルタリングおよびソートします。

      • ビジネス関数 (BRE BLE から抽出)

      • ドメイン (分解フェーズから)

      • ファイルパスと場所

      • カスタム検索条件

    3. テストする個々のジョブまたはグループ全体を選択します。

    4. ジョブの関係と依存関係を確認します。

  3. テストプランを確認して調整する

    生成されたテストプランは、次のような包括的な情報を提供します。

    • 依存関係に基づく優先実行順序

    • スケジューラからのジョブグループの割り当て

    • テストケースの集計スコアである複雑さスコア

    • ビジネスドメインの関連付け

    • 循環的な複雑さのメトリクス

    • データセットとテーブルの依存関係

    • コードメトリクスの行

    • ビジネス関数マッピング

テストプランのカスタマイズオプション

テストプランは、特定のニーズに合わせてカスタマイズできます。例えば、以下のことが可能です:

  • 複数のエントリポイントを選択して新しいテストケースを作成する

  • 既存のテストケースをマージして関連機能を組み合わせる

  • より詳細なテストのためにテストケースを分割する

  • 不要なテストケースを削除する

  • 既存のテストケースのエントリポイントを追加または削除する

  • テストケースの説明と属性を変更する

  • 実行順序を調整する

詳細なテストケース情報

各テストケースには、その内容と関連するデータセットまたはデータファイルの詳細が表示されます。

  • テストスコープの包括的な説明

  • 含まれるエントリポイントの完全なリスト

  • 複雑さとサイズを示すメトリクスを集約する

  • ビジネスルールと自動テストケースガイダンス

  • 方向 (入力/出力) によるデータセットとテーブルの依存関係

  • インタラクティブな依存関係グラフの視覚化

  • 実行の前提条件と要件

データ管理機能

これらの詳細は、テストケースに関連するデータを理解するのに役立ちます。以下の操作を実行できます。

  • 入出力方向でデータセットをフィルタリングする

  • テスト実行に必要なアーティファクトを特定する

  • テストケース間のデータの依存関係を追跡する

  • テストプラン全体でデータセットの使用状況をモニタリングする

注記

AWS Transform は、スケジューラの依存関係を自動的に分析し、複雑さスコアを割り当てて、テスト作業の優先順位付けを支援します。複雑さスコアが高いほど、テストプロセス中により徹底的なテストまたは分離が必要なジョブを示します。

ビジネスルールとテストケースガイダンス

AWS 変換テストプランは、ビジネスルールの抽出に基づいてテストケースプランの推奨事項を提供します。

  • LLM を使用したビジネスルールの自動処理

  • 合成テストケースの生成

  • 特定のビジネスシナリオのテストガイダンス

  • ルールとテストケース間のトレーサビリティ

最終的なテストプランは、指定された S3 の場所に保存され、テスト戦略を効果的に実行するために必要なすべての情報が含まれています。テストプランをエクスポートして、他のテストツールやドキュメントシステムと統合できます。

注記

合成テストケースガイダンスが提供されますが、実際のテストアーティファクトはガイダンスに基づいて個別に作成する必要があります。テストプランは、テスト戦略の包括的な設計図として機能しますが、テストデータや実行スクリプトは生成されません。

テストケース作成ルール - 概要

一般的なルール
  • テストケースには、スケジュール実行順序で 1~多くの JCLsが含まれます。

  • テストケースは、有効なサポートされているスケジューラ (CA7 および Control-M) から作成されます。

  • テストは、スケジューラ自体やスケジュールされたタスクではなく、JCLs を実行します。

  • スケジュールされたタスクは一意であり、1 つの JCL のみを実行します。

  • 1 つの JCL を複数のスケジュールされたタスクで実行できます

  • スケジュールになくても 1 つの JCL を存在できます

デフォルトのテストケース作成ルール
  • 1 つの JCL がテストケースにある場合:

    • JCL がスケジュールに関与していない

    • JCL は、複数のブランチに分散するスケジュールされたタスクによって実行されます。

    • スケジュール内のブランチには、この JCL のみが含まれます。

  • テストケース内の複数の JCL の場合: スケジュールブランチ内の線形実行パスシーケンスを表します。

  • JCL がさまざまなスケジュールされたタスクにある場合: JCL は独自の個別のテストケースになります

  • JCL が収束スケジュールされたタスク上にある場合: JCL は新しいテストケースを開始できますが、以前のブランチには含まれません

  • 欠落JCLs はスキップされ、実行は続行されます (欠落している JCL ポイントでテストケースを切り取るための今後の拡張が予定されています)。

ユーザーオペレーションルール
  • テストケースの作成: ユーザーが利用可能な JCLs

    • JCLsスケジュール実行ブランチシーケンスに存在する場合に成功します

    • スケジュールの実行順序に従います

  • テストケースに JCL を追加する: ユーザーは利用可能な JCLs から選択します

    • JCL がテストケースのスケジュール実行ブランチ/パスに存在する可能性がある場合に成功します

  • テストケースから JCL を削除: ユーザーはテストケースから任意の JCL を削除できます

    • 実行パスのギャップが発生する場合でも許可されます

  • テストケースのマージ: ユーザーは結合する 2 つのテストケースを選択します

    • JCLs が同じスケジュール実行ブランチに一緒に存在できる場合に成功します

    • スケジュール実行順序を維持します

  • テストケースの分割: ユーザーが分割するテストケースで 1 つの JCL を選択する

    • 分割ポイントフォワードから新しいテストケースを作成します

    • 元のテストケースを変更して、分割ポイントを超えた JCLsを除外

  • テストケースの削除: ユーザーは作成されたテストケースを削除できます

注記

異なるスケジューラブランチ/パスからテストケースを作成、追加、またはマージすることはできません。今後の機能強化は、スケジューラの分散/収束タスク以外のオペレーションを許可するように計画されています。

テストデータ収集スクリプトを生成する

JCL スクリプトを生成して、前のステップで作成したテストプランに基づいてメインフレームシステムからテストデータを収集できます。 AWS Transform は、包括的なテストに必要なデータセット、データベーステーブル、シーケンシャルファイルのデータ収集スクリプトを自動的に作成します。データ収集プロセスは、入力設定、テストケースの選択、スクリプト設定、スクリプト生成の 4 つの主要なフェーズに分かれています。

テストデータ収集スクリプトを生成するには
  1. テストプランの入力を提供する

    1. 左側のナビゲーションペインの「データ収集をテストする」で、「テストプラン入力を提供する」を選択します。

    2. ダナイズされたアプリケーションのテストを計画から、テストプラン JSON ファイルへの S3 パスを指定します。

    3. 前のジョブステップでテストプランが生成された場合、入力フィールドは事前に入力されます。

    4. 適切な S3 の場所を指定して、他のジョブからテストプランを選択することもできます。

  2. データ収集のテストケースを選択する

    1. テストプランのテストケースの完全なリストを確認します。

    2. 複数の属性に基づいてテストケースをフィルタリングおよびソートします。

      • ビジネス関数とドメイン

      • データベーステーブルの依存関係

      • データセットの要件

      • 複雑さメトリクス

      • カスタム検索条件

    3. 個々のテストケースを選択するか、一括選択オプションを使用します。

    4. エントリポイント、メトリクス、ビジネスルールなどのテストケースの詳細を確認するには、1 つのテストケースをクリックして詳細を確認します。

  3. データ収集スクリプトを設定する

    1. 参照用にサンプルテンプレートと設定ファイルをダウンロードします。

      • AWS Transform は、Db2 データベースアンロード、VSAM ファイル REPRO、およびシーケンシャルデータセット処理のサンプルテンプレートを提供し、プロセスで予想されるテンプレートの種類に関するガイダンスとして使用します。

      • 標準はサイトごとに異なる場合があるため、お客様は独自の標準に準拠したテンプレートを変更または置き換えることが期待されます。

      • これらの変更されたテンプレートは、テストデータ収集で処理できる S3 バケットにアップロードする必要があります。

    2. 以下を含む変数設定ファイル (JSON 形式) を指定します。

      • ユーザープレフィックスと環境固有の定数

      • データベース設定パラメータ

      • 送信先エンドポイントの設定とデータ転送パラメータ

      • JCL テンプレートで使用するユーザーと で定義されるその他の必須パラメータ

    3. さまざまなデータ収集方法の JCL テンプレートをアップロードします。

      • Db2 テンプレート: データベーステーブルのアンロード用 (BMC、IBM DSN、またはその他のアンロードユーティリティ用にカスタマイズ)

      • VSAM テンプレート: VSAM ファイル処理用 (通常は REPRO ユーティリティを使用)

      • シーケンシャルデータセットテンプレート: シーケンシャルデータセット、パーティション化されたデータセット、GDGsなどの処理用。

  4. 生成されたスクリプトの確認と管理

    生成されたスクリプトは、次のような包括的なデータ収集機能を提供します。

    • 「前」と「後」のテスト実行データ収集用の個別のスクリプト

    • テストケースとデータ型別に整理されたスクリプト構造

    • スクリプトは自動的に S3 バケットに保存され、アクセスと転送が容易になります。

    • 生成された JCL スクリプトはメインフレーム実行の準備ができています

    • 変数の置換は、 テンプレートで定義されたユーザー設定に基づいています。

スクリプト生成機能

生成されたスクリプトは、テンプレートと設定に基づいて自動的にカスタマイズされます。

  • テンプレートベースの生成: 提供された JCL テンプレートを変数置換で使用します

  • 環境: 特定のメインフレーム設定を組み込みます

  • データ型処理: シーケンシャルデータセット、VSAM ファイル、データベーステーブルに適したスクリプトを作成します。

  • テストケースの収集: 「前」と「後」の両方のデータ収集スクリプトを生成します

  • シーケンシャルデータセット処理: AWS が提供するサンプルは、ファイル転送機能を提供しますが、これは、サイトで利用可能な圧縮ユーティリティ、または Connect Direct やマネージドファイル転送などのユーティリティにカスタマイズできます。

データ収集戦略

生成されたスクリプトは、包括的なデータ収集戦略をサポートします。

  • 連続データセットコレクション: VSAM およびフラットファイル用の REPRO ユーティリティとコピーユーティリティ

  • データベーステーブルのアンロード: カスタマイズ可能な Db2 アンロードプロセス

  • シーケンシャルデータセット処理: 圧縮、マネージドファイル転送サービスなどのシーケンシャルデータセットのカスタマイズ可能な後処理。

  • 依存関係管理: テストケース定義に基づく調整されたコレクション

注記

AWS Transform は、テンプレートと設定に基づいてスクリプトを生成します。メインフレーム環境で を実行する前に、生成されたすべての JCL を確認して、特定のシステム設定とセキュリティ要件との互換性を確認します。

テンプレートのカスタマイズとベストプラクティス

ATX テストデータ収集は、柔軟なテンプレートカスタマイズ機能を提供します。

  • 複数ユーティリティのサポート: さまざまなメインフレームユーティリティ (BMC、IBM、DSN) のテンプレートを適応させる

  • 変数駆動型設定: 環境固有のパラメータに定数を使用する

  • 再利用可能なテンプレート: 一貫したスクリプト生成のための標準化されたテンプレートを作成する

  • データ処理: 組織固有のデータ処理要件を組み込む

  • セキュリティ統合: 適切なセキュリティとアクセスコントロールを含める

  • パフォーマンスの最適化: 効率的なデータ収集と転送のために を設定する

生成された出力構造

生成されたスクリプトは、次の構造で S3 バケットに整理されます。

  • テストケースの整理: 関連するテストケース別にグループ化されたスクリプト

  • 収集タイミング: 「前」と「後」のデータ収集用にフォルダを区切る

  • データ型分類: シーケンシャルデータセット、データベーステーブル、転送によって整理されたスクリプト

  • メタデータファイル: 概要情報と実行ガイダンス

  • Ready-to-transfer 形式: メインフレームの直接デプロイ用に JCL 形式

最終的なスクリプトコレクションは、指定された S3 の場所に保存され、データ収集戦略を効果的に実行するために必要なすべての JCL が含まれます。スクリプトをダウンロードしてメインフレーム環境に転送したり、自動デプロイプロセスと統合したりできます。

注記

包括的な JCL スクリプトが生成されますが、実際の実行はメインフレーム環境で実行する必要があります。スクリプトはready-to-useデータ収集ツールとして機能しますが、適切なメインフレームアクセスと実行のアクセス許可が必要です。

自動化スクリプトの生成をテストする

テスト自動化スクリプトを生成して、前のステップで作成したテストプランに基づいて、モダナイズされたアプリケーションでテストケースを実行できます。 AWS Transform は、テストデータ収集プロセスから収集されたデータを利用する包括的なテストスクリプトを自動的に作成します。テスト自動化スクリプト生成プロセスは、入力設定、テストケースの選択、スクリプト生成結果の 3 つの主要なフェーズで構成されます。

テストスクリプトを生成するには
  1. テストプランの入力を提供する

    1. 左側のナビゲーションペインのテスト自動化スクリプト生成で、テストプラン入力の提供を選択します。

    2. ダナイズされたアプリケーションのテストを計画から、テストプラン JSON ファイルへの S3 パスを指定します。

    3. 前のジョブステップでテストプランが生成された場合、入力フィールドは事前に入力されます。

    4. 適切な S3 の場所を指定して、他のジョブからテストプランを選択することもできます。

    5. システムは、このテストプランをオートメーションスクリプトを生成するための基盤として使用します。

  2. スクリプト生成のテストケースを選択する

    1. テストプランのテストケースの完全なリストを確認します。

    2. 複数の属性に基づいてテストケースをフィルタリングおよびソートします。

      • ビジネス関数とドメイン

      • データベーステーブルの依存関係

      • データセットの要件

      • 複雑さメトリクス

      • カスタム検索条件

    3. 個々のテストケースを選択するか、すべてチェックボタンとすべてチェック解除ボタンで一括選択オプションを使用します。

    4. 個々のテストケースをクリックして、エントリポイント、メトリクス、ビジネスルールなどのテストケースの詳細を確認します。

      選択したテストケースには、モダナイズされたアプリケーションで実行するための自動化スクリプトが生成されます。

  3. 生成されたテスト自動化スクリプトを確認および管理します。

    • スクリプト生成の完了を確認する成功メッセージが表示されます。

    • 生成されたテストスクリプトは、指定された S3 バケットの場所に自動的に保存されます。

    • 生成されたテストスクリプトの完全なリストに、それぞれの S3 ロケーションでアクセスします。

    • 各テストケースには、対応する自動化スクリプトが個々の S3 ロケーションに保存されます。

    • スクリプトは、モダナイズされたアプリケーション環境でデプロイおよび実行できます。

自動化スクリプト機能のテスト

生成された自動化スクリプトは、包括的なテスト機能を提供します。

  • ダナイズされたアプリケーションテスト: スクリプトは、変換されたアプリケーションでテストケースを実行するように特別に設計されています。

  • データ統合: 前のテストデータ収集ステップで収集されたテストデータを使用します。これらのデータは、テストケースごとにフォルダにコピーする必要があります。

  • 自動実行: スクリプトを使用して、データシンクの設定、テストケースの実行、結果の比較を行うことができます。一部のパラメータはデプロイ環境に応じて設定する必要があります。

  • 組織構造: スクリプトは S3 バケット内のテストケースごとに体系的に整理されます。

  • Ready-to-deploy 形式: スクリプトはテスト環境に直接デプロイできるようにフォーマットされています

生成された出力構造

生成されたテストオートメーションスクリプトは、次の構造で S3 バケットに整理されます。

  • テストケースの整理: 各テストケースには、個々の S3 フォルダに保存されている専用スクリプトがあります。

  • 実行対応形式: スクリプトは、環境に応じて変数を設定した後、すぐにデプロイおよび実行できるようにフォーマットされます。

  • 一元化されたアクセス: すべてのスクリプトに単一の S3 バケットの場所からアクセスでき、管理が容易

テスト実行戦略

生成されたスクリプトは、包括的なテスト実行ワークフローをサポートします。

  • 環境設定: スクリプトには、テストを実行するための初期データを設定する機能が含まれています。

  • データ準備: テストケースデータ収集ステップから収集されたテストデータとの統合

  • テストケースの実行: モダナイズされたアプリケーションでの個々のテストケースの自動実行

  • 結果の比較: テスト結果を比較し、アプリケーションの動作を検証するための組み込み機能

注記

AWS Transform は、テストプランと選択したテストケースに基づいてテスト自動化スクリプトを生成します。スクリプトは、モダナイズされたアプリケーション環境で実行され、前のステップで収集されたテストデータを利用するように設計されています。デプロイ前に生成されたすべてのスクリプトを確認して、特定のアプリケーション設定およびテスト要件との互換性を確認します。

テスト自動化のベストプラクティス

  • 環境の検証: スクリプトを実行する前に、モダナイズされたアプリケーション環境が正しく設定されていることを確認します。

  • データ検証: 収集フェーズから必要なテストデータが使用可能でアクセス可能であることを検証します。

  • スクリプトのカスタマイズ: 特定のテスト要件に応じて、生成されたスクリプトを確認してカスタマイズします。

  • 実行モニタリング: テストスクリプトの実行中に適切なモニタリングとログ記録を実装する

  • 結果分析: テスト結果を分析し、アプリケーションの問題を特定するプロセスを確立する

テスト自動化スクリプトの最終コレクションは、モダナイズされたアプリケーション機能を検証するための完全なテストフレームワークを提供します。スクリプトは、継続的なテストプロセスに統合することも、アプリケーション検証ワークフローの一部として実行することもできます。

AWS Transform のデプロイ機能

AWS Transform は、ready-to-use Infrastructure as Code (IaC) テンプレートを提供することで、モダナイズされたメインフレームアプリケーションのクラウド環境をセットアップするのに役立ちます。 AWS Transform チャットインターフェイスを使用すると、コンピューティングリソース、データベース、ストレージ、セキュリティコントロールなどの重要なコンポーネントを作成する構築済みのテンプレートにアクセスできます。テンプレートは、 CloudFormation (CFN) AWS Cloud Development Kit (AWS CDK)、Terraform などの一般的な形式で利用できるため、インフラストラクチャを柔軟にデプロイできます。

これらのテンプレートは、モダナイズされたメインフレームアプリケーションの環境を設定するために必要な時間と専門知識を削減する構成要素として機能します。これらのテンプレートはニーズに合わせてカスタマイズでき、デプロイ環境を構築するための基盤となります。

IaC テンプレートを取得するには、 AWS Transform チャットのInfrastructure-as-Code」テンプレートに、希望するモダナイゼーションパターン (メインフレームリファクタリングの AWS 変換など)、希望するトポロジー (スタンドアロンか高可用性か)、希望する形式 (CloudFormation か Cloud Development Kit か Terraform か) を明確にするよう依頼します。