スタートガイド
第1章 はじめに
1.1. スタートガイド
本ガイドはエンジニア、エンジニア、およびアプリケーションに Migration Toolkit(MTA)を使用して Java アプリケーションやその他のコンポーネントを移行するユーザーを対象としています。Migration Toolkit for Applications の概要と、移行を計画して実行するツールを使用して開始する方法を説明します。
第2章 MTC(Migration Toolkit for Applications)
MTC(Migration Toolkit for Applications)
Migration Toolkit for Applications(MTA)は、拡張可能かつカスタマイズ可能なルールベースのツールで、Java アプリケーションの移行を単純化します。
MTA は、プロジェクトソースディレクトリーおよびアプリケーションアーカイブを含むアプリケーションアーティファクトを検査し、変更を必要とする領域を強調表示する HTML レポートを生成します。MTA を使用すると、以前のバージョンの Red Hat JBoss Enterprise Application Platform または Oracle® WebSphere® Application Server などの他のコンテナーから Java アプリケーションを移行できます。
Migration Toolkit for Applications で移行を簡素化するにはどうすればよいですか?
アプリケーション向けの MTC(Migration Toolkit for Applications)は一般的なリソースを見つけ、アプリケーションの移行時に技術と既知の問題のある場所を強調表示します。この目的は、アプリケーションが使用するテクノロジーの概要を提供し、組織がエンタープライズアプリケーションを Java EE および Red Hat JBoss Enterprise Application Platform に推定、文書化、移行するために使用できる詳細なレポートを提供することです。
2.1. MTA の機能
Migration Toolkit for Applications(MTA)は、移行プロジェクトの計画および実行に役立つ多くの機能を提供します。
- 計画および作業見積
- MTA は、作業の種類を詳細に説明し、タスクを完了する作業の見積もりを行うことで、プロジェクトマネージャーを支援します。作業レベルは MTA レポートでストーリーポイントとして表されます。実際の見積もりは、必要なスキルと必要な移行作業の分類に基づいて行われます。
- 移行の問題の特定および解決策の提供
- MTA は移行の問題を特定し、問題が発生したコードの特定ポイントを強調表示します。MTA は、コードの変更を提案し、エンジニアが特定の問題を解決するのに役立つ追加のリソースを提供します。
- 詳細なレポート
- MTA は、移行作業の概要と特定の移行タスクの詳細の両方を示すために、多数のレポートを作成します。すべてのアプリケーション、チャート、およびアプリケーションの問題に関するサマリー情報、アプリケーションのモジュールの問題の内訳、使用される技術のレポート、他のアプリケーションおよびサービスの依存関係などを表示できます。ソースファイルを検査して、問題が発生したコードの行を確認することもできます。利用可能な MTA レポートの詳細は、『CLI ガイド』 を参照してください。
- 組み込みルールおよび移行パス
- MTA にはルールのコアセットが含まれており、複数の一般的な移行パスの 移行支援を提供し ます。これらのルールは、他のアプリケーションサーバーからのプロプライエタリー機能の使用、または以前のバージョンの JBoss EAP で非推奨のサブシステムの使用を特定します。MTA には、ハードコーディングされた IP アドレスや JNDI ルックアップなどの一般的な移行の問題を識別するルールも含まれています。
- ルールの拡張性とカスタマイズ
- MTA は、強力で複雑なルールを作成する機能を提供します。MTA が提供するルールのコアセットに拡張し、ルールを作成して、移行プロジェクトにとって重要な追加の問題を特定することができます。コアルールを上書きし、カスタムルールカテゴリーを作成することも可能です。MTA ルールのカスタマイズに関する詳細は、『ルール開発ガイド』を参照してください。
- ソースコードまたはアプリケーションアーカイブを分析する機能
- MTA は、アプリケーションアーカイブまたはソースコードを評価でき、複数のアプリケーションをまとめて評価できます。複数のアプリケーション間で共有されるアーカイブを特定できるため、より正確な作業量の見積りに役立ちます。
2.2. MTA ルール
Migration Toolkit for Applications(MTA)には、移行する予定のアプリケーションによって使用される API、テクノロジー、およびアーキテクチャーを分析するルールベースの移行ツールが含まれます。実際、MTA 分析プロセスは MTA ルールを使用して実装されます。MTA は内部でルールを使用して、アーカイブからのファイルの抽出、ファイルの逆コンパイル、ファイルタイプのスキャンと分類、XML およびその他のファイルコンテンツの分析、アプリケーションコードの分析、レポートの作成を行います。
MTA は、ルール実行結果に基づいてデータモデルを構築し、グラフデータベースにコンポーネントデータと関係を格納します。これにより、移行ルールやレポート目的に応じてクエリーおよび更新が可能になります。
MTA ルールでは、以下のルールパターンを使用します。
when(condition) perform(action) otherwise(action)
MTA は、標準の包括的な移行ルールの包括的なセットをそのまま使用できます。アプリケーションにはカスタムライブラリーまたはコンポーネントが含まれる可能性があるため、MTA では独自のルールを作成して、既存のルールセットで対応していない可能性のあるコンポーネントやソフトウェアの使用を特定することができます。独自のカスタムルールを作成する予定がある場合は、『開発ガイド』 で詳細な手順を参照してください。
第3章 サポートされる構成
3.1. サポートされる移行パス
MTA は、複数のプラットフォームから Red Hat JBoss Enterprise Application Platform(JBoss EAP)へのアプリケーションの移行と従来のインフラストラクチャーからクラウド環境への移行をサポートします。ソースプラットフォームから現在サポートされている MTA による移行パスについては、以下の表を参照してください。
ソースプラットフォーム | JBoss EAP 6 への移行 | JBoss EAP 7 への移行 | クラウドの対応 [a] |
---|---|---|---|
Oracle®─ Server | ✔ | ✔ | ✔ |
IBM® WebSphere® Application Server | ✔ | ✔ | ✔ |
JBoss EAP 4 | ✔ | ✘ [b] | ✔ |
JBoss EAP 5 | ✔ | ✔ | ✔ |
JBoss EAP 6 | 該当なし | ✔ | ✔ |
JBoss EAP 7 | 該当なし | 該当なし | ✔ |
[a]
この移行パスは、別のサポート対象の移行パスと同時に実行できます。
[b]
現在、MTA はこの移行パスのルールを提供しませんが、Red Hat コンサルティングはソースプラットフォームからの移行に役に立ちます。
|
3.2. システム要件
3.2.1. ソフトウェア
- Java Platform、JRE バージョン 8+
- MTA は Linux、Windows、および macOS でテストされています。Java 8+ サポートのあるその他のオペレーティングシステムは適切に動作するはずです。
3.2.2. ハードウェア
以下のメモリーおよびディスク領域の要件は、MTA の実行に必要な最小要件です。アプリケーションが非常に大きい場合や複数のアプリケーションを評価する必要がある場合には、これらの値を増やしてパフォーマンスを向上させることができます。
パフォーマンスを最適化する方法は、『MTA CLI ガイド』の「 MTA パフォーマンスの最適 化」を参照してください。
- 最小 4 GB の RAM。パフォーマンスを向上させるために、RAM が 8 GB のクアッドコアプロセッサーを推奨します。これにより、3 ~ 4 GB の RAM が JVM で使用できるようになります。
- 最小 4 GB の空きディスク領域高速ディスク (特にソリッドステートドライブ(SSD)) はパフォーマンスを向上する必要があります。
第4章 ツールについて
Migration Toolkit for Applications(MTA)は、移行およびモダライゼーションのさまざまな段階で役立つ各種のツールを提供します。各ツールの詳細を確認し、プロジェクトに適したものを特定します。
4.1. CLI について
CLI は、Migration Toolkit for Applications のコマンドラインツールです。これにより、ユーザーはアプリケーションに対する移行およびモダライゼーションの作業を評価および優先順位付けできます。他のツールのオーバーヘッドなしに分析を強調表示する多数のレポートが提供されます。CLI にはさまざまなカスタマイズオプションが含まれており、MTA 分析オプションを細かく調整したり、外部の自動化ツールと統合したりできます。
CLI の使用に関する詳細は、MTA の『CLI ガイド』を参照してください。
4.2. Web コンソールについて
Migration Toolkit for Applications の Web コンソールは Web ベースのシステムであり、ユーザーのチームが多数のアプリケーションに対して移行やモダライゼーションの作業を評価および優先順位付けできるようにします。これにより、解析のためにアプリケーションをプロジェクトにグループ化し、結果を強調表示する多数のレポートを提供します。
Web コンソールの使用方法は、MTA の『Web コンソールガイド』を参照してください。
4.3. Eclipse プラグインについて
Migration Toolkit for Applications の Eclipse プラグインは、Eclipse および Red Hat JBoss Developer Studio に直接サポートを提供し、移行または最新化の作業を行います。MTA を使用してプロジェクトを分析し、ソースコード内の移行問題をマークし、問題を修正するためのガイダンスを提供し、可能な場合は自動コードの置き換えを提供します。
Eclipse プラグインの使用方法についての詳細は、『 MTA Eclipse Plugin Guide』を参照してください。
4.4. Maven プラグインについて
MTC(Migration Toolkit for Applications)の Maven プラグインは Maven ビルドプロセスに統合され、開発者はソースコードの各反復を使用して移行およびモダライゼーションを継続的に評価できます。分析結果を強調表示するレポートが多数提供され、ビルドごとに更新が必要な開発者向けに設計されています。
Maven プラグインの使用方法は、MTA の『Maven プラグインガイド』を参照してください。
第5章 アプリケーション移行の計画
5.1. 移行の目的
多くの組織は、既存のビジネスオペレーションの実行を継続しつつ、イノベーションを試みるという課題に直面します。新しい機能をより迅速に提供し、コストを削減することへの期待が高まっています。
移行またはモダライゼーションの評価時に、組織固有の課題に対応することが重要です。組織が直面する一般的な課題は、限られた予算、社内スキル、認識されたリスク、既知の予測可能なプロセス、およびタイムリーな方法での正確な作業の見積もりの欠如です。
通常、大規模なミドルウェアの移行またはモダライゼーションの作業を評価する場合の目的は以下のとおりです。
- 作業量と費用のレベルを予測します。
- アプリケーションの移行をスケジュールし、競合を処理します。
- コード、インフラストラクチャー、プロセス、またはナレッジレベルで潜在的なリスクをすべて特定します。
- 投資の見直しを予測して、ビジネスケースを作成します。
- ビジネスのリスクを特定し、軽減します。
- 既存のビジネスオペレーションの中断を最小限に抑えます。
Red Hat は、リスクを最小限に抑え、アプリケーションの移行やモダナライゼーションをより効率的にするストラテジーを開発しました。詳細 は、「Red Hat のアプリケーション移行アプローチ」 を参照してください。
5.2. Red Hat のアプリケーション移行に関するアプリ
Red Hat は、Red Hat JBoss Middleware の定量化が可能で、コストが低く、リスクを低減し、完了しやすくなるように、大規模なアプリケーションを Red Hat JBoss Middleware に移行するストラテジーを定義しました。
プロプライエタリーまたは以前のミドルウェアプラットフォームから Red Hat JBoss ミドルウェアに移行すると、軽量でモジュール化されたクラウド対応のミドルウェアがサポートされたアプリケーションインフラストラクチャを備え、チームの生産性が向上します。JBoss Middleware およびその他の Red Hat テクノロジーは、アプリケーション開発とデリバリーを最新化するために非常に大きな利点を提供するため、より迅速にイノベーションが可能になります。
5.2.1. ベストプラクティス
Red Hat は、移行またはモダライゼーションのプランニングおよび実行時に、以下のプラクティスを推奨します。
情報を共有する集中型コラボレーションプラットフォームを作成します。
包括的なアクセス可能なドキュメントは、知識を簡単に共有し、同じ問題を 2 回解決することで労力が重複しないようにするために重要です。以下の項目を文書化することを推奨します。
- アプリケーションをゼロから移行したり、最新の状態にするためのステップごとのガイドです。
- 既知の問題および発生した問題の解決策のコレクション。
- 新しいプラットフォームに関する情報
- 特定のスケジュールプロジェクトに加えられた変更の記録。
可能な限り再利用、自動化、および標準化を行います。
新規コンポーネントを作成する代わりに、既存コンポーネントを再利用することを検討してください。ビルド、設定、デプロイメント、テストなどのアプリケーションライフサイクルに関連するプロセスを自動化します。ソフトウェアパッケージ形式、設定管理、ライブラリー、および依存関係を標準化し、文書化します。
実証済みの反復可能な方法論を使用します。
これは、実用的なアプローチに従い、機能的に同一アプリケーションを取得するためにできるだけ変更を加えることが推奨されます。この方法の使用 方法の詳細は、「移行 方法」を参照してください。
選択した Red Hat Middleware コンポーネントについて早期に Red Hat の技術専門知識が必要になります。
これは、移行とモダライゼーションを低リスク、予測可能、かつ効率的にするために重要です。Red Hat コンサルティングにご連絡ください。
5.2.2. 方法
Red Hat が推奨する方法は、段階的に計画し、移行またはモダライゼーションを行うのに役立つ、スケーラブルなアプローチです。
図5.1 Red Hat 移行の方法論

