Index
struts1に依存したアプリケーションを例に、TUBAMEを利用した移植性検討(struts1からSpringMVCへの移植検討)を行います。 TUBAMEのナレッジベース検索機能より、移植項目の抽出、移植概算規模の算出を行います。TUBAMEの依存性検索では、業務アプリケーションが依存する情報から、移行後の環境で利用できないものを抽出し、可視化します。
このHands-onで必要なものは以下があります。あらかじめご準備ください。
Java
Eclipse
TUBAME(Eclipse plugin)
検索対象の資材
http://osdn.jp/projects/terasoluna/downloads/63023/terasoluna-server4jweb-tutorial_2.0.5.3.zip/
![]() | Note |
---|---|
zipにある「tutorial-thin」をEclipseにインポートしてください。 Eclipseにインポート時は、Eclipseのワークスペースにインポートしてください |
ナレッジベース検索で利用する「Struts1からSpringMVCへの移行ナレッジ」
TUBAMEご利用の環境がインターネットに接続できない場合のみ、以下URLより手動で取得してください。TUBAMEご利用の環境がインターネット接続可能な場合は取得不要です。 https://github.com/TUBAME/migration-knowledge/releases/download/struts1tospringmvcja/Struts1ToSpringMVC.zip
![]() | Note |
---|---|
zipにある「Struts1ToSpringMVC」フォルダを、Eclipseにインポートした「tutorial-thin」プロジェクトにtubame-knowledgeフォルダを作成し、tubame-knowledgeフォルダ配下に配置してください tutorial-thin |-tubame-knowledge |-Struts1ToSpringMVC |- Struts1ToSpringMVC.xml |- index.html |- js |- css |- images |
struts1に依存したアプリケーションを例に、TUBAMEの以下の機能を実行します。
part1 ナレッジベース検索
Struts1からSpringMVCへの移行ナレッジを利用して、ナレッジベース検索実行を実施し、移植項目の確認を行い、移植概算規模を算出する。
part2 依存性検索
移行先環境にspringMVCを設定し、依存性検索を実施する。依存性検索では、業務アプリケーションの依存性情報を抽出し、移行先環境で利用できない情報を出力されるので、検索結果を確認する。
ナレッジベース検索については、本Hands-onでは以下を実施する。
![]() | Hands-on-Task1. |
---|---|
![]() | Hands-on-Task2. |
---|---|
![]() | Hands-on-Task3. |
---|---|
![]() | Hands-on-Task4. |
---|---|
![]() | Hands-on-Task5. |
---|---|
![]() | Hands-on-Task6. |
---|---|
依存性検索については、本Hands-onでは以下を実施する。
移行先環境を設定し、依存性検索を行う。
![]() | Hands-on-Task7. |
---|---|
![]() | Hands-on-Task8. |
---|---|
依存性検索結果を確認する。
![]() | Hands-on-Task9. |
---|---|
移行先環境で利用できないAPIを可視化する
![]() | Hands-on-Task10. |
---|---|
ナレッジベース検索ウィザードの起動
プロジェクトを右クリックし、以下のメニューを選択する。
→マイグレーションナレッジの選択
ナレッジベース検索ウィザードが表示されたら、 FrameworkMigration_Struts1_To_SpringMVC4 を選択する。
ボタンをクリックし、![]() | Warning |
---|---|
インターネット接続ができない環境の場合は、 ナレッジベース検索で利用する「Struts1からSpringMVCへの移行ナレッジ」 を参考に、手動でマイグレーションナレッジを取得してください。 取得後は、 ボタンをクリックし、ファイルの選択ダイアログで利用するマイグレーションナレッジ(本Hands-onでは「tubame-knowledge/Struts1ToSpringMVC/Struts1ToSpringMVC.xml」)を選択する。 |
ナレッジベース検索の実行
検索実行ダイアログの
ボタンをクリックする。Hands-on-Task2.ナレッジベース検索結果より、移植項目を確認する
ナレッジベース検索結果より、移植項目を確認する
ナレッジベース検索の実行結果(result.jbm)ファイルがプロジェクト配下に作成され、ファイルの内容が jbmファイルエディタ で表示されます。 修正項目一覧が表示され、抽出された各修正項目の修正難易度や修正ライン数、修正対象ファイルなどの情報が表示されます
![]() | Warning |
---|---|
jbmファイルエディタ がオープンしていない場合は、プロジェクト配下に作成されているresult.jbmファイルをダブルクリックしてください |
![]() | Note |
---|---|
ナレッジベース検索のGUI(パースペクティブ)の構成は、jbmファイルエディタ以外に以下が存在します。
|
![]() | Important |
---|---|
jbmファイルエディタはナレッジXMLにあるチェックポイントで設定された検索条件で検索した結果を一覧表示しています。
|
移植規模を算出するためには、 jbmファイルエディタ の 及び が 未 となっている修正項目について、 移植要否を全て確定する必要があります。
作業状況ビューを確認する。
目視確認を行う
jbmファイルエディタ の に対して、 チェックリスト情報ビュー の を確認する。
目視確認項目の特定。
目視確認項目は、jbmファイルエディタの列「目視状況」をクリックして、「未」と表示されているものが対象となります。 「未」と表示されている行をクリックし、チェックリスト情報ビューの目視確認内容を確認します。
目視確認項目を移植不要とする
jbmファイルのセーブ
作業後は、Ctrl+Sでセーブしてください。
移植規模を算出するためには、 jbmファイルエディタ の 及び が 未 となっている修正項目について、 移植要否を全て確定する必要があります。
作業状況ビューを確認する。
ヒアリング確認項目の特定。
ヒアリング項目は、jbmファイルエディタの列「ヒアリング状況」をクリックして、「未」と表示されているものが対象となります。 「未」と表示されている行をクリックし、チェックリスト情報ビューの目視確認内容を確認します。
ヒアリング確認項目を移植要とする
jbmファイルのセーブ
作業後は、Ctrl+Sでセーブしてください。
移植規模を算出するためには、 移植項目でjbmファイルエディタの列ステップ数が「TODO:SE 手動算出」となっている項目はすべてステップ数を入力する必要があります。
作業状況ビューを確認する。
SE手動算出項目の特定。
SE手動算出項目は、jbmファイルエディタの列「ステップ数」をクリックして、ステップ数が「TODO:SE 手動算出」と表示されているものが対象となります。
SE手動算出項目に対してステップ数を入力する。
jbmファイルのセーブ
作業後は、Ctrl+Sでセーブしてください。
作業状況ビューを確認する。
チェック済みの移植不要項目の削除
エディタのアクションメニューより「チェック済みの移植不要項目の削除」をクリックする。
レポート生成ウィザードを起動する。 プロジェクトを右クリックし、以下のメニューを選択する。
→レポートテンプレートを選択及びレポート生成実行。
レポート生成完了
Eclipseのプリファレンス設定で移行先環境を設定します。
![]() | Warning |
---|---|
移行先環境は、デフォルトでeap6.2(JBossEAP6.2)、tomcat8(Tomcat8)、springmvc4(springMVC4)が選択可能になっており、デフォルトはeap6.2が有効となっています。 本Hands-onでは、springmvc4を移行先環境とするため、デフォルトで有効になっているeap6.2のチェックを解除し、springmvc4をチェックします。 |
依存性検索ウィザードを起動します。プロジェクトを右クリックし以下を実行します。
→
依存性検索ウィザードでライブラリ設定を確認します。移行先環境ライブラリにspringmvc4が存在することを確認します。
依存性検索の実行します。依存性検索ウィザードの
ボタンをクリックします。
依存性検索の実行結果(result.gjbm)ファイルがプロジェクト配下に作成され、ファイル内容が依存性検索結果ビューに上に表示されます。
このビューでは、業務アプリケーションのJava,Jsp,XMLを対象に、移行先環境(本Hands-onの場合はspringmvc4を設定)で利用できない情報をエラーとして表示します。
java
業務アプリケーションが移行先環境で利用できないクラスを利用している場合、エラー(移行先に存在しません)として表示します。依存性検索結果ビューでは以下の内容が確認できます。
移行先環境で利用できないクラス名及びクラスが所属するパッケージ
移行先環境で利用できないクラスを業務アプリケーションがどれくらい利用しているか、業務アプリケーションクラス毎の利用箇所や、利用箇所数の合計を表示します
xml
xmlファイルでスキーマファイルの定義で、dtdファイルが指定されている場合、該当ファイルが移行先環境に存在するか確認し、存在しない場合はエラー(移行先に存在しません)として表示します。
jsp
jspはjspファイルでタグライブラリの利用宣言(taglibのuri属性)で拡張子がdtdの場合に、移行先環境に該当のdtdファイルが存在するか確認する。 dtdファイルが移行先環境に存在しない場合に、エラー(移行先に存在しません)として表示します。
![]() | Warning |
---|---|
本Hands-onの場合は、jspのエラーは存在せず、taglibのuri属性がdtd指定でなかったため、チェックをスキップした旨のWarnメッセージが出力されている。 |
依存性検索のレポートを行うには、依存性検索の結果ファイルであるgjbmファイルが必要となります。
![]() | Warning |
---|---|
本Hands-onではプロジェクトの直下にgjbmファイル及びナレッジベース検索結果ファイルであるjbmファイルが存在することを確認してください。 |
レポート生成ウィザードを起動する。 プロジェクトを右クリックし、以下のメニューを選択する。
→レポートテンプレートを選択及びレポート生成実行。
レポート生成完了