Web アプリケーションサーバ JBoss 入門 ~JBoss 移行時の注意点 ~ 2012/9/7 株式会社日立ソリューションズ OSS ソリューションビジネス推進センタ
Web アプリケーションサーバ JBoss 入門 ~JBoss 移行時の注意点 ~ Contents 1. 章はじめに 2. 章 JBoss 移行手順 3. 章 JBoss 移行時の注意点 4. 章 JBoss 移行アセスメントサービスのご紹介
Web アプリケーションサーバ JBoss 入門 ~JBoss 移行時の注意点 ~ 1. 章はじめに
1-1 JBoss とは JBoss とは オープンソースの Java EE 標準アプリケーションサーバを中心としたソフトウェアプロダクト 技術革新を追求したコミュニティ版と安定性 品質 長期間サポートを追求した Enterprise 版 ( 商用版 ) コミュニティ版 商用版 ユーザコミュニティ ( 有志 ) による開発 メンテナンス 複数のプロジェクトにより構成 最先端の機能を実装 サポートなし Red Hat 社により安定バージョンとして再構成 エンタープライズレベルのテスト実施後にリリース 4 半期毎の定期アップデート 個別パッチの提供 24 時間 365 日のサポートを提供 3
1-2 移行するメリット JBoss に移行するメリット アプリケーションサーバのライセンスコスト サポートコストを抑えたい ライセンス費が不要となり コスト削減が可能 オープンスタンダードな技術を利用したい パブリッククラウドにて 多くの実績を持つオープンスタンダードな技術を採用 移植性の高いアプリケーションを開発可能 グローバルで利用可能 長期間システムを利用したい JBoss Enterprise Application Platform であれば最大 10 年間の長期サポートを適用 4
Web アプリケーションサーバ JBoss 入門 ~JBoss 移行時の注意点 ~ 2. 章 JBoss 移行手順
2-1 概要 JBoss への移行とは商用アプリケーションサーバで動作するアプリケーションを JBoss Application Server にデプロイすること アプリケーション A (war や ear 単位 ) Oracle WebLogic Server アプリケーション B (war や ear 単位 ) WebSphere Application Server アプリケーション A (war や ear 単位 ) アプリケーション B (war や ear 単位 ) JBoss Application Server Java EE 準拠で構成されたアプリケーションは基本的には 異なるアプリケーションサーバでも動作する ( ただし アプリケーションサーバごとに細かな仕様が異なるため そのままでは動作しないときがある ) 連携ソフトウェア 他システム連携部分 非機能要件も踏まえて検討しておく必要がある 6
2-2 移行フロー 7
2-3 アセスメント (1) アセスメントの目的 コンポーネント バージョン 構成等によっては移行難易度が異なる 移行元システムの情報を洗い出し 移行時のリスクを調査する アセスメントの詳細 調査項目調査内容評価のポイント 移行元製品 /OS/JDK バージョン サーバ構成 アプリケーションサーバ OS JDK バージョン含む サーバインスタンス数 クラスタ使用有無 フロントシステム ロードバランサ デプロイする war, ear の数 JDK のバージョン差異に伴う影響 J2EE(Java EE) のバージョン差異に伴う影響 OS のバージョンや種類に伴う影響 システム規模による影響 クラスタ機能を使っている場合 置き換え ロードバランサやフロントシステム連携部の置き換え 8
2-3 アセスメント (2) 調査項目調査内容評価のポイント フレームワーク Java EE コンポーネント クライアント技術 バックエンドデータベース フレームワーク バージョン含む アプリケーションサーバ固有フレームワーク 独自フレームワークの仕様に関連する移行阻害要因 Java EE コンポーネント 他システム連携による影響 (WEB サービス JMS JTS など ) クライアントアプリケーション データベース バージョン含む リッチクライアント (Ajax など ) を使用している場合はアプリケーションサーバ固有の問題が発生する可能性が高い データベースバージョンアップや変更の必要性に伴うコスト 運用管理手法 運用管理ツール 管理コンソールやスクリプトの変更コスト 外部ライブラリ / システム連携 3rd ベンダライブラリ 連携システム 移行先環境での適合性や関連システムへの影響 9
2-4 影響度調査 アセスメントの結果から 高いリスクを有すると考えられる項目を中心に詳細な調査を行う 実施内容 利用しているテクノロジのリストアップ ( フレームワークや Java コンポーネント ) 各種コンフィグレーションの確認 ライブラリや API のリストアップ 必要となる作業項目やリストの洗い出しを実施 10
2-5 方式検討 アプリケーションサーバ固有のライブラリや機能ギャップ フレームワーク移行方式の詳細プランニングを実施する 具体的に書き換えの必要があるコンフィグレーションの洗い出しと置き換えプランを検討する ( 例 ) データソース JNDI クラスタリング JMS データベースや外部ミドルウェア モジュール 関連システムについての調査 プランニングも実施 11
2-6 アプリケーションの移行 アプリケーション移行の 2 つのアプローチがあり それぞれのメリット デメリットを考慮し 移行方式を決定する 項目既存ソースコードを流用アプリケーション再実装 概要 アプリケーションを改修せず そのまま JBoss へ移行 コスト 期間〇大幅なソースコードの修正不要 フレームワークや利用する Java EE テクノロジーを変更 ( 再実装 ) して JBoss へ移行 詳細設計から再実装 標準化 既存フレームワークを利用 〇標準的なオープンフレーム ワークに変更 保守性 既存フレームワークを理解したメンバによる保守が必要 〇フレームワークが標準化されるため 異なるシステムでもソースコードの保守性が高い 総合評価スピード 初期コスト重視保守性重視 12
Web アプリケーションサーバ JBoss 入門 ~JBoss 移行時の注意点 ~ 3. 章 JBoss 移行時の注意点
3-1 全体的な注意点 JBoss 移行の注意点 Java 標準仕様 (Java EE / J2EE, Java SE / J2SE) のバージョン間差異を把握しておくことが重要 アプリケーションサーバ固有のライブラリ フレームワークの利用状況によってはアプリケーションの再実装が必要 データソース JMS クラスタ実装などは再定義が必要 クラスローダはアプリケーションサーバ毎に異なるためエラーの発生原因となる場合が多い WEB サービスなど 他システム連携部分は 関連システムとの整合性に注意 14
3-2 WebLogic から JBoss への移行 (1) JBoss AS 6 系への移行難易度 (Java 仕様との関係 ) WebLogic Version 5.1 6.1 7.0 8.1 9.2 10.3 JBoss AS 6 系 J2EE(Java EE) 1.2 1.3 1.3 1.4 5.0 5.0 5 JDK 1.2 1.3 1.3 1.3 1.4 5.0 6.0 Servlet 2.2 2.3 2.3 2.3 2.4 2.5 2.5 JSP 1.1 1.2 1.2 1.2 2.0 2.1 2.1 EJB 1.1 2.0 2.0 2.0 2.1 3.0 2.1/3.0 移行難易度 - 15
3-2 WebLogic から JBoss への移行 (2) 移行時に対策が必要な例 WebLogic 固有パッケージクラスに注意 weblogic で開始されるパッケージに属しているクラスは利用不可のため 代替機能の実装が必要 Workshop フレームワークに注意 WebLogic Workshop が提供するコンポーネントを利用している場合は 代替機能の実装が必要 過去互換動作 null 参照時の空文字表示の動作が異なるため ロジック修正が必要 JBoss null WebLogic 16
3-3 WebSphere から JBoss への移行 (1) JBoss AS 6 系への移行難易度 (Java 仕様との関係 ) WebSphere Version J2EE (Java EE) 3.0 3.5 4.0 5.0 5.1 6.0 6.1 7.0 JBoss AS 6 系 N/A N/A 1.2 1.3 1.3 1.4 1.4 5 5 JDK 1.1 1.2 1.3 1.3 1.4 1.4 5 6 6.0 Servlet JSP 2.0/2. 1 0.91/ 1.0 2.0/2. 1/2.2 0.91/1.0/1.1 2.2 2.3 2.3 2.4 2.4 2.5 2.5 1.1 1.2 1.2 2 2 2.1 2.1 EJB 1 1.0+α 1.1 2 2 2.1 2.1 3 2.1/3.0 移行難易度 - 17
3-3 WebSphere から JBoss への移行 (2) 移行時に対策が必要な例 WebSphere 固有パッケージクラスに注意 com.ibm.* で開始されるクラスは利用不可のため 代替機能の実装が必要 JSP IBM 独自拡張タグ (tsx) に注意 IBM 独自タグは利用不可のため JSTL(JSP Standard Tag Library) へ書き換えが必要 ( 例 )tsx:repeat c:foreach WebSphere 固有デプロイメント置き換えが必要なデプロイメントディスクリプタ ibm-web-ext.xmi ibm-web-bnd.xmi ibm-application-ext.xmi ibm-application-bnd.xmi ibm-ejb-ext.xmi ibm-ejb-bnd.xmi 18
Web アプリケーションサーバ JBoss 入門 ~JBoss 移行時の注意点 ~ 4. 章 JBoss 移行アセスメントサービスの紹介
4-1 JBoss 移行アセスメントのご紹介 法人向けに JBoss Enterprise Application Platform への移行アセスメントサービスを提供しています http://www.hitachi-solutions.co.jp/redhat/ 現行システムの情報をヒアリングさせていただき 移行アセスメントを実施します 提出物 アセスメント診断レポート 20
他社所有商標に関する表示 Microsoft Windows windows Server その他のマイクロソフト製品名は 米国 Microsoft Corporation の米国及びその他の国における登録商標又は商標です インテル Itanium Xeon は 米国インテル Corporation の米国及びその他の国における登録商標又は商標です Linux は Linus Torvalds の米国及びその他の国における登録商標又は商標です Red Hat JBoss は 米国及びその他の国における Red Hat,Inc. の登録商標又は商標です UNIX は The Open Group の米国及びその他の国における登録商標です その他本サービス仕様書に記載の会社名及び製品名は 一般にそれぞれの会社の商標又は登録商標です WebSphere は 米国及びその他の国における International Business Machines Corp. の登録商標です WebLogic は 米国及びその他の国における Oracle International Corp. の登録商標です 21
ご清聴ありがとうございました END Web アプリケーションサーバ JBoss 入門 ~JBoss 移行時の注意点 ~ 2012/9/7 株式会社日立ソリューションズ OSS ソリューションビジネス推進センタ 本資料に記載の会社名及び製品名は 一般にそれぞれの会社の商標又は登録商標です