このアプローチは、以下のフェーズで構成されます。
- 発見
- テクノロジーを調査し、懸念事項、組織の要件、課題を特定します。オプションと考えられるアプローチについて話し合います。詳細は、「 Discover Phase 」を参照してください。
- 設計
- アプリケーション、インフラストラクチャー、プロセス、およびナレッジの観点から最も重要なリスクを特定し、軽減します。ソリューションのストラテジーを確立します。テクノロジーを証明し、ビジネスケースを構築します。詳細は、「 設計フェーズ 」を参照してください。
- デプロイ
- 明確に定義された配信モデルに従って、以前に定義したストラテジーを実行して、モダライゼーションまたは移行を繰り返しスケーリングします。詳細は、「フェーズのデプロイメント 」を参照してください。
5.2.2.1. 検出フェーズ
図5.2 Red Hat Migration Methodology: ディスカバリーフェーズ

発見 フェーズでは、すべての利害関係者と意思決定者を集めて、現在の状態とビジネスドライバーを理解し、移行またはモダライゼーションのニーズを決定します。
このフェーズでは、テクノロジーを調査し、潜在的なアプローチについて話し合います。既存の問題点、懸念事項、要件、および潜在的な課題を特定します。ビジネス優先順位の概要を定義し、評価の範囲を定めます。アプリケーションの開発と配信を最新にして、より迅速に革新できるようにする方法を決定します。
通常、これは Red Hat エキスパートとのワークショップで 1 日で完了します。
5.2.2.2. 設計フェーズ
図5.3 Red Hat Migration Methodology: Design Phase

