AEM AS A CLOUD SERVICEへのAIを活用したコードの移行 cloud-migration-skill-overview

AEM Cloud Migration ソリューションは、AEM 6.x、AMS、またはオンプレミス Java コードとOSGi設定を​ AEM as a Cloud Service (AEMaaCS) ​に移行する際に開発者をガイドするエージェントベースのツールセットです。 エージェントスキルとモデルコンテキストプロトコル(MCP)をサポートするAI対応IDE内で動作します。

次のデモビデオでは、AEM Cloud Migration ソリューションの簡単なエンドツーエンドのチュートリアルを紹介します。参照用に含まれています。

このソリューションは、次の2つのコンポーネントで構成されています。

コンポーネント
役割
移行スキル
移行ワークフローのオーケストレーション、ベストプラクティスアナライザー(BPA)の調査結果の取得、プロジェクト内の影響を受けるファイルの特定、パターン別のコード変換パターンの適用を行います。 ローカル BPA CSV エクスポートまたはCloud Migration MCPで動作します(推奨)。
クラウド移行MCP
IDE エージェントをCloud Acceleration Manager(CAM)に接続し、CSV エクスポートを行わずにBPA結果を直接取得できるようにします。 最新の結果を得るには、ローカル CSVよりも推奨されます。

前提条件 prerequisites

  • IDEでAEM プロジェクト(MavenまたはGradle)を開く

  • 次のBPA検索ソースの1つ(強くお勧めします。手動フローには必要ありません)。

    • AEM インスタンスからの​BPA CSV エクスポート
    • BPA レポートがアップロードされ、Cloud Migration MCPが設定された​Cloud Acceleration Manager プロジェクト

移行スキル migration-skill

移行スキルは、AI対応IDEのエージェントスキルです。 このワークフローは、one-pattern-per-session ワークフローを編成します。修正するパターンに名前を付け、BPAの調査結果にエージェントを指定すると、エージェントは関連する変換ルールを読み取り、プロジェクト内の影響を受けるファイルを見つけ、変更を5つのバッチに適用し、各バッチの後にレビューを一時停止します。

Runbookへの移行を開始する migration-runbook

何かを修正する前に、担当者に​に問い合わせます。「AEMaaCS移行のコードを確認してください。」 コードを編集する代わりに、スキルはプロジェクトのルートで​ 読み取り専用migration-runbook.md ​を生成します。 Runbookは、スキルが対処できる移行パターン ごとに​をカバーし、影響を受けるファイル、パターンごとの検索数、各修正を開始するためのコピー&ペーストプロンプトを一覧表示します。

Runbookは、プロジェクト全体の評価に推奨されるエントリポイントです。ファイルを変更する前に、移行作業の優先順位付けされた、予期しない画像が表示されます。 後でパターンセッションを開始すると、エージェントはランブックに既に記録されている調査結果を再利用するため、再スキャンは必要ありません。

NOTE
Runbookは、移行スキルが対処できるパターン(​ サポートされるパターン ​に記載されているパターン)のみを対象としています。 リポジトリ構造やコンテンツ転送など、これらのスキルの外部で処理される移行作業は含まれません。 補完的なツールについては、移行ジャーニーに適合する方法を参照してください。

サポートされるパターン supported-patterns

コードと設定パターン

パターン
修正点
scheduler
sling.commons.scheduler ベースのジョブは、AEMaaCSのステートレスランタイムと互換性がありません
resourceChangeListener
Cloud Serviceの更新が必要なResourceChangeListener実装
replication
従来のReplicator API呼び出しはContentDistribution個の同等のものに置き換えられました
eventListener
OSGi EventListener実装がAEMaaCS イベントセマンティクス用に更新されました
eventHandler
Cloud Service用に適応された同期OSGi EventHandler サービス
assetApi
非推奨のAssetManagerおよびDAM API呼び出しは、サポートされている同等のものに置き換えられました
guavaCache
Cloud ServiceでサポートされているCaffeine キャッシュにスワップされたGuava キャッシュ (com.google.common.cache.*)の使用状況
htlLint
HTL テンプレートのdata-sly-test個の冗長な定数比較警告
OSGi設定
.cfg.json コンバージョン、実行モード スコーピング、Cloud Manager シークレット/env-var抽出、サポートされていない実行モード (URC)の検出および安全な並べ替え

従来のUIとテンプレートの近代化パターン

