Comments
Description
Transcript
マイグレーション 1 ISE Webシステム基盤 高谷 友加里()
マイグレーション ISE Webシステム基盤 高谷 友加里([email protected]) 1 04. マイグレーション Disclaimer この資料は日本アイ・ビー・エム株式会社ならびに 日本アイ・ビー・エム システムズ・エンジニアリング株式会社の正式なレビューを受けておりませ ん。 当資料は,資料内で説明されている製品の仕様を保証するものではありません。 資料の内容には正確を期するよう注意しておりますが,この資料の内容は2010年12月現在の情 報であり,製品の新しいリリース,PTFなどによって動作,仕様が変わる可能性があるのでご注意 下さい。 今後国内で提供されるリリース情報は,対応する発表レターなどでご確認ください。 2 WAS V7 最新動向Workshop 2 04. マイグレーション Agenda §1.システム環境のマイグレーション §2.アプリケーションのマイグレーション §3.マイグレーション時の注意点 3 WAS V7 最新動向Workshop 3 04. マイグレーション §1. システム環境のマイグレーション 4 WAS V7 最新動向Workshop 4 04. マイグレーション WAS V6は2010年9月末に通常サポートが終了 2009年2月に発表されたとおり,WAS V6は2010年9月末日でプログラム・ サポートが終了 – 製品・サービス発表レター SWA09011-0 「WebSphere Application Server V6.0 の プログラム・サポート終了 の 発表」 http://www.ibm.com/jp/domino02/NewAIS/aisextr.nsf/ByLetterNo/SWA09011 2010年10月以降も製品サポートが必要な場合には, バックレベル・プログラム支援サービスを利用可能 – バックレベル・プログラム支援サービスに ついては担当営業にご相談を – WAS V6.0のバックレベル・プログラム 支援サービスは,2013年4月までの提供 – バックレベル・プログラム支援サービスの利用には, 最新のFix Packの適用が前提となる 5 WAS V7 最新動向Workshop WAS V6のプログラム・サポートが2010年9月30日に終了となりました。 これを機会にWAS V7への移行をご検討されるお客様も多いかと思いますので,当セッションでは要件別のマイグレーション方法 やマイグレーション実行時の注意点についてご紹介いたします。 5 04. マイグレーション WAS V7.0への要件別マイグレーション方法 V7.0 重要 どうやってWAS V7.0にマイグレーションしたら良いか? Start! Start! Yes 本番環境を停止 本番環境を停止 できない? できない? Yes 新規構築 新規構築 No No WAS WAS V5.0以前の V5.0以前の バージョン? バージョン? Base版から Base版から ND版? ND版? Yes No Yes マイグレーション マイグレーション 先が同一 先が同一 ディレクトリ? ディレクトリ? No 6 マイグレーション マイグレーション 先が別マシン? 先が別マシン? Yes マイグレーションツール マイグレーションツール (コマンドラインのみ) (コマンドラインのみ) WAS WAS アンインストール アンインストール マイグレーションツール マイグレーションツール (コマンドラインのみ) (コマンドラインのみ) No マイグレーションツール マイグレーションツール (コマンド/GUI) (コマンド/GUI) WAS V7 最新動向Workshop WAS V7.0へのマイグレーション方法としては大きく分けて二種類あります。一つは新規に環境を構築し,既存環 境の設定と同様の設定を新規環境にも行う方法です。そしてもう一つはWASが製品として提供しているマイグ レーションツールを使用して既存環境の設定を新規環境に引き継がせる方法です。 ただし,マイグレーションツールを使用できない,もしくは使用しない方が作業負荷が低いと考えられる場合がいく つかあります。既存の本番環境を全く停止できない場合やWAS V5.0以前のバージョンからV7.0へマイグレー ションを行う場合にはツールが使用できません。さらに,Base版からNetworkDeployment版へマイグレーション する場合にも,新規構築の方が作業負荷が低いと考えられます。これらのツールが使用できない場合について はさらに詳細に後述します。 上記以外ではマイグレーションツールを使用することが可能ですが,マイグレーション先が同一マシンか別マシン か,マイグレーション先のディレクトリが既存環境と同一か異なるかによってもツールを使い分ける必要があります。 6 04. マイグレーション マイグレーションツールとは 既存環境から構成情報を抽出し,新規導入されたV7.0のプロファイルに適用 することができるツール コマンドラインツール – WASPreUpgrade(既存構成の抽出) / WASPostUpgrade(既存構成の復元) GUIツール(マイグレーションウィザード) – コマンドラインツールのフロントエンド・プログラム – 指定されたパラメーターでWASPreUpgradeとWASPostUpgradeが実行される – プロファイルの新規作成も行える コマンド実行画面 7 ウィザード実行画面 WAS V7 最新動向Workshop WAS V7では既存のWAS環境の構成情報などを新環境に移行するマイグレーションツールが提供されています。 このツールによるマイグレーションでは,既存のWAS環境のファイルを上書きするのではなく,別ディレクトリに導 入された新環境に旧環境の構成情報がコピー・反映されます。旧環境がそのまま残るため,トラブルが発生した 際の旧バージョンへの切り戻しなどが簡単にできます。 マイグレーションツールでは,コマンドラインのツールとGUIを使用したツールの二種類が提供されます。後者は 前者のフロントエンド・プログラムであり,実際にはコマンドラインツールによって全ての移行作業が行われます。 また,GUIツールでは構成情報の移行に加えて新規プロファイルの作成も可能です。 これらの二種類のマイグレーションツールは要件によって使い分ける必要があります。以降のスライドでは,要件 別のマイグレーションツールの使用方法についてご紹介いたします。 7 04. マイグレーション 別マシンへマイグレーションする場合 別マシンへマイグレーションする場合には,コマンドラインのマイグレーション ツールのみが使用可能(GUIツールは使用不可) 手順概要 新規環境 既存環境 2. プロファイル 1.WAS V7 の作成 インストール およびFix適用 7. WAS V7 プロセスの 起動 3. 旧WASプロセスの停止 4. WAS V7メディアから WASPreUpgradeの実行 (構成の取得) V7 バックアップ ファイル 8 5. バックアップ ファイルの移動 バックアップ ファイル 6. WASPostUpgrade の実行 (構成の復元) WAS V7 最新動向Workshop まず,既存環境とは別マシン上にWAS V7.0環境を構築しマイグレーションを実施する場合には,コマンドライン のマイグレーションツールのみが使用可能です。GUIツールは使用できません。 マイグレーションツールを使用して別マシン上にマイグレーションする手順概要は以下です。 まず,別マシン上にWAS V7.0を導入し,そこで新規にプロファイルを作成します。新規プロファイル作成時には, 新規環境と既存環境でセル名とノード名を同一にしておく必要がありますのでご注意ください。また,ND環境の 場合にはDMプロファイルとカスタム・プロファイルを作成しますが,カスタム・プロファイルをDMプロファイルに統 合していない状態にしておいてください。統合しますと後続作業のWASPostUpgradeの実行に失敗します。次 に旧バージョンのプロセスを停止した状態でWASPreUpgradeを実行すると,旧環境の構成情報が抽出され, バックアップファイルに保存されます。作成されたバックアップファイルを新規環境のマシン上に移動させ, WASPostUpgradeを実行すると,バックアップファイルが読み込まれ,その内容がWAS V7.0のプロファイルに反 映されます。この後,WAS V7.0のプロセスを起動すると,旧バージョンの構成を引き継いだ新サーバーが稼働す ることになります。 また,WASPostUpgradeの実行時にはWAS V7.0環境に変更を加える前のデフォルトの構成をbackupConfigコ マンドで取得します。取得したバックアップは<PROFILE_ROOT>/tmp以下に保管されます。このバックアップを 取得しておくことで,マイグレーション問題発生時にはrestoreConfigコマンドを使用してWAS V7.0のデフォルト 環境に戻すことが可能です。 8 04. マイグレーション 【プロジェクトへの適用例】別マシンへのマイグレーション 別マシンへのマイグレーションの場合,既存環境の停止は WASPreUpgradeコマンドの実行時のみ – 計画停止時に実行すれば,サービスに影響なくマイグレーションが可能 既存環境 V6 マイグレーション 完了後に サービス切り替え 新規環境 V7 WAS WAS IHS IHS WAS WAS バックアップ ファイル 計画停止時に WASPreUpgrade実行 (構成の取得) 既存環境は稼動させながら WASPostUpgrade実行 (構成の復元) 9 WAS V7 最新動向Workshop 実際に別マシン上にマイグレーションする場合のプロジェクトへの適用例です。 この場合,既存環境を停止させるのはWASPreUpgradeコマンドの実行時のみです。そのため,既存環境の計 画停止時にWASPreUpgradeコマンドを実行して構成を抽出しておけば,あとは既存環境は稼動させながら新 規環境を構築し,抽出した構成を適用することが可能です。 9 04. マイグレーション 同一マシンの同一ディレクトリにマイグレーションする場合 コマンドラインのツールと旧WAS環境のアンインストールの組み合わせで可能 既存のWAS/IHS/Plugin環境は全て削除することになるため,マイグレーション 時の問題発生に備えて事前にフルシステム・バックアップの取得を推奨 手順概要 既存環境 1. 旧WAS環境停止 3. 旧WAS環境 アンインストール 2. WAS V7メディアから WASPreUpgradeの実行 (構成の取得) 4. WAS V7インストール 6. WASPostUpgrade の実行(構成の復元) およびFIX適用 バックアップ ファイル V5.1/6/6.1 V7 7. WAS V7プロセス起動 5. プロファイル作成 10 WAS V7 最新動向Workshop 次に,既存環境が稼動するマシン上で,かつ既存環境と同一のディレクトリにWAS V7.0を導入してマイグレー ションを行う場合を考えます。 この場合にはコマンドラインのマイグレーションツールと既存環境のアンインストールを組み合わせることにより実 現可能となります。WASPreUpgradeとWASPostUpgradeを使用することで,構成情報を抽出するタイミングと新 規環境に構成情報を適用するタイミングを独立させることができます。 これにより,構成情報の抽出→既存環境のアンインストール→WAS V7.0のインストール→構成情報の適用という 流れでマイグレーションができるようになります。 また,各コマンドはWAS V7.0の<INSTALL_ROOT>/binから実行する必要があります。 WASPreUpgrade 実行 時にはWAS V7.0がまだ導入されていないため,製品メディアを挿入してそこからコマンドを実行する必要があり ます。 なお,既存環境は完全に削除することになりますので,マイグレーション前にフルシステム・バックアップを取得し, 問題が発生した場合に容易に切り戻せるように準備しておくことをお勧めします。 10 04. マイグレーション 同一マシンの別ディレクトリにマイグレーションする場合 コマンドラインツールとGUIのマイグレーション・ウィザードがどちらも使用可能 – ウィザードではプロファイルの作成も可能なため,コマンドによる既存構成の取得 とWAS V7.0への移行を同時に実施可能 – コマンドラインを使用する場合にはP.8のスライド手順と同様 手順概要 既存環境 2. 旧WAS環境停止 1.WAS V7インストール 3.V7導入ディレクトリから ウィザードの起動 およびFIX適用 4.ウィザードによる 構成取得 V7 5.ウィザードによるプロファイル作成 バックアップ ファイル 6.ウィザードによる構成復元 7. WAS V7プロセス起動 11 WAS V7 最新動向Workshop 最後に既存環境が稼動するマシン上の別ディレクトリにWAS V7.0を導入してマイグレーションを行う場合です。 この場合にはコマンドラインツールとGUIツールであるマイグレーション・ウィザードのどちらも使用することが出来 ます。 GUIのマイグレーション・ウィザードはコマンドラインのマイグレーションツールのフロントエンドですので,コマンド ラインで引数として指定するパラメーターをGUI画面で設定しながら進めることが可能です。また,移行先として指 定するWAS V7.0のプロファイルは既存のものを使用することもできますし,新規に作成することもできます。 コマンドラインツールを使用する場合にはバックアップファイルをマシン間で移動させる手順は省けますが,それ 以外はP.8に記載しました手順と同様になります。 11 04. マイグレーション V7 【事例】WAS V6.0からV7.0へのマイグレーション 最新 事例 コマンドラインのマイグレーションツールを使用した同一筐体内でのマイグレーション WAS/IHSサーバーx2台で,1アプリケーション・サーバーあたり2アプリケーション稼動 WAS V6で設定していたWASパラメータも問題なく移行 マイグレーションツールがポート番号を自動で分けるため,同一筐体でV6,V7を検証期間に 並存稼動させる事が可能 本番のマイグレーションは,日曜夜間のシステム停止時間帯に約8時間で作業完了 (システムバックアップ,業務稼動確認等含む) WAS V7製品導入時にもJava停止が必要であったため,製品導入は事前の休日に実施 V7 V6 移行後は V6,V7 環境が 共存可能 構成 IHS WAS IHS WAS IHS WAS IHS WAS マイグレーション ツール実行 12 WAS V7 最新動向Workshop こちらはWAS V6.0からV7.0にコマンドラインツールを使用してマイグレーションを行った事例です。マイグレー ションツールでは旧環境のポートを新環境でも引き継ぐことも可能ですが,オプションの指定により旧環境とは異 なるポートを新環境に割り当てることも可能です。それにより,マイグレーション後にも旧環境と新環境を共存させ ることが出来ます。コマンドラインツールを使用する場合,デフォルトでは旧環境のポートを引き継ぎます。新規に ポートを割り振りたい場合にはWASPostUpgradeコマンド実行時に-replacePortsオプションでFalseを指定する 必要があります。 WAS V7.0 InfoCenter:WASPostUpgradeコマンド http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.migration.nd.doc/info/ae/ ae/rmig_WASPostUpgrade.html 12 04. マイグレーション 新規構築が必要な場合 WAS V5.0以前からのマイグレーション – V4.0以前では管理トポロジーが根本的に変更されているため,新規の環境構築 が必要 – V5.0からは基本的な管理トポロジーは変更されてないため,同様の構成を取るこ とは可能だが,ツールによるマイグレーションはサポートされていない Base環境からND環境へのマイグレーション – Base環境の全てのアプリケーション・サーバーをND環境でクラスターに追加する ことはできない – データソースやWebSphere変数など有効範囲を持つ設定では既存の設定を削除 し,再設定が必要な場合もある – 上記の作業負荷を考慮すると新規構築の方が手順も単純で難易度も比較的容易 既存環境を全く停止できない場合はツールの使用は不可,デフォルト値から の変更が少ない場合にも新規構築の方が容易 13 WAS V7 最新動向Workshop WASのバージョンアップを行う際,マイグレーションツールを使用せず,新規に環境構築が必要な場合について ご紹介します。 まず,WAS V4.0以前とV5.0以降では,サーバーの管理トポロジーが根本的に変更されています。これらのバー ジョン間では,起動しているプロセスの種類やその役割,出力されるログの種類と場所,サーバーを管理するため のコマンドの名前や使用方法,構成情報が保存される場所や方式などが全て異なっています。そのためWAS V4.0以前のサーバー構成情報や運用・監視手段は,新しい環境に移行することができません。完全に新しく設 計し直す必要があります。 WAS V5.0以降であれば,構成情報などは新環境に引き継ぐことが可能です。ただし,V5.0はツールによる自動 移行ができないため,新規で環境を構築する必要があります。 また,Base環境からND環境にマイグレーションする場合,V5.1以降であればツールによるマイグレーションを行 うことも可能ですが,いくつか考慮事項があります。 ND環境ではクラスターを作成することが可能ですが,Base環境の各ノードの既存アプリケーション・サーバーを シングルサーバーとしてマイグレーションした状態でND環境に統合しても,全ての既存アプリケーション・サー バーをクラスターメンバーに組み込むことができません。そのため,マイグレーション後のアプリケーション・サー バーを有効活用できないという考慮点があります。 ただし,クラスター作成時にオプションを選択することで,マイグレーション後に既存のアプリケーション・サーバー の設定と同一の設定でクラスターメンバーを作成することは可能です。 クラスターメンバー作成手順の詳細については以下リンク先をご参照ください。 <WAS V7.0 InfoCenter:クラスターの作成> http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/ae/trun_w lm_cluster_v61.html 13 04. マイグレーション IHSおよびプラグインのマイグレーション IHSとプラグインはマイグレーション・ツールによる移行ができないため, 手動でマイグレーションを行う – 既存環境のIHS構成ファイル(httpd.conf)をバックアップし,新環境でリストア – IHS V2.0.47やIHS V6.0/6.1(Apache2.0.47)とIHS V7.0(Apache 2.2.8)ではhttpd.confに 互換性があるが,IHS V7.0で非推奨となった機能に注意 IHSをセル内で管理していた場合,WAS V7.0へのマイグレーション後に 管理コンソール上でIHSとプラグインの再構成が必要 – WASのマイグレーション後,管理コンソール上 では旧環境のセル内で管理していたIHSの構成 情報も新環境に引き継がれたように見えるが, 実際は引き継がれていないため,起動しない 設定は旧環境 のまま – 管理コンソール上でIHSの定義を削除・新規作成 を行い,さらにプラグインの生成・伝播が必要 14 WAS V7 最新動向Workshop IHSとプラグインについてはマイグレーションツールを使用して新バージョンに移行することができません。そのた めIHSについては構成ファイル(httpd.conf)を旧環境から新環境にコピーして配置することでマイグレーションを 行います。WAS V5.1におけるIHS V2.0.47やIHS V6.0/6.1とIHS V7.0については基本的に互換性があります が、IHS V7.0で非推奨となった機能にご注意ください。さらに、IHS V2.0.47やIHS V6.0からIHS V7.0に移行す る場合には、中間のリリースにて非推奨となった機能や除去された機能についてもご確認ください。 WAS V7.0 InfoCenter:非推奨のフィーチャー、安定化されたフィーチャー、および除去されたフィーチャー http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.multiplatform.doc/info /ae/ae/rmig_deprecationlist.html WAS V6.1 InfoCenter:非推奨のフィーチャーと除去されたフィーチャー http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.doc/info/a e/ae/rmig_deprecationlist.html WAS V6.0 InfoCenter:非推奨のフィーチャーと除去されたフィーチャー http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.nd.doc/info/a e/ae/rmig_deprecationlist.html WAS V5.1 InfoCenter:使用すべきでないバージョン 5.1 のフィーチャー http://publib.boulder.ibm.com/infocenter/wasinfo/v5r1/index.jsp?topic=/com.ibm.websphere.nd.doc/info/a e/ae/rmig_deprecationlist.html また、プラグインについても新環境で再度、生成・伝播を行う必要があります。WAS V5.1から移行する場合には、 WAS V7.0と比べて以下の点が異なりますのでご注意ください。 ・アプリケーション(EAR)のデプロイ時にWARのマップ先として、アプリケーション・サーバーだけではなく、Web サーバーも選択する ・Plugin構成ファイルの生成/伝搬は、EARのデプロイ後、管理コンソールの[サーバー]-[Webサーバー]の設定で、 Webサーバーを選択して、[プラグインの生成]、[プラグインの伝搬]ボタンをクリックします。 詳細は下記のInfoCenterの記載を参照ください。 WAS V7.0 InfoCenter:Web サーバー・コレクション http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/ae/fh_we bservers.html 14 04. マイグレーション 運用スクリプトのマイグレーション コマンド実行パス – V6.0からプロファイルという概念が加わり,V5.xで<WAS_ROOT>にあったコマン ドやログファイルの場所は,各プロファイル のディレクトリー以下に変更 – 現在スクリプトでコマンドの場所やログの場所を指定している場合には修正が必要 • V5.x での例 – – サーバーの起動 <WAS_ROOT>/bin/startServer.sh サーバーのログ <WAS_ROOT>/logs/server1/SystemOut.log • V6.x/V7.0 での例 – – サーバーの起動 <WAS_ROOT>/profiles/<profile名>/bin/startServer.sh サーバーのログ <WAS_ROOT>/profiles/<profile名>/logs/server1/SystemOut.log スクリプト言語 V7.0 – WAS V5.1で使用していたJaclは,WAS V6.1では非推奨になったが, Update WAS V7で安定化され非推奨ではなくなったため,そのまま使用可能 – WAS V7.0ではJythonのサンプル・スクリプトを提供するスクリプト・ライブラリーや 管理コンソールの操作をJythonスクリプトとして表示する「コマンド支援」機能 が提供されており,Jythonの開発に便利 15 WAS V7 最新動向Workshop 続いて運用スクリプトのマイグレーションです。 まずWAS V6.0からプロファイルという概念が加わったため,コマンドやログのディレクトリがV6.0以降では異なりま す。そのため,スクリプト内でコマンドの場所やログの場所を指定している場合には修正が必要になります。 また,WAS V5.1以降ではwsadminのスクリプト言語としてJaclとJythonの二種類がサポートされており,デフォル トではJaclが使用されていました。その後,WAS V6.1ではJaclが非推奨となりJythonの使用が推奨されましたが, V7.0ではJaclが再び安定化した機能としてサポートされるようになりました。そのため,V7.0でもJaclで書かれたス クリプトはそのまま使用することが可能です。 WAS V7.0 InfoCenter:Jacl での wsadmin スクリプトの使用 http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/ae/cxml_j acl.html ただし,Jaclが今後の製品リリースで非推奨,もしくは削除されることはありませんが,今後はJythonに重点が置か れていきます。そのため,新規にスクリプトを開発する際はJythonでの開発をご検討ください。Jythonでの新規ス クリプトの開発を支援する機能もいくつか提供されています。WAS V6.1以降では管理コンソールで行った操作を, Jythonスクリプトのコマンドとして,表示,または記録することができるコマンド支援機能が提供されています。 WAS V7.0 InfoCenter:管理コンソールのコマンド支援を使用したアクション http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/ae/rcon_c ommand_assist.html また,WAS V7.0からは管理操作用のJythonのサンプル・スクリプトを提供するスクリプト・ライブラリーが提供され ました。サンプル・スクリプトでは管理オブジェクトを組み合わせて,管理操作用のスクリプトをより簡単な書式で提 供しています。 WAS V7.0 InfoCenter:Jythonスクリプト・ライブラリ http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/ae/welc_r ef adm jython html 15 04. マイグレーション §2. アプリケーションのマイグレーション 16 WAS V7 最新動向Workshop 16 04. マイグレーション それぞれのWASでサポートされている主な仕様 WebSphere J2EE/Java EE J2SE/JDK Servlet JSP EJB DB Connection 2.0 N/A JDK 1.1 2.0 0.91 N/A ConnMgr 3.0 N/A JDK 1.1 2.0/2.1 0.91/1.0 1.0 3.5 N/A J2SE 1.2 2.0/2.1 2.2 0.91/1.0 1.0+α ConnMgr 1.1 JDBC 2.0 4.0 J2EE 1.2 J2SE 1.3 2.2 1.1 1.1 JDBC 2.0 5.0 J2EE 1.3 J2SE 1.3 2.3 1.2 2.0 JDBC 2.0 5.1 J2EE 1.3 J2SE 1.4 2.3 1.2 2.0 JDBC 2.0 6.0 J2EE 1.4 J2SE 1.4 2.4 2.0 2.1 JDBC 3.0 6.1 J2EE 1.4 J2SE 5.0 2.4 2.0 2.1 JDBC 3.0 7.0 Java EE 5 Java SE 6 2.5 2.1 3.0 JDBC 4.0 ConnMgr+α 使用している場合,移行に当たって大きな修正が必要なもの 使用している場合,移行に当たってある程度の修正が必要となる可能性が高いもの 17 WAS V7 最新動向Workshop それぞれのWASのバージョンが対応している主な仕様のリストです。 画面,赤字で書かれている仕様が使用されていると,大規模なアプリケーション修正が必要となります。黄色の仕 様が使用されている場合にも,ある程度の修正が必要となる可能性があります。 その他,黒字で書かれているバージョンについては,基本的な上位互換性がとられているため,一般的には大規 模なアプリケーションの回収は必要ありません。ただし,細かい仕様の違いにより,小規模なアプリケーション修正 が必要となるケースはあります。 WASのバージョンが4.0以上であれば,アプリケーションの改修はそれほど必要ないことが多いことがわかります。 17 04. マイグレーション WAS V6.1からV7.0への移行 「J2EE 1.4→Java EE 5」および「J2SE 5.0→Java SE 6」ともに,高いレベル で上位互換がある WAS V6.1で稼働していたアプリケーションは,ほとんど変更なく動く WAS 6.0以前からのアプリケーションの移行については, WAS 6.1への移行 と同じ作業になる 移行先がWAS 6.1でも7.0でも 必要な作業・手順はほとんど変わらない WAS 4.0 WAS 5.0 WAS 5.1 WAS 7.0 WAS 6.0 18 WAS 6.1 従来の移行ガイドや移行情報が そのまま使える WAS V7 最新動向Workshop WAS V7.0を直近のバージョンであるV6.1と比較すると,非常に高いレベルの上位互換性がとられています。 WAS 7.0上では,WAS V6.1用に作成されたJ2EE 1.4準拠のアプリケーションをそのまま稼働させることができま す。 言い換えれば,WAS 6.0以前からの移行に当たっては,WAS V6.1へのマイグレーションで使用した手法がその まま使用できると言うことです。以前のWASからのマイグレーションは,移行対象がV6.1であってもV7.0であって も,必要なアプリケーション修正内容は同じになります。 18 04. マイグレーション WAS V6.0からV7.0への移行 J2SE 1.4 → Java SE 6への対応が必要 – 追加された予約語「enum」の対応 – Genericsへの対応 – 強化されたコードチェックによる,エラー・警告への対応 – java.lang.reflect.Proxyと同名のjava.net.Proxyが追加 – java.util.Loggerのコンストラクタの変更 等 Java Virtual Machine Profiler Interface (JVMPI) Java Virtual Machine Debug Interface (JVMDI)を使用している場合は 対応が必要 – これらの機能はJava SE 6で削除された その他詳細についてはSunの文書を参照 – http://java.sun.com/j2se/1.5.0/compatibility.html – http://java.sun.com/javase/6/webnotes/compatibility.html 19 WAS V7 最新動向Workshop WAS V6.0からの移行にあたっては,J2EEの仕様は1.4になっているため,Java実行環境の仕様がJ2SE 1.4か らJava SE 6に変わったことによる対応が必要となります。Java実行環境の仕様は,J2SE 1.4からJ2SE 5.0にあ がる際に大きく変更されています。これらの変更への対処が必要となります。 また,Java SE 6では,J2SE 5.0にあった機能の一部が削除されています。 詳細については,Sunのサイトで情報が公開されています。 19 04. マイグレーション WAS V5.1以前からV7.0への移行 J2EEの移行 – J2EE 1.4アプリケーションへ移行すれば, WAS V7.0で正常に稼働する – J2EE 1.2以降であれば, ツールを使用してJ2EE 1.4へ移行可能 JDK/J2SEの移行 – WAS V6.0からV7.0への 移行の場合と同様 詳細については,既存の マイグレーション資料を参照 RAD 7.5の マイグレーション・ウイザード 20 WAS V7 最新動向Workshop WAS 5.1以前のアプリケーションにおいては,J2EEのバージョンを1.4に,JDK/J2SEのバージョンをJava SE 6 にあげることによって移行します。詳細については,既存のWAS V6.1へのマイグレーションの資料がそのまま使 用できるので,そちらを参照ください。 Java EE 5ではアプリケーションの記述方法が大きく変わっていますので,Java EE 5へ移行する必要はありませ ん。実際,Rational Application Developer 7.5で提供されているマイグレーション・ウィザードでも,J2SE 1.2/1.3のアプリケーションを1.4に変換することはできますが,Java EE 5へ変換する機能は提供されていません。 Java EE 5による開発は,新規アプリケーション開発をおこなうときに使用します。 20 04. マイグレーション 【よくある事例】BigDecimalの仕様変更 JSR 13: Decimal Arithmetic Enhancement のサポート – JDK 1.4のAPIドキュメントなどで予告されていたとおり,Java標準APIで提供され ているクラスBigDecimalの仕様が,JDK 5.0より変更 – 多くの新機能の追加 – 仕様の制限の撤廃,ANSI規格との整合性の向上 これにともない,BigDecimalのtoString()メソッドの動作が変更された – scale部の大きな(絶対値が1より非常に小さい)BigDecimalにおいて,従来は非 指数表記の数値が返されていたケースで,「E」を含んだ指数表記で値が返される ことがある System. System.out out.println(new .println(new BigDecimal("0.00000001")); BigDecimal("0.00000001")); JDK 1.4の出力: “0.00000001” JDK 5.0の出力: “1E-8” String文字列化されたBigDecimalにたいして処理を行っているアプリケーショ ンでは対応が必要なケースがある – 必要に応じてJDK 1.4と同じ結果を返すtoPlainString()に書き換える 21 WAS V7 最新動向Workshop こちらはJDK1.4からJDK5.0の間でBigDecimalの仕様変更が行われた件です。アプリケーションのマイグレー ションの際に多くのプロジェクトで問題になりました。 21 04. マイグレーション IBM WebSphere Application Server Migration Toolkit V7.0 New Oracle WebLogic ServerやJBoss Server対応のJava 1.4 と Java EE 5に対応した アプリケーションや旧バージョンのWASのアプリケーションをWAS V7.0にマイグレー ションするための支援ツール – フリーでダウンロード可能 – Eclipse IDE バージョン 3.4.2 以降にインストールして使用 – IBM Rational Application Developerにもインストール可能 IBM Rational Software Analyzer がベースのツール – Rational Software Analyzer のスキャン機能を利用して,旧環境のアプリケーショ ン・サーバー固有のデータを探し,WASでアプリケーションを実行できるように データを変更 移行前 アプリケーションの エクスポート アプリケーション のデプロイ 移行後 Application Migration Tool WebLogic / JBoss /WAS V6.1,6.0,5.1 22 WAS V7.0 WAS V7 最新動向Workshop アプリケーションのマイグレーションを支援するツールについてご紹介します。 Application Migration Tool は,Oracle WebLogic ServerやJBoss Serverなどの他社製品のアプリケーション・ サーバーや,もしくはWASの古いバージョンからWAS V7.0にアプリケーションをマイグレーションするための支 援ツールです。 当ツールはIBM Rational Software Analyzer をベースとしており,Rational Software Analyzer のスキャン機能 を利用して,旧環境のアプリケーション・サーバー固有のデータを探します。そして,その固有のデータを詳しく調 べ,WAS V7.0でアプリケーションを実行できるように修正箇所を洗い出します。 詳細については以下のリンク先をご参照ください。 IBM WebSphere Application Server Migration Toolkit http://www.ibm.com/developerworks/jp/websphere/library/was/was7_migration_toolkit/ WebSphere Migration Tool ~WebLogicからWASへの具体的なマイグレーションの動きについて http://www.ibm.com/developerworks/jp/websphere/library/was/was7_migration_toolkit_usage/ WebSphere Application Server Migration Toolkit 利用ガイド http://www.ibm.com/developerworks/jp/websphere/library/was/was7_migration_toolkit_guide/ 22 04. マイグレーション IBM WebSphere Application Server Migration Toolkit V7.0 New WAS V5.1からWAS V7.0にアプリケーションをマイグレーションする場合 – V5.1からV7.0へのマイグレーションルールを設定 選択したルールに 従ってコードの 分析を実行 23 WAS V7 最新動向Workshop こちらはWAS V5.1からV7.0にアプリケーションをマイグレーションする際に当ツールを使用した例です。ま ず,WAS V5.1からV7.0へのマイグレーションルールを設定します。ルールとは旧環境のアプリケーションサー バーからWAS V7.0に移行する際に使用できないクラス,もしくは仕様が変更されているクラスやAPIがまとめられ ており,設定したルールに従ってアプリケーションの分析が実行されます。このルールによってアプリケーションの 修正すべきソースコードが洗い出されます。 23 04. マイグレーション IBM WebSphere Application Server Migration Toolkit V7.0 New 分析結果の サマリーを表示 問題箇所の ソースコードを表示 24 WAS V7 最新動向Workshop こちらは設定したルールに従って実行されたアプリケーションの分析結果です。分析結果はサマリーとして表示さ れますが,ここの分析結果を選択することで修正すべきソースコードを表示することも可能であり,アプリケーショ ンの修正をスムーズに行うことが可能です。 24 04. マイグレーション §3. マイグレーション時の注意点 25 WAS V7 最新動向Workshop 25 04. マイグレーション マイグレーション時の注意点(1) 旧環境の動いているOSがWAS V7でサポートされない場合や 異なる物理筐体にWAS V7を導入する場合 – サプリメントディスクにあるmigration/binディレクトリから,マイグレーションツールを 実行 • ディスクに収録されているJDKが稼働しない場合には,別途JDK 1.6を用意し, ツールをHDD上にコピーのうえ,setupCmdLine.batまたはsetupCmdLine.shを編集して 起動する アプリケーションが多数導入された大規模なCellのマイグレーションでは,通信 タイムアウトによりWASPostUpgradeの実行に失敗することがある – <WAS Root>/properties/ssl.client.props を編集し, com.ibm.SOAP.requestTimeout の値をデフォルトの180秒から10倍程度に増やす 26 WAS V7 最新動向Workshop ここからはマイグレーションを実行する際の注意点についていくつかご紹介いたします。 システム環境のマイグレーションの章でも触れましたが,マイグレーションツールはWAS V7.0のインストールディ レクトリから実行する必要があります。そのため,既存環境にWAS V7.0が導入されない場合には,WAS V7.0の サプリメントディスクのmigration/binディレクトリからマイグレーションツールを実行してください。 26 04. マイグレーション マイグレーション時の注意点(2) Cell環境のマイグレーション – 移行後のセル名・ノード名は,移行前と同じにしておく必要がある V7.0 SSL証明書および鍵管理 重要 – 使用していたSSL証明書はそのままインポートされる – WAS 7.0から採用された階層付きの証明書の構成にはならない • WAS 6.1までのデフォルトの環境では自己署名証明書が使用されている • 必要であれば,wsadminのconvertSelfSignedCertificatesToChainedタスクを使用して, 自己署名証明書を階層付き証明書に変換する – 変換しない場合,証明書の自動更新によるアクセス障害などに注意する • WAS 7.0では,署名者証明書(Root証明書)がデフォルトで15年間の有効期限を持つため, 個人証明書が1年ごとに更新されても,証明書の検証失敗による接続障害は起こらない 非rootユーザーで導入された環境 – いったんrootユーザーのプロファイルへマイグレーションする – その後,非rootユーザーへファイルの所有権・アクセス権を変更する 27 WAS V7 最新動向Workshop WAS V7.0の証明書管理機能で作成される証明書は,以前のバージョンとは異なり,階層付きの証明書になって います。つまり,有効期限の長いルート証明書がコンポーネント間で共有され,実際にSSL通信を行うための証 明書はルート証明書によって署名された証明書が使用されるようになっています。これにより,通信につかう証明 書を一定期間ごとに更新を行いつつ,証明書の更新に伴う諸問題を回避することができるようになりました。 これに対し,WAS V6.1で作成される証明書は全て自己署名証明書になっています。証明書の検証には,その 証明書自体の情報が必要となります。またWAS V6.0までは,WAS出荷時に作成された自己署名証明書が同梱 されており,これがSSL通信に使用されています。 マイグレーションツールを使用した移行では,これら以前の証明書環境がそのまま移行されます。階層付きの証 明書を使うよう環境を変更するためには, wsadminのconvertSelfSignedCertificatesToChainedタスクを使用し て手動で証明書を変換する必要があります。 WAS V7.0 InfoCenter:AdminTask オブジェクトの SSLMigrationCommands コマンド・グループ http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/ae/rxml_7 sslmigration.html 27 04. マイグレーション マイグレーション時の注意点(3) プラグインのタイムアウト値のデフォルト変更 V7.0 重要 – 接続タイムアウトのデフォルト値がWAS V6.1からV7.0で 「0秒(タイムアウトなし)」から「5秒」に変更 – ServerIOTimeout(読み取り/書き込みタイムアウト)の デフォルト値がWAS V6.0/6.1からV7.0で「0秒(タイム アウトなし)」から「60秒」に変更 – 応答時間が60秒を超えるアプリケーションの場合には デフォルトから変更する必要がある V7.0 Webコンテナーの最大/最小スレッド数のデフォルト変更 重要 – WASV6.0のデフォルトでは「最大50/最小10」だったが,WAS V7.0では 「最大50/最小50」に変更 – スレッドの破棄・生成を繰り返すことによるオーバーヘッドが発生するため, チューニング初期値としては最大と最小を同一の値にすることを推奨 28 WAS V7 最新動向Workshop プラグインの接続タイムアウトのデフォルトが変更されました。接続タイムアウトとはIHS-WAS間でTCPセッション を確立するまでのタイムアウト値です。 WAS V6.1では「0秒(タイムアウトなし)」だったため,ネットワーク障害など で接続できない場合にはOSのTCP/IPタイムアウトまで障害を検知することが出来ませんでした。WAS V7.0では デフォルトが「5秒」に変更されたため,このタイムアウトで障害を検知することが可能です。 また,プラグインの読み取り/書き込みタイムアウトもデフォルトが変更されました。このタイムアウトはTCPセッション 確立後にHTTPリクエストに対する応答を待機するタイムアウトです。WAS V6.0,6.1ではデフォルト「0秒(タイム アウトなし)」でしたが,WAS V7.0では「5秒」に変更されました。これにより,アプリケーションで応答時間が60秒以 上かかる処理を行っている場合にはこのタイムアウトに引っかかってしまいますので,デフォルトから長くタイムア ウトを設定するようにしてください。 Web サーバー・プラグイン用の Application Server プロパティー設定 http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/ae/uwsv_ plugin_props5.html 28 04. マイグレーション まとめ システム環境のマイグレーション – 要件ごとにマイグレーション方法を検討 – マイグレーションツールも要件ごとに使い分ける必要がある – IHSおよびプラグインは手動でマイグレーションする必要がある アプリケーションのマイグレーション – WAS V7.0は,V6.1と高いレベルのアプリケーション互換性がある – Migration Toolkitはアプリケーションのマイグレーションを支援 マイグレーション時の注意点 – バージョン間でデフォルト値が異なるパラメーターには注意が必要 29 WAS V7 最新動向Workshop 29 04. マイグレーション 参考文献 WebSphere Application Server Version 7.0 Information Center http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp WebSphere Application Server V7.0へのマイグレーションガイド http://www.ibm.com/developerworks/jp/websphere/library/was/was7_migration/ WebSphere Application Server V7 アナウンスメント・ワークショップ資料 http://www.ibm.com/developerworks/jp/websphere/library/was/was7_ws/index.ht ml WebSphere Application Server Migration Toolkit 利用ガイド http://www.ibm.com/developerworks/jp/websphere/library/was/was7_migration_to olkit_guide/ 30 WAS V7 最新動向Workshop 30