設計 フェーズでは、すべてのリスクを特定し、ストラテジーとターゲットアーキテクチャを定義し、テクノロジーを証明し、ビジネスケースを構築します。このフェーズは、以下の手順で構成されます。
- 評価
既存のインフラストラクチャー、アーキテクチャー、テクノロジー、およびアプリケーションを確認します。依存関係、知識、プロセス、ライフサイクルを特定します。必要なインフラストラクチャー、アーキテクチャー、テクノロジー、およびアプリケーションを定義します。可用性と潜在的なリスクを決定します。計画を作成し、大まかな見積もりを提供します。
Migration Toolkit for Applications Web コンソールまたは CLI を使用してアプリケーションを分析すると、依存関係、潜在的なリスク、および相対作業の判断に役立ちます。これらのツールの使用方法は、『Web コンソールガイド』および『CLI ガイド』を参照してください。
- 証明
- 特定された技術的リスク、たとえば、高リスクの項目や未知の努力による問題を解決して文書化します。新しいプラットフォームインフラストラクチャを構築して形成します。結果に基づいて見積もりを改良します。
- パイロット
変換を試行するための小規模のアプリケーションを選択します。必要に応じて、ターゲットプラットフォームのインフラストラクチャーを完成させます。プロセスが微調整され、ドキュメントを更新します。この関係は、移行実行の反復( デプロイ)フェーズ でスケーリングされます。
アプリケーション Eclipse プラグインの Migration Toolkit を使用して、コードの移行を加速します。Eclipse プラグインの使用方法の詳細は、『 Eclipse Plugin Guide』 を参照してください。
- 計画
- 前の手順の結果に基づいて、見積もりをより正確にし、プロジェクト計画を改善します。移行を完了するためにデプロイフェーズで使用 するロールアウトストラテジー を定義します。関連する テクノロジー支援コース を準備してスケジュールします。
5.2.2.3. デプロイフェーズ
図5.4 Red Hat 移行の方法: デプロイフェーズ

