...

マイグレーション 1 ISE Webシステム基盤 高谷 友加里()

by user

on
Category: Documents
50

views

Report

Comments

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
Fly UP