パターン
修正点
lui (ダイアログの移行)
クラシック UI / ExtJS (cq:Dialog)およびCoral 2 ダイアログをCoral 3 Touch UI ダイアログに変換
cdw (カスタムデザインウィジェット)
Coral 3にマッピングされたカスタム ExtJS ウィジェット(cq:Widget xtypes)またはGranite UI コンポーネントとしてスキャフォールドされたウィジェット
テンプレートの近代化
AEM Modernize Toolsの構造、コンポーネント、ポリシー書き換えルールが生成され、編集可能なテンプレートに変換された静的テンプレート。 ネストされたテンプレートフォルダーを含む、レガシーテンプレートとカスタム静的テンプレートの両方を検出して分類します

Dispatcher 設定

パターン
修正点
dispatcherConversion
AMSまたはオンプレミスのApache HTTPDおよびDispatcher設定をAEM as a Cloud Service構造に変換

ワークフローについては、Dispatcher コンバージョン ​を参照してください。

このスキルは、すべてのコード変換ステップをコンパニオン code-assessment スキルに委任します。 両方はaem-cloud-service スキルパッケージとして一緒に配布されます。両方を取得するには、パッケージを1回インストールしてください。

はじめに getting-started-skill

  1. Adobe Skills リポジトリ ​からaem-cloud-service スキルパッケージ (移行とcode-assessment スキルの両方を含む)をインストールします。 IDEごとのインストールコマンドについては、AI ツールとのローカル開発を参照してください。

  2. AEM プロジェクトをIDEのワークスペースルートとして開きます。

  3. BPA調査結果の取得:BPAからCSVをエクスポートするか、クラウド移行MCPを設定します(以下を参照)。

  4. 次のいずれかのプロンプトを使用して、エージェントとのセッションを開始します。

    最初にプロジェクト全体を評価します(読み取り専用のRunbookを生成します):

    code language-none
    Review my code for AEMaaCS migration
    

    BPA CSV:

    code language-none
    Use the migration skill: scheduler only, BPA CSV at ./reports/bpa.csv
    

    MCP:経由の CAM

    code language-none
    Fix replictaion findings from project <projectname>/<projectId>.
    

    手動(BPAなし):

    code language-none
    Migrate event listener in core/src/main/java/com/example/Listener.java
    

    OSGi設定:

    code language-none
    Scan my config files and create Cloud Manager environment secrets or variables.
    

    HTL lint:

    code language-none
    Fix htlLint in ui.apps - scan for data-sly-test redundant constant warnings.
    

    Guava キャッシュ:

    code language-none
    Fix guavaCache findings using BPA CSV at ./reports/bpa.csv
    

    Dispatcher コンバージョン:

    code language-none
    Convert my AMS / on-prem Dispatcher config to AEM as a Cloud Service.
    
NOTE
スキルは、セッションごとに1つのパターンを処理します。 BPA レポートに複数のパターンが含まれる場合、開始する前に1つを選択するように求められます。

完全なパターン参照とセッション管理ガイダンスについては、​ クラウド移行スキルの使用を参照してください。

クラウド移行MCP cloud-migration-mcp

AEM Cloud Migration MCP​は、IDE エージェントをCloud Acceleration Managerに接続するModel Context Protocol サーバーです。 移行スキルを設定すると、CSV ダウンロードを必要とせずに、CAM プロジェクトからBPA結果を直接取得できます。

MCPの機能 mcp-tools

ツール
説明
fetch-cam-bpa-findings-by-pattern
CAM プロジェクトの最新のBPA レポートから、特定のコード移行パターンのBPA結果を返します。
fetch-cam-bpa-findings-by-importance
指定された重要度(CRITICALMAJORADVISORYINFO)のすべてのBPA結果をカウント別に並べ替えて返します。 最初に取り組むパターンを優先するのに便利です。

これらのツールは、移行スキルによって自動的に呼び出されます。直接呼び出すことはありません。

はじめに getting-started-mcp

  1. IDEのMCP設定で、クラウド移行MCP サーバーのURL https://mcp.adobeaemcloud.com/adobe/mcp/cloud-migrationを追加します
  2. プロンプトが表示されたら、Adobe IDでログインしてCloud Acceleration Managerに対する認証を行います。
  3. 移行スキルは、CAM プロジェクトからBPAの調査結果を直接取得できるようになりました。

セットアップとトラブルシューティングの詳細については、​ クラウド移行MCPの使用を参照してください。

どのように移行ジャーニーに組み込むのかを解説します migration-journey

スキルとMCPは、実装フェーズ​の他のツールを補完します。

全体像については、実装フェーズの概要を参照してください。

recommendation-more-help
experience-manager-cloud-service-help-main-toc