デプロイフェーズ は、設計フェーズで作成されたプランを実行する時です。このフェーズでは、全体的な変換プロセスをスケーリングして計画を完成させ、すべてのアプリケーションを新しい本番環境に導入します。
計画は反復的に実行され、価値を段階的に提供します。反復ごとに、計画に対して継続的に検証し、次のスプリントを改善するために調査結果を文書化します。
アプリケーション Eclipse プラグインの Migration Toolkit を使用すると、反復ごとに速度が向上します。Eclipse または JBoss Developer Studio と使用でき、ソースコードで直接移行問題をマークし、インラインヒントを提供し、コード変更の提案を提供します。Eclipse プラグインの使用方法の詳細は、『 Eclipse Plugin Guide』 を参照してください。
付録A リファレンス資料
A.1. 関連資料
A.1.1. Get Involved
MTC(Migration Toolkit for Applications)が、多くのアプリケーションコンストラクトおよびサーバー設定に対応するのに役立つようにするには、以下の項目のいずれかに役に立ちます。
- jboss-migration-feedback@redhat.com にメールを送信し、MTA 移行ルールが対象とすべき内容をご連絡ください。
- 移行ルールをテストするためのアプリケーションの例を指定します。
移行が困難なアプリケーションコンポーネントおよび問題エリアを特定します。
- これらの問題移行エリアについて簡単な説明を記入します。
- 問題移行領域を解決する方法を説明する簡単な概要を記述します。
- アプリケーションで Migration Toolkit for Applications を試行します。発生した 問題を必ず報告 してください。
Migration Toolkit for Applications ルールリポジトリーへの貢献。
- Migration Toolkit for Applications ルールを記述して、移行プロセスを識別または自動化します。
- 新規ルールのテストを作成します。
- 詳細は、『ルール開発ガイド』を参照してください。
プロジェクトのソースコードへの貢献。
- コアルールを作成します。
- MTA のパフォーマンスまたは効率が向上します。
- 環境の設定およびプロジェクトの設定方法に関する詳細は、『Core Development Guide』を参照してください。
あらゆるレベルの貢献が大きく評価されます。
A.1.2. 重要なリンク
- MTA フォーク: https://developer.jboss.org/en/windup
MTA JIRA 問題トラッカー
- MTA メーリングリスト: jboss-migration-feedback@redhat.com
- MTA on Twitter: @JBossWindup
-
MTA IRC チャネル: Server FreeNode(
irc.freenode.net
)、チャネル#windup
(transcript)
A.1.3. 既知の MTA の問題
MTA の既知の問題は、Open MTA の問題 で確認できます。
A.1.4. MTA に関する問題の報告
MTC(Migration Toolkit for Applications)は、JIRA を課題追跡システムとして使用します。MTA の実行で問題が発生した場合は、JIRA Issue を作成してください。
JIRA で問題を作成するために、すでに JIRA アカウントにサインアップする必要があります。
A.1.4.1. JIRA の問題の作成
ブラウザーを開き、JIRA の Create Issue ページに移動します。
ログインしていない場合は、ページの右上にある Log In リンクをクリックし、認証情報を入力します。
以下のオプションを選択し、Next ボタンをクリックします。
プロジェクト
MTA のコアの問題には、Red Hat Application Migration Toolkit(↑DUP) を選択します。
MTA ルールの問題については、Red Hat Application Migration Toolkit ルール(DUPRULE)を選択し ます。
- Issue Type: Bug
次の画面では、以下のフィールドを入力します。
- Summary: 問題または問題の簡単な説明を入力します。
- Environment: オペレーティングシステム、Java のバージョン、およびその他の関連情報の詳細を指定します。
- Description: 問題の詳細情報を指定します。ログと例外トレースを必ず含めてください。
- Attachment: 問題を生じるアプリケーションまたはアーカイブに機密情報が含まれておらず、MTA 開発チームと共有する場合は、browse ボタンを使用して問題を添付します。
- Create ボタンをクリックして JIRA の問題を作成します。
改訂日時: 2020-10-18 19:16:32 AEST