...

アナウンスメント・ワークショップ アプリケーション管理 WebSphere Application Server V8.0 05. アプリケーション管理

by user

on
Category: Documents
188

views

Report

Comments

Transcript

アナウンスメント・ワークショップ アプリケーション管理 WebSphere Application Server V8.0 05. アプリケーション管理
05. アプリケーション管理
05. アプリケーション管理
®
WebSphere Application Server V8.0
アナウンスメント・ワークショップ
Application Management
アプリケーション管理
© 2011 IBM Corporation
1
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
1
05. アプリケーション管理
05. アプリケーション管理
®
Disclaimer
ƒ この資料は日本アイ・ビー・エム株式会社ならびに日本アイ・ビー・エム シス
テムズ・エンジニアリング株式会社の正式なレビューを受けておりません。
ƒ 当資料は、資料内で説明されている製品の仕様を保証するものではありませ
ん。
ƒ 資料の内容には正確を期するよう注意しておりますが、この資料の内容は
2011年7月現在の情報であり、製品の新しいリリース、PTFなどによって動作、
仕様が変わる可能性があるのでご注意下さい。
ƒ 今後国内で提供されるリリース情報は、対応する発表レターなどでご確認くだ
さい。
ƒ IBM、IBMロゴおよびibm.com, Rational およびWebSphereは、世界の多くの
国で登録されたInternational Business Machines Corporationの商標です。
他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場
合があります。現時点でのIBMの商標リストについては、
http://www.ibm.com/legal/copytrade.shtmlをご覧ください。
ƒ JavaおよびすべてのJava関連の商標は Oracleやその関連会社の米国およ
びその他の国における商標または登録商標です。
© 2011 IBM Corporation
2
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
2
05. アプリケーション管理
05. アプリケーション管理
®
目次
ƒ アプリケーションの開発
– ビジネス・レベル・アプリケーション(BLA)、
IBMApplicationSession
– クラス・ローダーの構成
– 拡張エンタープライズ・アーカイブ(Enhanced EAR)
ƒ アプリケーションのインストール
– プロパティー・ファイル・ベース構成ツール(PFBCT)
– 高速デプロイメント・ツール (Rapid Deploy)
– モニター対象ディレクトリー New
ƒ アプリケーションの運用管理
– ホット・デプロイメントと動的再ロード
– アプリケーションの更新、更新の自動ロールアウト
– モニター対象ディレクトリーによる更新 New
– OSGiアプリケーションの管理 New
– SCAアプリケーションの構成ファイルのエクスポート
New
ƒ まとめ
© 2011 IBM Corporation
3
WAS V8.0 アナウンスメント・ワークショップ
このセッションでは、WebSphere Application Server (以降WAS) V8.0のアプリケーション管理の機能
を、アプリケーションの開発、アプリケーションのインストール、アプリケーションの運用管理という三
つのトピックに分けてご紹介します。WAS V8.0より前のバージョンで使える古い機能もありますが、
WAS V8.0から新しく追加された新機能もいくつかご紹介します。新機能に関しては、 Newのマーク
がついております。
WAS V8.0 アナウンスメント・ワークショップ
3
05. アプリケーション管理
05. アプリケーション管理
®
はじめに
© 2011 IBM Corporation
4
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
4
05. アプリケーション管理
05. アプリケーション管理
®
当セッションの範囲
ƒ アプリケーション開発における
–WAS V8.0のアプリケーション管理関連の便利な機能をご紹介
–開発ツール・開発手法の説明は対象外
「10.開発ツール」セッションをご参照ください
当セッションの範囲
開発ツール
開発ツール
サーバー
開発者
開発者
開発ツール
開発ツール
EAR
ファイル
開発者
開発者
© 2011 IBM Corporation
5
WAS V8.0 アナウンスメント・ワークショップ
このセッションの範囲として、アプリケーション開発トピックでは、アプリケーション開発をより便利に
できる、 WAS V8.0が提供する機能をご紹介します。
アプリケーションの開発ツールと開発手法に関して、「10. 開発ツール」セッションをご参照ください。
WAS V8.0 アナウンスメント・ワークショップ
5
05. アプリケーション管理
05. アプリケーション管理
®
アプリケーションのライフサイクル
オンライン・ショップの例
新オンライン事業
サービス公開
ページ・デザイン
の改善
ビジネス要件
サービスの
拡張
キャンペーン
開始
キャンペーン
終了
アプリ
の更新
(2回目)
アプリ
の更新
(3回目)
アプリ
の更新
(4回目)
アプリケーション
開発
運用・管理
リソース
の定義
アプリの
導入
アプリ
の更新
(1回目)
Twitter
Feed
EARのインストール
Facebook
キャンペーン終了
YouTube
評価・口コミ
一部ファイル
の更新
機能の追加
季節のキャンペーン
© 2011 IBM Corporation
6
WAS V8.0 アナウンスメント・ワークショップ
初めに、オンライン・ショップアプリケーションの例を見てみましょう。アプリケーションのライフ・サイ
クルとして、まずビジネス要件が決まり、システムの機能・非機能要件が明確になります。これらの
要件に合わせて、アプリケーションの開発を行い、サーバー側に必要なリソースなどを設定してか
らアプリケーションを導入することで、システムが利用可能になり、つまり「サービス・イン」となりま
す。
システム構築では、サービス・イン以前に構成情報が決まれば、この設定を変更することはほとん
どありません。しかし、アプリケーションの運用ではサービス・イン以降も、アプリケーション更新が
多く発生するのが特徴です。
例えば、画面のデザインを改善したり、機能を拡張したり、一時的なキャンペーンなどに対応するた
めにアプリケーションを更新するユースケースが考えられます。
WAS V8.0 アナウンスメント・ワークショップ
6
05. アプリケーション管理
05. アプリケーション管理
®
アプリケーション開発・デプロイフローと課題
導
入
・
テ
ス
ト
期
間
① アプリケーション
の開発
; リソース設定の省略
; 複数earの一括管理
; カスタム・クラスの上書き
; アプリケーションの頻繁な更新
② アプリケーション
のインストール
; プロパティー・ファイルの使用
サービス・イン
運
用
局
面
; コードの直接修正
③ アプリケーション
の管理・更新
; サービス停止なくアプリを更新
; OSGiアプリの使用
; Webサービスの使用
© 2011 IBM Corporation
7
WAS V8.0 アナウンスメント・ワークショップ
このように、アプリケーションの開発・インストール・運用管理の段階において、それぞれの要件や
課題があります。例えば、開発環境において「アプリケーションのインストールを効率的に行い、ア
プリケーションを頻繁に更新してテストしたい」、本番環境において「サービスを止めずにアプリケー
ションを更新したい」などの課題があげられます。
WAS V8.0では、これらの課題を解決できる機能が提供されており、アプリケーション管理における
主な機能ここでご説明します。
WAS V8.0 アナウンスメント・ワークショップ
7
05. アプリケーション管理
05. アプリケーション管理
®
アプリケーションの開発
- ビジネス・レベル・アプリケーション(BLA)
IBMApplicationSession
- クラス・ローダーの構成
- 拡張エンタープライズ・アーカイブ(Enhanced EAR)
© 2011 IBM Corporation
8
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
8
05. アプリケーション管理
05. アプリケーション管理
ビジネス・レベル・アプリケーション (BLA) 1/3
®
ƒ 通常のJava EEアプリケーションでは
–アプリケーションという単位はEARファイルとしてパッケージされる
アプリケーション
EAR
ファイル
EAR
ファイル
BLA
ƒ ビジネス・レベル・アプリケーション(BLA)では
–ビジネス・ロジック的に意味のあるEARをグループ化
–業務を行うために必要な複数要素(複数のEARファイルや共有ライブラリー)
を集中的に管理・操作できるような構成概念
BLA
複数の EAR
ファイル
JAR
ファイル
※共有ライブラリーについて、参考ページ35~37をご参照ください。
© 2011 IBM Corporation
9
WAS V8.0 アナウンスメント・ワークショップ
最初にご紹介するのは、ビジネス・レベル・アプリケーション(以降BLA)という機能です。BLAは次に
出てきます、IBMApplicationSessionの機能と関連しますので、先にご説明します。
通常のJava EE アプリケーションでは、アプリケーションの単位はEARファイルとしてパッケージング
されています。但し、EARファイルでアプリケーションを定義するのは足りない場合があり、BLAはそ
のニーズに応えるために追加された機能です。BLAではビジネス・ロジック的に意味のある複数の
EARファイルや共有ライブラリーをグループイングして一括管理できます。
【Business-level application settings】
http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/com.ibm.websphere.nd.do
c/info/ae/ae/crun_app_bla.html
WAS V8.0 アナウンスメント・ワークショップ
9
05. アプリケーション管理
05. アプリケーション管理
ビジネス・レベル・アプリケーション (BLA) 2/3
®
ƒ BLAの使い方/メリット
–複数のEARファイルを一括起動・停止可能 (更にBLA単位での管理者を設定
可能)
• 業務ロジック的にアプリケーションがお互いに依存している場合
• 複数アプリケーションを操作するタイミングが同じ
BLA
職務管理アプリケーション
職務管理アプリケーション
人事システム
賞与計算アプリケーション
賞与計算アプリケーション
月給計算アプリケーション
月給計算アプリケーション
–モジュールや共有ライブラリーをBLAとして管理
• アセットを一回登録して、複数のBLAで利用できる
• jarファイルをアセットとしてインポートすれば、複数のBLAから参照できる
© 2011 IBM Corporation
10
WAS V8.0 アナウンスメント・ワークショップ
ここで図として表しているように、BLAは複数のアプリケーションをまとめるためのフォルダーのよう
なものです。BLAを使用するメリットとして、複数のEARファイルを一括で起動・停止したり、表示させ
ることができます。
BLAの使い方として、業務ロジック時に複数のEARがお互いに依存する場合や、お互いに特に依
存しなくても同じタイミングで管理操作を行いたい場合などがあげられます。一つの業務ロジックを
果たすアプリケーションが複数のEARを含むべきケースとして以下が考えられます。
・一つのEARファイルにパッケージングするとサイズが大きすぎる
・元々あった、小さいEARファイルを再利用してアプリケーションを作っている
更に、このセッションの後半に紹介する、OSGiアプリケーションとSCAアプリケーションはEARファイ
ルとしてパッケージングされないため、BLAの形式でWASにインストールします。
WAS V8.0 アナウンスメント・ワークショップ
10
05. アプリケーション管理
05. アプリケーション管理
ビジネス・レベル・アプリケーション (BLA) 3/3
®
論理構成情報
モジュール
アセット・リポジトリー
コンポジション・ユニット(CU)
コンポジション・ユニット
アセット
アセット
アプリケーション(BLA)
Java
BLA
アプリケーション
EAR
ファイル
EAR
ファイル
コンポジション・ユニット
アセット
アセット
EJB JAR
ファイル
BLA
EJB
EJB JAR
ファイル
モジュール
BLA
アセット
アセット
JAR
ファイル
ビジネス・レベル
コンポジション・ユニット
JAR
ファイル
モジュールを
アセットとして登録
登録時にアセット・リポジトリーを作成することも可能
11
共有
管理・操作の単位
ライブラリー
がBLAにまとまる
BLAに追加するとCUが作成される
© 2011 IBM Corporation
WAS V8.0 アナウンスメント・ワークショップ
BLAを使うには、開発済みのモジュールの修正は不要であり、ランタイム上の設定変更も特に必要
ありません。WASでは、アプリケーション(EAR)をインストールした際に、アプリケーションに対する
BLAがデフォルトで作成されるようになっています。
エンタープライズ・アプリケーションと異なる点は、EARファイルをアプリケーションとしてデプロイす
るのではなく、EAR、JAR、WARファイルなどをアセットとしてアセット・リポジトリーに登録します。次
に空のフォルダーのようなBLAを作って、そのBLAに対してアセットを紐付けます。このように、BLA
の特徴はモジュール自体はアセットとして存在して、BLAは実際のモジュールを含めず、アプリケー
ションの論理構成情報であるコンポジション・ユニット(以降CU)のみ持ちます。
利点として、登録された一つのアセットを複数のBLAに紐付けることができ、更にBLAは他のBLAを
含むことも可能です。また、BLAを削除した場合CUが削除されますが、アセット自体は残り別のア
プリケーションで使い続けることができます。
※次のページ12~19に、BLAに関する参考情報が記載されています。
WAS V8.0 アナウンスメント・ワークショップ
11
05. アプリケーション管理
05. アプリケーション管理
[参考] ビジネス・レベル・アプリケーション (BLA) 1/8
®
ƒ BLAを使うには、以下の変更は必要ない
– ビジネス・ロジックの変更
– ランタイム環境の設定変更
– アプリケーションのパッケージング・モデルの変更
ƒ BLAではAsset と Composition Unit (CU)の新概念がある
– Asset: ビジネス・ロジックを実装した実際のバイナリー・ファイル
– Composition Unit (CU): BLAにAssetを定義する際の構成情報
アセットをどこでどのように動かすかという情報まで含む
(例)アセット:EJB Jar、CU:EJBバインディング情報を含むEJBモジュール)
ƒ BLAでは、管理するコンポーネントのリストを持つ
– BLAにAssetを登録するだけで、直接バイナリーファイル含まない
– バイナリーファイルを定義したComposition Unitをリストした構成ファイルを持つ
/<プロファイル・ルート>/config/cells/<セル名>/blas/<BLA名>/bver/BASE/bla.xml
– BLA自体は /<プロファイル・ルート>/config/cells/<セル名>/blas に保存される
– アセットは /<プロファイル・ルート>/config/cells/<セル名>/assets に保存される
© 2011 IBM Corporation
12
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
12
05. アプリケーション管理
05. アプリケーション管理
[参考] ビジネス・レベル・アプリケーション (BLA) 2/8
®
Asset
ƒ
ƒ
アセットとは実際のバイナリーファイルを指す
– Java EE archivesやlibraryファイル、リソース
ファイルを含む
– アセットはセル内でユニークな名前に設定す
る必要がある
アセットのインポート
– リポジトリーファイルとして、以下のディレクト
リーにバイナリーファイルが配置
• /<プロファイル・ルート>/config/cells/<セ
ル名>/assets/<アセット名
>/aver/BASE/bin/
– 名前や配置ロケーション、その他のアセットと
の関係性が記述されたasset.xmlファイルが
作成
• /<プロファイル・ルート>/config/cells/<セ
ル名>/assets/<アセット名>/aver/BASE/
© 2011 IBM Corporation
13
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
13
05. アプリケーション管理
05. アプリケーション管理
[参考] ビジネス・レベル・アプリケーション (BLA) 3/8
ƒ CUとはBLAにアセットの定義する際の構成情報である
®
CU
ƒ CUは、アセットを特定の実行環境と結び付ける構成メタデータを含む
– 例えば、EJB JarアセットのCUはEJBバインディング情報を含む
EJBモジュール
ƒ CUは一つのアセットから作られる
– 一つのアセットから複数のCUを作成可能
(同じアセットでも環境が異なれば、違うCUとなる)
– CUはアセットから作ることができるが、アセットを持たないCUを作
成/管理することも可能
ƒ 定義されるCUは以下の3つ:
– Asset composition units
• 登録したアセットを構成した場合に作成されるCU
– Shared library composition units
• Jarファイルとして登録されたアセットを構成した場合に作成され
るCU
– Business-level application composition units
• BLAを他のBLAへ登録した場合に作成されるCU
14
WAS V8.0 アナウンスメント・ワークショップ
© 2011 IBM Corporation
WAS V8.0 アナウンスメント・ワークショップ
14
05. アプリケーション管理
05. アプリケーション管理
[参考] ビジネス・レベル・アプリケーション (BLA) 4/8
®
BLAの作成フロー
他のBLAでもモジュールを使用する場合
他のBLAでモジュールを使用しない場合
1.モジュールをアセット
1.モジュールをアセット
としてインポート
としてインポート
1‘.アセットとしてインポートせず
1‘.アセットとしてインポートせず
アプリケーションをデプロイ
アプリケーションをデプロイ
2.空のBLAを作成
2.空のBLAを作成
2‘.登録先のBLAを選択
2‘.登録先のBLAを選択
3.アセットをBLAに追加
3.アセットをBLAに追加
※デフォルトではアプリケーションと同じ名前の
BLAが作成される
※上記ステップでは、BLAとCUが定義されるが、
バイナリーファイルはアセットとして登録されない
※BLA追加するとCUが作成される
© 2011 IBM Corporation
15
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
15
05. アプリケーション管理
05. アプリケーション管理
[参考] ビジネス・レベル・アプリケーション (BLA) 5/8
BLAの作成フロー
®
1. モジュールをアセットとしてインポート
© 2011 IBM Corporation
16
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
16
05. アプリケーション管理
05. アプリケーション管理
[参考] ビジネス・レベル・アプリケーション (BLA) 6/8
BLAの作成フロー
®
2. 空のBLAを作成
新規BLAの名前を指定
新規BLAの名前を指定
新規BLAにアセット又は
新規BLAにアセット又は
他のBLAを追加可能
他のBLAを追加可能
© 2011 IBM Corporation
17
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
17
05. アプリケーション管理
05. アプリケーション管理
[参考] ビジネス・レベル・アプリケーション (BLA) 7/8
BLAの作成フロー
®
3. アセットをBLAに追加
複数ある場合は、同時
複数ある場合は、同時
に複数選択は不可能
に複数選択は不可能
一つずつ登録する
一つずつ登録する
© 2011 IBM Corporation
18
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
18
05. アプリケーション管理
05. アプリケーション管理
[参考] ビジネス・レベル・アプリケーション (BLA) 8/8
®
BLAの管理は管理コンソール又はwsadminコマンドで行う
ƒ 使用可能なwsadminコマンドのご紹介
1. アセット・コマンド:
–importAsset, listAssets, deleteAsset, exportAsset, viewAsset, editAsset,
updateAsset (完全更新又はFine-grained更新) 等
2. CU・コマンド:
–addCompUnit, listCompUnits, deleteCompUnit, viewCompUnit,
editCompUnit 等
3. BLA・コマンド
–createEmptyBLA, listBLAs, viewBLA, deleteBLA , startBLA ,stopBLA 等
© 2011 IBM Corporation
19
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
19
05. アプリケーション管理
05. アプリケーション管理
共有セッション 1/3
®
セッションとは
ƒ Webサイトを訪れたユーザーが行う、ページ要求の一連
ƒ ブラウザーとサーブレット間の通信はHTTP(ステートレスなプロトコル)
ƒ 1回のリクエストとレスポンスの対ごとに接続と切断が繰り返される
ƒ ユーザーを識別するためにセッション・オブジェクト(ID)が割り振られる
セッション・オブジェクト
リクエスト①
リクエスト①、②、③のユー
リクエスト①、②、③のユー
ザーを識別する必要がある
ザーを識別する必要がある
レスポンス①
リクエスト②
ユーザーA
レスポンス②
リクエスト③
レスポンス③
最初のリクエスト時にサー
最初のリクエスト時にサー
バー側でセッション・オブ
バー側でセッション・オブ
ジェクトが作成され、セッ
ジェクトが作成され、セッ
ションIDが割り振られる
ションIDが割り振られる
ユーザーにセッションIDを
ユーザーにセッションIDを
送り返し、ユーザーは次の
送り返し、ユーザーは次の
リクエスト時にこのIDを使う
リクエスト時にこのIDを使う
ユーザーB
© 2011 IBM Corporation
20
WAS V8.0 アナウンスメント・ワークショップ
セッションとは、Webサイトを訪れたユーザーが行う、一連のページ要求のことです。ブラウザーと
サーブレット間の通信はHTTPで行われますが、HTTPは「ステートレスなプロトコル」であり、1回の
リクエストとレスポンスの対ごとに接続と切断を繰り返します。従って、サーバー側への複数のリク
エストが同じ人から送られたものかどうかをサーバーが判断することはできません。しかし、例えば
ショッピングのサイトで買い物かごに商品を入れ、次の画面で買い物かごの中の商品一覧を確認
するサイトを作りたいときには、買い物かごに商品を入れた人と、買い物かごの中身を確認する人
が同じ人であることを認識できるような仕組みが必要となります。これを行うのが「セッション管理」
です。
セッションはセッションIDを利用して管理されます。セッションIDは各ユーザーを一意に識別できるよ
うに割り振られます。ユーザーから初めのリクエストが来たときに、サーバー側でセッション・オブ
ジェクトが作られ、ユーザーへの最初のレスポンスにセッションIDをセットして返します。ユーザーは
次のリクエストで、そのセッションIDを一緒に送り返します。アプリケーション・サーバーはユーザー
からの送られたセッションIDをサーバー内に保持されているセッション・オブジェクトと照合して、
ユーザーを識別します。
WAS V8.0 アナウンスメント・ワークショップ
20
05. アプリケーション管理
05. アプリケーション管理
共有セッション 2/3
®
ƒ ServletAPIのHTTPセッション: 通常使用されるセッション
セッション共有の範囲=WAR
ƒ 共用セッション・コンテキスト: セッション共有の範囲=EAR(非推奨)
ƒ IBMApplicationSession: セッション共有の範囲=BLA(推奨)
IBMApplicationSession
Servlet API
共用セッション・コンテキスト
EAR
EAR
WAR1
WAR1
WAR2
WAR2
WAR1
WAR1
WAR2
WAR2
HttpSession
HttpSession
HttpSession
HttpSession HttpSession
HttpSession
BLA
EAR1
EAR2
WAR1
WAR1
WAR2
WAR2
HttpSession
HttpSession
HttpSession
HttpSession
IBMApplicationSession
IBMApplicationSession
WebSphere独自の仕様
© 2011 IBM Corporation
21
WAS V8.0 アナウンスメント・ワークショップ
通常のServletAPIでは、HTTPセッションの共有範囲としてWebモジュール(WAR)に限定されます。
つまり、特定のセッションに関連するデータにアクセスできるのは、同じWebモジュール内のサーブ
レットに限られてしまいます。
この課題の解決策として、IBM独自の仕様が二つ提供されています。
・共用セッション・コンテキストはエンタープライズ・アプリケーションの複数のWebモジュールが同じ
HTTPセッションを共有できるようにした仕様です。しかし、共用セッション・コンテキストはWAS V7.0
から非推奨になりました。
・現在推奨されるのは、IBMアプリケーション・セッションです。IBMアプリケーションでは、エンタープ
ライズ・アプリケーションもしくはビジネス・レベル・アプリケーション内でセッション・データを共有でき
ます。但し特徴としては、各WebモジュールはそれぞれのHTTPセッションを持ち、HTTPセッション・
データをIBMアプリケーション・セッションという別のオブジェクトを使って共有することができます。
【Assembling so that session data can be shared】
http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/com.ibm.websphere.nd.do
c/info/ae/ae/tprs_sharing_data.html
WAS V8.0 アナウンスメント・ワークショップ
21
05. アプリケーション管理
05. アプリケーション管理
共有セッション 3/3
®
IBMApplicationSessionの使用方法
1. HTTPSession オブジェクトを取得する
HttpSession session = request.getSession();
2. IBMSessionオブジェクトにキャストし、getIBMApplicationSession()メソッドを呼び出す
このオブジェクトをHTTPSessionオブジェクトと同様に扱う
IBMApplicationSession appSession =
((IBMSession) session ).getIBMApplicationSession();
ƒ IBMApplicationSessionはHttpSessionオブジェクトと同等の特性を持つ:
– アプリケーション・サーバー間でフェイル・オーバー可能
– セッション・イベントを検知するリスナーを構成可能
– オブジェクトをセッションの属性として保管することができ、Webモジュール間で共有することがで
きる
© 2011 IBM Corporation
22
WAS V8.0 アナウンスメント・ワークショップ
このスライドには、IBMアプリケーション・セッションの使用方法が記載されています。
また、 IBMアプリケーション・セッション機能はアプリケーション・サーバー間のフェイル・オーバーを
可能にするなど、HTTPセッションと全く同等の特性を持ちます。
WAS V8.0 アナウンスメント・ワークショップ
22
05. アプリケーション管理
05. アプリケーション管理
®
クラス・ローダーの階層構造 1/2
ƒ クラス・ローダーとは
– クラスファイルに書かれたバイトコードから、
クラスをロード・準備・初期化する役割を持つ
Javaクラス・ローダー
優先度
ブートストラップ (コアAPI)
エクステンション(拡張)
ƒ 「親が最初」モデル
アプリケーション
– WASのデフォルト設定では、上位のクラス
優先
WAS内部の
ローダーが優先される
WAS拡張クラス・ローダー OSGiランタイム
– 信頼度の高い・重要なクラスが、上書きされない
3rdパーティー
– カスタムのクラスを優先させたい場合、
優先
JDBCドライバー
設定変更が必要
ƒ クラス・ローダー・ポリシー
– アプリケーションとサーバー側で設定可能
– サーバー側は「単一」と「複数」が設定可能
– アプリケーション側は「単一クラス・ローダー」 と
「各WARファイルのクラス・ローダー」がある
優先
優先
アプリケーション
アプリケーション
EJB, RAR, JAR
EJB, RAR, JAR
優先
WAR
優先
WAR
優先
WAR
優先
WAR
© 2011 IBM Corporation
23
WAS V8.0 アナウンスメント・ワークショップ
クラス・ローダーとは、クラスファイルに書かれたバイトコードから、クラスをロード・準備・初期化して
使用可能な状態にする役割を持ちます。クラス・ローダーは階層構造になっており、JVMが使う
Javaのクラス・ローダー、WASが使う拡張クラス・ローダー、WAS内部のOSGiフレームワークで使わ
れるクラス・ローダー、アプリケーションが使うEJB, RAR, JAR用のクラスローダー、Webモジュール
独自のクラス・ローダーなどがあります。
WASにおいてクラス・ローダーの優先順位は「親が最初」モデルがデフォルトの設定になります。つ
まり、クラス・ローダーは自分より上の(親の)クラスを先に優先して使い、親が持っていないクラスに
関してのみ自分のクラスを使うような構成になっています。通常であれば、このデフォルト設定で問
題ありませんが、アプリケーション内のカスタム・クラスが親のクラスと重複するとき、カスタム・クラ
スを使用させたいという要件がある場合デフォルトの設定を変える必要があります。クラス・ロー
ダーの優先順位は参考ページ25のように設定します。
同じ参考ページにありますように、クラス・ローダーポリシーの設定では、アプリケーション・サー
バー側では複数アプリケーション間で単一のクラス・ローダーを用意するか、又はアプリケーション
毎にクラス・ローダーを用意するか(デフォルト値)を指定できます。
アプリケーション側では、一つのアプリケーションで単一クラス・ローダーを使うか、複数のWARファ
イル毎にクラス・ローダーを使うか(デフォルト値)の設定ができます。
【WebSphere Application Server V7: Understanding Class Loaders】
http://www.redbooks.ibm.com/redpapers/pdfs/redp4581.pdf
WAS V8.0 アナウンスメント・ワークショップ
23
05. アプリケーション管理
05. アプリケーション管理
®
クラス・ローダーの階層構造 2/2
ƒ 最初に親クラス・ローダーをロードしたクラス
/WAS_HOME/lib
WAS拡張クラス・ローダー
ABC-1.1.jar
親が最初
①
アプリケーションの
クラス・ローダー
アプリでもABC-1.1.jarを使用
アプリでもABC-1.1.jarを使用
/WEB-INF/lib
②
ABC-1.2.jar
ƒ 最初にローカル・クラス・ローダーをロードしたクラス(親は最後)
/WAS_HOME/lib
WAS拡張クラス・ローダー
ABC-1.1.jar
②
親が最後
アプリケーションの
クラス・ローダー
アプリではABC-1.2.jarを使用
アプリではABC-1.2.jarを使用
/WEB-INF/lib
①
ABC-1.2.jar
© 2011 IBM Corporation
24
WAS V8.0 アナウンスメント・ワークショップ
こちらの例では「親が最初」設定の場合、アプリケーションは自分のABC-1.2.jar内のクラスより、自
分の親であるWASのクラス・ローダーを優先して、 ABC-1.1.jar内の同じ名前のクラスを使ってしま
います。意図的に、ABC-1.2.jar内のクラスを使わせたい場合は、「親が最後」の設定に変更するこ
とで実現できます。
【クラスローダーとJ2EEパッケージング戦略を理解する: 第1回 「クラスローダーを理解する - クラス
はどこからやってきた?」 】
http://www.ibm.com/developerworks/jp/websphere/library/java/j2ee_classloader/1.html
※次のページ25、26はクラス・ローダーに関する参考ページです。
WAS V8.0 アナウンスメント・ワークショップ
24
05. アプリケーション管理
05. アプリケーション管理
[参考] クラス・ローダーの階層構造 1/2
®
ƒ クラス・ローダーの設定
© 2011 IBM Corporation
25
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
25
05. アプリケーション管理
05. アプリケーション管理
[参考] クラス・ローダーの階層構造 2/2
®
Javaクラス・ローダー
ブートストラップ (コアAPI)
エクステンション(拡張)
アプリケーション
/<JAVA_HOME>/JRE/lib/*.jar
/<JAVA_HOME>/JRE/lib/ext/*.jar
CLASSPATH
優先
WAS拡張クラス・ローダー
3rdパーティー
JDBCドライバー
/<WAS_HOME>/classes/*.jar
/<WAS_HOME>/lib/*.jar
/<WAS_HOME>/lib/ext/*.jar
ƒ JVMで使用可能なクラス・ローダーの最大数はデフォルトで8192
– この最大数を超えてしまうと、OutOfMemoryErrorが発生する
– 「-Xmxcl」パラメータを使ってJVMのカスタム・プロパティーを設定することで、
最大数を増やすことができる
© 2011 IBM Corporation
26
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
26
05. アプリケーション管理
05. アプリケーション管理
拡張エンタープライズ・アーカイブ(Enhanced EAR) 1/2
®
ƒ サーバー構成情報を含んだEAR
通常の
EARファイル
Java EE
アプリケーション
Resources
サーバー側で
リソースの定義
構成が必要
Properties
-データ・ソース
-置換変数
-共用ライブラリー
Enhanced
EARファイル
Java EE
アプリケーション
サーバー側で
手動構成が不要
自動構成される
Properties
Resources
- クラス・ローダー・ポリシー
- JAAS認証
- 仮想ホスト
ƒ 目的:デプロイの簡略化
– デプロイ時の設定項目数を減少
– 複数サーバーへのデプロイ時にも設定は1度
– 開発時に複数人の開発者がテストするとき適している
© 2011 IBM Corporation
27
WAS V8.0 アナウンスメント・ワークショップ
通常のEARファイルはアプリケーションのソース・コードやアプリケーションの構成情報を含みます。
このアプリケーションをサーバーにインストールして使うには、更にサーバー側でリソース定義など
の追加設定を行う必要があります。例えば、データベースに接続するアプリケーションであれば、
データソースを作成しなければなりません。
拡張エンタープライズ・アーカイブ(以降Enhanced EAR)は、アプリケーションを動かすために必要と
なるリソース設定をEARファイルの中に含んでパッケージングしたEARファイルになります。
Enhanced EARを使うメリットとして、デプロイ時にサーバー側で行うべき設定を省略することです。
同じアプリケーションを複数の環境に頻繁にデプロイしてアプリケーションをテストしたい場合などに
役に立ちます。
WAS V8.0 アナウンスメント・ワークショップ
27
05. アプリケーション管理
05. アプリケーション管理
拡張エンタープライズ・アーカイブ(Enhanced EAR) 2/2
®
ƒ Enhanced EAR のインストール時の考慮点
–Enhanced EAR で設定したリソース定義が優先
–サーバーで設定したリソース定義情報を使用するために、
アプリケーションのリソース参照を再設定するか、又は
インストール時に「プロセス組み込み構成」のチェックを外す
Enhanced
EARファイル
データソース
「AppliDS」
サーバー側で設定した
リソースは無視される
データソース
「ServerDS」
© 2011 IBM Corporation
28
WAS V8.0 アナウンスメント・ワークショップ
Enhanced EARを使う際の注意点として、アプリケーション側で定義されているリソースは、サー
バー側で定義されているリソースより優先されて使われてしまいます。サーバーで定義したリソース
を使わせたい場合には、RADなどの開発ツールを使ってリソースの定義を削除してください。又は、
Enhanced EARのインストール時に「プロセス組み込み構成」のオプションにデフォルトでチェックが
入っていますが、このチェックを外すことでEnhanced EAR内のリソース定義がWASに反映されなく
なります。(参考ページ36をご参照ください)
※次のページ29~39は参考情報です。
WAS V8.0 アナウンスメント・ワークショップ
28
05. アプリケーション管理
05. アプリケーション管理
[参考] 拡張エンタープライズ・アーカイブ 1/8
®
ƒ デプロイメント・エディター
JAAS認証
JAAS認証
共用
共用
ライブラリー
ライブラリー
仮想ホスト
仮想ホスト
security.xml
libraries.xml
virtualhosts.xml
デプロイメント
エディター
データソース
データソース
定義
定義
クラス・ロー
クラス・ロー
ダーポリシー
ダーポリシー
resources.xml
deployment.xml
置換変数
置換変数
variables.xml
© 2011 IBM Corporation
29
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
29
05. アプリケーション管理
05. アプリケーション管理
[参考] 拡張エンタープライズ・アーカイブ 2/8
®
ƒ クラス・ローダー・ポリシーの設定方法
© 2011 IBM Corporation
30
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
30
05. アプリケーション管理
05. アプリケーション管理
[参考] 拡張エンタープライズ・アーカイブ 3/8
®
ƒ JDBCプロバイダーの作成例
© 2011 IBM Corporation
31
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
31
05. アプリケーション管理
05. アプリケーション管理
[参考] 拡張エンタープライズ・アーカイブ 4/8
®
ƒ 認証ユーザーの設定例
ƒ データ・ソースの作成例
© 2011 IBM Corporation
32
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
32
05. アプリケーション管理
05. アプリケーション管理
[参考] 拡張エンタープライズ・アーカイブ 5/8
®
ƒ データソースの作成例 (続き)
© 2011 IBM Corporation
33
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
33
05. アプリケーション管理
05. アプリケーション管理
[参考] 拡張エンタープライズ・アーカイブ 6/8
®
© 2011 IBM Corporation
34
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
34
05. アプリケーション管理
05. アプリケーション管理
[参考] 拡張エンタープライズ・アーカイブ 7/8
®
ƒ 管理コンソールからのリソースの確認方法
WAS側で設定されているリソースは、
管理コンソールの「リソース」から確認
データソース
「ServerDS」
Enhanced EARの場合は、アプリケーション
から「アプリケーション範囲リソース」
データソース
「AppliDS」
© 2011 IBM Corporation
35
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
35
05. アプリケーション管理
05. アプリケーション管理
[参考] 拡張エンタープライズ・アーカイブ 8/8
®
ƒ Enhanced EAR内のリソース設定を無効にする
Enhanced EAR内のリソース設定を無
効にしてインストールするには、「プロセ
ス組み込み構成」にチェックを外します。
Enhanced EARをインストールするとき、
管理コンソールの「プロセス組み込み構
成」にチェックが入っている必要があり、
これは自動で有効になります。
© 2011 IBM Corporation
36
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
36
05. アプリケーション管理
05. アプリケーション管理
[参考] 共有ライブラリー 1/3
®
ƒ 複数のアプリケーションから使用されるファイルを共用ライブ
ラリーにおいてシェアする
–jarファイル
–プロパティー・ファイル
ƒ メリット
–システム上の重複ライブラリー・
ファイルの削減
–複数人で行う開発作業を効率化
フレームワークのファイル
フレームワークのファイル
などを配置するのに有用
などを配置するのに有用
ノード1
AS1
アプリケーション1
アプリケーション2
ƒ 設定方法
–1. 共用ライブラリーを定義
–2. 共用ライブラリーをアプリケー
ション・サーバー又はアプリケー
ションと関連づけ
共通
JAR
AS2
アプリケーション1
アプリケーション2
© 2011 IBM Corporation
37
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
37
05. アプリケーション管理
05. アプリケーション管理
[参考] 共有ライブラリー 2/3
®
ƒ 共用ライブラリーの定義
– [環境]-[共用ライブラリー]
から有効範囲を選択して
[新規作成]を選び次を指定
・名前(ライブラリー名)
・クラスパス(ファイルのパス)
ƒ クラス・ロードの設定
– [この共用ライブラリーでの
分離されたクラス・ローダー
の使用 ]にチェックを入れる
ことが可能
© 2011 IBM Corporation
38
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
38
05. アプリケーション管理
05. アプリケーション管理
[参考] 共有ライブラリー 3/3
®
ƒ 定義した共有ライブラリーの関連づけ
– アプリケーション [共有ライブラリー参照] - [共有ライブラリー・マッピング]
– アプリケーション・サーバー [Java およびプロセス管理] - [クラス・ローダー]
- [クラス・ローダー名] - [共有ライブラリー参照]
© 2011 IBM Corporation
39
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
39
05. アプリケーション管理
05. アプリケーション管理
®
アプリケーションのインストール
- プロパティー・ファイル・ベース構成ツール(PFBCT)
- 高速デプロイメント・ツール (Rapid Deploy)
- モニター対象ディレクトリー
© 2011 IBM Corporation
40
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
40
05. アプリケーション管理
05. アプリケーション管理
アプリケーションの通常インストール (1/2)
管理コンソールから導入
®
ファースト・パスを選択することでステップを省略
ファースト・パスを選択することでステップを省略
アプリケーション内容に応じて、設定
アプリケーション内容に応じて、設定
するステップが自動的に変更される
するステップが自動的に変更される
© 2011 IBM Corporation
41
WAS V8.0 アナウンスメント・ワークショップ
WASに対してアプリケーションをインストールする場合、GUIの管理コンソールを使って導入するパ
ターンがあります。ブラウザーの画面からアプリケーションの名前、バインディング設定などを指定
してインストールを行います。その際に、「ファースト・パス」と「詳細」がありますが、「ファースト・パ
ス」を選択すれば、設定を選択するステップを省略して、WASのデフォルト設定を受け入れることに
なります。
WAS V8.0 アナウンスメント・ワークショップ
41
05. アプリケーション管理
05. アプリケーション管理
アプリケーションの通常インストール (2/2)
®
wsadminコマンドによる導入
wsadmin.bat(sh) –lang jython
サーバー又は、デプロイメントマネー
サーバー又は、デプロイメントマネー
ジャーが起動していることが前提
ジャーが起動していることが前提
AdminApp.install('C:¥Documents and Settings¥Administrator¥My
Documents¥Application¥InfraTest.ear','[-cluster Cluster1]')
AdminConfig.save()
print AdminApp.isAppReady('InfraTest')
ADMA5071I: Distribution status check started for application InfraTest.
WebSphere:cell=Cell01,node=Node03,distribution=true,expansion=notprocessing
ADMA5011I: The cleanup of the temp directory for application InfraTest is complete.
ADMA5072I: Distribution status check completed for application InfraTest.
'true'
print AdminApp.getDeployStatus('InfraTest')
ADMA5071I: Distribution status check started for application InfraTest.
WebSphere:cell=Cell01,node=Node03,distribution=true,expansion=notprocessing
ADMA5011I: The cleanup of the temp directory for application InfraTest is complete.
ADMA5072I: Distribution status check completed for application InfraTest.
'WebSphere:cell=Cell01,node=Node03,distribution=true,expansion=notprocessing'
アプリケーションの開
アプリケーションの開
始が不可能な場合、
始が不可能な場合、
getDeployStatus
getDeployStatusで確認
で確認
代わりに、サーバー
代わりに、サーバー
の再起動でも可能
の再起動でも可能
appManager=AdminControl.queryNames('cell=<セル名>,node=<ノード名
>,type=ApplicationManager,process=<サーバー名>,*')
AdminControl.invoke(appManager, 'startApplication', ‘InfraTest')
42
© 2011 IBM Corporation
WAS V8.0 アナウンスメント・ワークショップ
WASに対してアプリケーションをデプロイするもう一つの方法として、コマンドベースのwsadminツー
ルがあります。スライドにあるようなAdminApp.installコマンドを実行してアプリケーションをデプロイ
した後に、変更を保存して、アプリケーションを開始する必要があります。セル環境の場合は、デプ
ロイメント・マネージャーからノードに対して変更を同期する処理が更に必要です。
アプリケーションの導入後に、開始ができる状態であるかを確認できるAdminApp.isAppReadyコマ
ンドがあります。開始可能な状況であれば、結果として’true’が返ってきます。結果が’false’の場
合、アプリケーションが開始できない状態ですので、アプリケーションの現在のデプロイ・ステータス
を確認できるAdminApp.getDeployStatusコマンドを使用できます。
これらのコマンドを一つずつ実行することも可能であり、本番環境ではコマンドをスクリプト形式で実
行させ、アプリケーションをインストールするユースケースが多いです。
【Installing enterprise applications using wsadmin scripting】
http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/com.ibm.websphere.nd.do
c/info/ae/ae/txml_callappinstall.html
WAS V8.0 アナウンスメント・ワークショップ
42
05. アプリケーション管理
05. アプリケーション管理
プロパティー・ファイルベース構成ツール(PFBCT) (1/2)
®
ƒ 構成リポジトリー内に分散されている構成ファイル群から名前/値
が対になったプロパティー・ファイル形式で抽出・適用するツール
wsadminコマンド:
extract
apply
WAS構成ファイルはXMLで記載され
WAS構成ファイルはXMLで記載され
ているため、人間での可読性が低い
ているため、人間での可読性が低い
delete
フラットファイルなので、人間に
フラットファイルなので、人間に
も読みやすい・変更しやすい
も読みやすい・変更しやすい
© 2011 IBM Corporation
43
WAS V8.0 アナウンスメント・ワークショップ
次にご紹介する機能は、PFBCTツールを使ってアプリケーションをインストールする方法です。
PFBCTとは、バイナリー・ファイル形式で保管されるWASの各種構成情報から、テキスト形式な単
純な構成ファイルを抜き出し、設定を変更した構成ファイルを適用したりできるwsadminのコマンド
群です。
PFBCTに関する詳細情報は「システム管理」セッションをご参照ください。
【System administration for WebSphere Application Server V7: Part 4: Properties-based
configuration】
http://www.ibm.com/developerworks/websphere/techjournal/0904_chang/0904_chang.html
WAS V8.0 アナウンスメント・ワークショップ
43
05. アプリケーション管理
05. アプリケーション管理
プロパティー・ファイルベース構成ツール(PFBCT) (2/2)
®
ƒ プロパティー・ファイルを使ってアプリケーションのインストール/更
新/アンインストールができるようになった (WAS 7.0.0.9から追加)
##
## Header
Header
##
ResourceType=Application
ResourceType=Application
ImplementingResourceType=Application
ImplementingResourceType=Application
CreateDeleteCommandProperties=true
CreateDeleteCommandProperties=true
ResourceId=Deployment=
ResourceId=Deployment=
wsadmin.bat -lang jython
## Properties
Properties
AdminTask.applyConfigProperties('[Name=PerfUtil
Name=PerfUtil
propertiesFileName
#TargetServer=!{serverName}
#TargetServer=!{serverName}
C:/work/Application/deployApplication.props #TargetNode=!{nodeName}
#TargetNode=!{nodeName}
reportFileName C:/work/Application/report.txt ]')
EarFileLocation=
EarFileLocation=
C:/work/Application/PerfUtil.ear
C:/work/Application/PerfUtil.ear
AdminConfig.save()
TargetCluster=!{clusterName}
TargetCluster=!{clusterName}
デプロイ又は
##
更新の反映
インストールするアプリケー
EnvironmentVariablesSection
インストールするアプリケー
EnvironmentVariablesSection
ション・ファイルのロケーション
##
ション・ファイルのロケーション
アプリケーション
##
#Environment
サーバー
#Environment Variables
Variables
cellName=Cell01
cellName=Cell01
nodeName=Node03
デプロイ対象のサーバー、クラ
nodeName=Node03
デプロイ対象のサーバー、クラ
ノードとの同期、サーバーの再起動又は
serverName=Member1
スター情報を入力
serverName=Member1
スター情報を入力
アプリケーションの再起動を行う必要がある
clusterName=Cluster1
clusterName=Cluster1
© 2011 IBM Corporation
44
WAS V8.0 アナウンスメント・ワークショップ
ここでは、PFBCTを使ってアプリケーションをインストール・更新・アンインストールする機能(WAS
V7.0 FP 9から追加された)をご説明します。
既存のアプリケーションの場合、アプリケーションのプロパティー・ファイルを
extractConfigPropertiesコマンドで抜き出すことができますが、アプリケーションの新規インストール
の場合、構成情報が存在しないため、管理コンソールからプロパティー・ファイルのテンプレートをコ
ピーして、編集して使います。
スライドの左側にある、アプリケーションをインストールするためのプロパティーファイルの例であり、
アプリケーションの名前、EARファイルの保存先、インストール対象のサーバー名もしくはクラスター
名などを指定します。準備できたプロパティー・ファイルの保存先を指定して、
applyConfigPropertiesコマンドで設定を適用します。
PFBCTでアプリケーションをインストールする場合、wsadminのinstallコマンドと同じく変更を保存し
て、セル環境においてノードとの同期処理を行い、アプリケーションを開始するという追加作業が必
要です。
【Using application properties files to install, update, and delete enterprise application files】
http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/com.ibm.websphere.nd.do
c/info/ae/ae/txml_config_prop_app.html
※次のページ45は参考ページです。
WAS V8.0 アナウンスメント・ワークショップ
44
05. アプリケーション管理
05. アプリケーション管理
[参考] プロパティー・ファイルベース構成ツール(PFBCT) (1/1)
®
ƒ アプリケーションをインストールするためのプロパティー・ファイル
のテンプレートはInfocenterから入手可能
WAS
WAS NDの場合はノードとの
NDの場合はノードとの
同期処理を行う必要がある
同期処理を行う必要がある
アプリケーションを起動する
アプリケーションを起動する
必要がある
必要がある
© 2011 IBM Corporation
45
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
45
05. アプリケーション管理
05. アプリケーション管理
®
WebSphereラピッド・デプロイメント(WRD) (1/3)
ƒ ラピッド・デプロイメント・ツールによる高速デプロイとは
–指定したワークスペースにearファイル又は一部ファイルをコピーすると、
変更を自動検知して、WASに自動的にインストール・更新してくれる
–アプリケーションのインストールと更新を稼動中のサーバーに自動反映
–ツール自体はEclipseプラグインであり、使うにはコマンドを実行して、別プ
ロセスを立ち上げる必要がある
ワークスペースを設定し、
WRDプロセスを立ち上げる
作成
モニター
WRD
wrd.bat -monitor
set WORKSPACE=C:¥WRD
wrd-config.bat -project "Project01"
-style "autoappinstall "
サーバー名, ホスト名, ポート番号
WRDをリッスンして、
ファイル変更に対して
WASへデプロイする
トリガープロセスが起動
/<プロファイル_ルート>/binディ
レクトリーからコマンドを実行
アプリケーション・サーバー
などの必要な情報を入力
© 2011 IBM Corporation
46
WAS V8.0 アナウンスメント・ワークショップ
ここでご紹介する、WebSphereラピッド・デプロイメント(以降WRD)はアプリケーションのearファイル
又は、一部ファイルを指定したワークスペースに置くと、変更が自動検知され、WASに対してアプリ
ケーションのインストール・更新が自動的に行われる機能です。
WRDを使用するには、まずワークスペースを指定して、指定したワークスペースをリッスンするWRD
プロセス(Eclipseプラグイン)を起動する必要があります。WRDプロセスが起動中であれば、ユー
ザーがワークスペースとして設定したディレクトリを常にモニターしているプロセスです。WRDワーク
スペースに対してファイルのコピーや削除といった更新が行われた場合、WRDプロセスはその更新
を検知し、検知をトリガーにして処理を開始します。更新検知後に行われる処理は、「-style」オプ
ションで指定できます。
WAS V8.0 アナウンスメント・ワークショップ
46
05. アプリケーション管理
05. アプリケーション管理
®
WebSphereラピッド・デプロイメント(WRD) (2/3)
ƒ ラピッド・デプロイメントに2つの種類がある
–autoappinstall: アプリケーションやモジュールをワークスペースにコピー
すると、自動でターゲットのアプリケーション・サーバーにデプロイ
EAR
JAR
WAR
コピー
RAR
wrd-config.bat -project “P1"
-style "autoappinstall“
アプリケーション
サーバー
変更検知
プロセス
デプロイ又は
更新の反映
–freeform:アプリケーションの単一ファイルをコピーすると、J2EEアプリケー
ション構造が作成され、ターゲットのアプリケーション・サーバーにデプロイ
J2EEアプリケーション構造
(earファイルなど)を作成
Java
Image
HTML Servlet コピー
JSP
wrd-config.bat -project “P2"
-style “freeform“
“freeform”の場合は、「bin」、「build」、「gen」、「src」などの
ソースファイルを配置するディレクトリーが自動的に作成される
47
アプリケーション
サーバー
変更検知
プロセス
アプリケーションの
パッケージングをして
からデプロイ
© 2011 IBM Corporation
WAS V8.0 アナウンスメント・ワークショップ
更新検知後に行われる処理は、「-style」オプションで指定した”autoappinstall” プロジェクト
と”freeform” プロジェクトで異なっています。
”autoappinstall”はJ2EEアプリケーション構造でパッケージングされたアプリケーションのモジュー
ルを自動的にインストールしてくれる機能です。
”freeform”はJ2EEアプリケーション構造でパッケージングされていない、単一のファイルを置くと、
必要なパッケージングがWRDプロセスにより行われてから、WASにインストールされる機能で
す。 ”freeform”は以下のようなメリットがあります。
・さまざまなファイル単位での更新が可能
・開発者にとって管理ツールによるアプリケーション・デプロイ作業は不要
・開発者にとってJ2EEアプリケーション構造の知識は不要
“freeform”のプロジェクトを作成した場合、「bin」、「build」、「gen」、「src」などのソースファイルを配置
するためのディレクトリーが自動的に作成されます。
詳しくは、Infocenterに記載されています、説明と手順をご参照ください。
【Free-form projects】
http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/topic/com.ibm.etools.wrd.freeform.doc/to
pics/cfreeform.html
WAS V8.0 アナウンスメント・ワークショップ
47
05. アプリケーション管理
05. アプリケーション管理
®
WebSphereラピッド・デプロイメント(WRD) (3/3)
ƒ ラピッド・デプロイメント・ツールのメリット
–インストールするアプリケーションをアセンブルしなくても良い
–アプリケーションを頻繁に更新したい場合、コピーするだけで良い
ƒ 使用する際の制限
–J2EE 1.3 又は 1.4 仕様レベルの J2EE モジュールにのみ対応
※ J2EE 1.2、Java EE 5.0 又は 6.0 仕様レベルはサポートされない
–WASのBase版のみサポートされ、WAS ND版はサポートされない
–WRDの別プロセスが起動している間のみ使用可能
※開発時に適している、作成中のアプリケーションを効率よくテストする
※Java EE5.0と6.0のサポートはないので、古いアプリのデプロイで活用
© 2011 IBM Corporation
48
WAS V8.0 アナウンスメント・ワークショップ
WRDの使用はスライドにありますように限定されています。WAS 8.0においては、古いJ2EE 1.3又は
J2EE1.4のアプリケーションをデプロイする要件がある場合のみ、役立つと考えられます。そのため、
今後は使用されなくなっていく機能でしょう。
※次のページ49~50は参考ページです。
WAS V8.0 アナウンスメント・ワークショップ
48
05. アプリケーション管理
05. アプリケーション管理
®
[参考] WebSphereラピッド・デプロイメント(WRD) (1/2)
ƒ /<プロファイル_ルート>/bin ディレクトリーに移行
WRDワークスペースの環境変数に任意のワークスペースをセット
• コマンド >set WORKSPACE=<ディレクトリー名>
WRDワークスペース内にプロジェクトを作成
• コマンド >wrd-config.bat –project “<プロジェクト名>” –style “<プロジェクト種類>”
© 2011 IBM Corporation
49
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
49
05. アプリケーション管理
05. アプリケーション管理
[参考] WebSphereラピッド・デプロイメント(WRD) (2/2)
®
WRDを起動してモニター開始
• コマンド >wrd.bat –monitor
モジュール又はファイルをコピー
• WRDワークスペースの「Project01」ディレクトリーに、PerfUtil.earを配置
[02:07:15 午後] Installing Ear file: PerfUtilEAR.ear
2011/04/08 14:07:15 null null
WARNING: WSVR0072W
2011/04/08 14:07:16 null null
INFO: ssl.disable.url.hostname.verification.CWPKI0027I
[02:07:21 午後] Installation of the following application is completed:
[02:07:21 午後] Starting the following application: PerfUtilEAR
[02:07:26 午後] The application is started: PerfUtilEAR
© 2011 IBM Corporation
50
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
50
05. アプリケーション管理
05. アプリケーション管理
モニター対象ディレクトリー (1/4)
®
New
ƒ モニター対象ディレクトリーによる自動デプロイ
–指定したディレクトリーにEARなどのアーカイブ・ファイルをドラッグ・アンド・
ドロップすると、変更を認識してWASに自動的にインストール・更新される
–デフォルト:無効 → 使用するには有効に設定する必要がある
–デフォルトのモニター対象ディレクトリーは${USER_INSTALL_ROOT}/
monitoredDeployableAppsであり、デフォルトを変更しても良い
例: ${USER_INSTALL_ROOT}=C:/IBM/WebSphere/AppServer/profiles/Dmgr01
アプリケーション・サーバー又は
モニター対象ディレク
作成
トリーを有効に設定
デプロイメント・マネージャー
monitoredDepl
oyableApps
WASから一定時間毎に
モニター対象ディレクト
リーを確認しに行く
管理コンソール又は
wsadminで設定可能
ファイルが入っていたら、
自動的にデプロイ・更新
© 2011 IBM Corporation
51
WAS V8.0 アナウンスメント・ワークショップ
ここでご紹介するモニター対象ディレクトリー機能は、WRDと非常に似ている機能であり、アプリ
ケーションのアーカイブ・ファイルをモニター対象のディレクトリーにドラッグ・アンド・ドロップすること
で、WASに対してアプリケーションのインストール・更新が行われる機能です。
モニター対象ディレクトリー機能はデフォルトで無効に設定されていますので、有効に設定する必
要があります。有効に設定した後、モニター対象ディレクトリーmonitoredDeployableApps(デフォルト
設定の場合、変更可能)が自動で作成されます。
モニター対象のディレクトリーはWASの管理プロセス(DM又は単体アプリケーション・サーバー)から
常にモニターされていて、変更イベントが発生すると処理が行われるような仕組みです。
【Setting monitored directory deployment values】
http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/com.ibm.websphere.nd.do
c/info/ae/ae/trun_app_set_dragdrop.html
WAS V8.0 アナウンスメント・ワークショップ
51
05. アプリケーション管理
05. アプリケーション管理
モニター対象ディレクトリー (2/4)
®
New
ƒ モニター対象ディレクトリーの有効設定
チェックを入れる
モニターするディレク
トリーを指定
ディレクトリーを確認
する間幅を指定
反映させるために単体
サーバー又はDMの
再起動が必要
cell1=AdminConfig.getid('/Cell:Cell01/')
md=AdminConfig.showAttribute(cell1, "monitoredDirectoryDeployment ")
AdminConfig.modify(md,[['enabled','true'],['pollingInterval','10'],['monitoredDirectory','
${USER_INSTALL_ROOT}/monitoredDeployableApps']])
AdminConfig.save()
52
© 2011 IBM Corporation
WAS V8.0 アナウンスメント・ワークショップ
モニター対象ディレクトリーという機能ですが、実際は「グローバル・デプロイメント設定」から設定し
ます。有効に設定するためには、「アプリケーションの自動デプロイのためにディレクトリーをモニ
ター」にチェックを入れます。更に、モニター対象ディレクトリーを監視する、ポーリング間隔はデフォ
ルトで5秒であり、ポーリング間隔この画面から変更できます。
スライドの下の方には、管理コンソールから行う作業をwsadminコマンドで行う手順があります。
WAS V8.0 アナウンスメント・ワークショップ
52
05. アプリケーション管理
05. アプリケーション管理
モニター対象ディレクトリー (3/4)
®
New
ƒ モニター対象ディレクトリーにモジュール・ファイルを配置
monitoredDeployableApps
デフォルト指定の場合
WASの単体サーバーの場合、
clusters ディレクトリーは無い
servers
clusters
deploymentProperties
..
,W AR
EAR
サーバー名
クラスター名
アプリケーションのアーカイブ・ファイル
をドラッグ・アンド・ドロップします。
#
# Header
#
ResourceType=Application
ImplementingResourceType=Application
# Properties
Name=PerfUtil
#TargetServer=!{serverName}
#TargetNode=!{nodeName}
EarFileLocation=
C:/work/Application/PerfUtil.ear
TargetCluster=Cluster1
TergetCell=!{cellName}
#
EnvironmentVariablesSection
#
#
#Environment Variables
cellName=Cell01
nodeName=Node03
serverName=Server1
アプリケーションをインストールする
ためのプロパティー・ベース
構成ファイルをコピーする
但し、単体サーバーの 手動で作成
場合、自動で作成される
ノード・エージェントが起動中であれば、同期をしてくれます。
更に、サーバー、クラスターが起動中であれば、アプリケーションを起動してくれます。
© 2011 IBM Corporation
53
WAS V8.0 アナウンスメント・ワークショップ
monitoredDeployableAppsの下に、「servers」、「clusters」、「deploymentProperties」という三つの
ディレクトリーが自動で作成されます。サーバーに対してデプロイする場合は、「servers」の下に
サーバー名のディレクトリーを、クラスターに対してデプロイする場合は、「clusters」の下にクラス
ター名のディレクトリーを手動で作成する必要があります。実際EARファイルを配置するのはこの
ディレクトリーになります。
同じセル環境に同じサーバー名のアプリケーション・サーバーが含まれる場合は、nodesとノード名
という新しいディレクトリーを作って、該当するノード名の下に、サーバー名を指定してディレクトリー
をつくってあげる必要があります。
ファイルをモニター対象ディレクトリーに配置すると、アプリケーションをインストールして、更に、
サーバー、クラスターが起動中であれば、アプリケーションを起動してくれます。
「deploymentProperties」ディレクトリーには、アーカイブ・ファイル自体ではなく、PFBCTツールで使
われるプロパティーファイルを配置します。
【Installing enterprise application files by adding them to a monitored directory】
http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/com.ibm.websphere.nd.do
c/info/ae/ae/trun_app_install_dragdrop.html
WAS V8.0 アナウンスメント・ワークショップ
53
05. アプリケーション管理
05. アプリケーション管理
モニター対象ディレクトリー (4/4)
®
New
ƒ モニター対象ディレクトリーの特徴
–WASプロセス内で動作
–設定を有効にした場合、ディレクトリーが常にモニターされているので、
間違ってファイルを上書き・削除すると、アプリケーションが変更・削除される
→対応策:該当ディレクトリーに対するアクセス制御
–頻繁にアプリケーションを更新する開発環境に適する
ƒ モニター対象ディレクトリーのメリット
–サポート:
• Express版、Base版、ND版
• Java EE 5.0 以降の EAR、EJB、WAR、SAR
–対象ファイル
• アプリケーションのアーカイブ・ファイル
• プロパティー・ファイル
© 2011 IBM Corporation
54
WAS V8.0 アナウンスメント・ワークショップ
このスライドにはモニター対象ディレクトリー機能の特徴とメリットをまとめています。
モニター対象ディレクトリーに配置できるアーカイブ・ファイルはJava EE 5.0 より以降の EAR、EJB、
WAR、SARモジュールのみになりますので、ご注意ください。
※次のページ55~56は参考ページです。
WAS V8.0 アナウンスメント・ワークショップ
54
05. アプリケーション管理
05. アプリケーション管理
[参考] モニター対象ディレクトリー (1/2)
®
New
アプリケーションを起動
してくれるため、
ドラッグ・アンド・ドロップ
後にすぐ使える
© 2011 IBM Corporation
55
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
55
05. アプリケーション管理
05. アプリケーション管理
[参考] モニター対象ディレクトリー (2/2)
®
New
ƒ デプロイメント・マネージャーのSystemOut.logに出力される
(省略)
[11/07/15 10:59:49:765 GMT+09:00] 0000003e InstallSchedu I ADMA5013I: アプリケーション PerfUtilEAR は正常にインス
トールされました。
(省略)
[11/07/15 10:59:53:671 GMT+09:00] 0000003f AppBinaryProc I ADMA7021I: アプリケーション PerfUtilEAR の配布は正常
に完了しました。
(省略)
[11/07/15 10:59:58:093 GMT+09:00] 00000039 AppManagement I CWLDD0042I: イベント ID 1140731337-2。 アプリケー
ション PerfUtilEAR をターゲット・ノードに同期しています...
[11/07/15 10:59:58:171 GMT+09:00] 00000039 AppManagement I CWLDD0037I: イベント ID 1140731337-2。 アプリケー
ション PerfUtilEAR をノード bNode1 に同期しています。
[11/07/15 10:59:59:343 GMT+09:00] 00000038 SystemOut O PLGC0062I: プラグイン構成ファイルが、Web サーバー・コ
ンピューター上の
C:¥IBM¥WebSphere8¥AppServer¥profiles¥bCustom1¥config¥cells¥bCell1¥nodes¥bNode1¥servers¥bWebserver1¥plu
gin-cfg.xml から C:¥IBM¥WebSphere8¥Plugins¥config¥bWebserver1¥plugin-cfg.xml に伝搬されます。
[11/07/15 10:59:59:468 GMT+09:00] 00000038 SystemOut O PLGC0048I: Web サーバーのプラグイン構成ファイルの伝
搬が完了しました。 bCell1.bNode1.bWebserver1.
(省略)
[11/07/15 11:00:01:828 GMT+09:00] 00000039 AppManagement I CWLDD0020I: イベント ID 1140731337-2。 アプリケー
ション PerfUtilEAR を開始しています...
[11/07/15 11:00:02:093 GMT+09:00] 00000039 AdminHelper A ADMN1009I: PerfUtilEAR アプリケーションを始動しようと
しました。
[11/07/15 11:00:06:078 GMT+09:00] 00000039 AppManagement I CWLDD0021I: イベント ID 1140731337-2。 アプリケー
ション PerfUtilEAR が次の場所で開始されています:
WebSphere:cell=bCell1,node=bNode1,server=bServer11,status=success。
[11/07/15 11:00:06:078 GMT+09:00] 00000039 AppManagement I CWLDD0021I: イベント ID 1140731337-2。 アプリケー
ション PerfUtilEAR が次の場所で開始されています:
WebSphere:cell=bCell1,node=bNode1,server=bServer12,status=success。
[11/07/15 11:00:06:203 GMT+09:00] 00000039 WatchService I CWLDD0008I: イベント ID 1140731337-2。 処理の終了。
© 2011 IBM Corporation
56
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
56
05. アプリケーション管理
05. アプリケーション管理
モニター対象ディレクトリーとPFBCT (1/1)
®
New
ƒ PFBCTをモニター対象ディレクトリーで使用する
##
## Header
Header
##
ResourceType=Application
ResourceType=Application
ImplementingResourceType=Application
ImplementingResourceType=Application
## Properties
Properties
Name=PerfUtil
Name=PerfUtil
#TargetServer=!{serverName}
#TargetServer=!{serverName}
#TargetNode=!{nodeName}
#TargetNode=!{nodeName}
EarFileLocation=
EarFileLocation=
C:/work/Application/PerfUtil.ear
C:/work/Application/PerfUtil.ear
TargetCluster=Cluster1
TargetCluster=Cluster1
TergetCell=!{cellName}
TergetCell=!{cellName}
##
EnvironmentVariablesSection
EnvironmentVariablesSection
##
##
#Environment
#Environment Variables
Variables
cellName=Cell01
cellName=Cell01
nodeName=Node03
nodeName=Node03
serverName=Server1
serverName=Server1
monitoredDeployableApps
wsadminコマンドの実行
wsadminコマンドの実行
を自動でやってくれる
を自動でやってくれる
ノードエージェントが起動して
ノードエージェントが起動して
いれば同期処理が行われる
いれば同期処理が行われる
deploymentProperties
サーバーが起動していれば、
サーバーが起動していれば、
アプリケーションを開始してくれる
アプリケーションを開始してくれる
..
,W AR
EAR
© 2011 IBM Corporation
57
WAS V8.0 アナウンスメント・ワークショップ
ここでは、モニター対象ディレクトリーにPFBCTのプロパティー・ファイルを配置することで、アプリ
ケーションがインストールされる機能をご説明しています。
プロパティー・ファイルを「deploymentProperties」ディレクトリーに配置すると、wsadminの
applyConfigPropertiesコマンドが実行され、更に、サーバー、クラスターが起動中であれば、アプリ
ケーションを起動してくれます。セル環境において、ノード・エージェントが起動中であれば、同期処
理も自動的に行われ、アプリケーションをすぐ使える状態にします。
【Installing enterprise application files by adding properties files to a monitored directory】
http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/com.ibm.websphere.nd.do
c/info/ae/ae/trun_app_install_dragdrop_prop.html
WAS V8.0 アナウンスメント・ワークショップ
57
05. アプリケーション管理
05. アプリケーション管理
®
アプリケーションの運用・管理
- ホット・デプロイメントと動的再ロード
- アプリケーションの更新、更新の自動ロールアウト
- モニター対象ディレクトリーによる更新
- OSGiアプリケーションの管理
- SCAアプリケーションの構成ファイルのエクスポート
© 2011 IBM Corporation
58
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
58
05. アプリケーション管理
05. アプリケーション管理
通常インストールと更新 (1/1)
®
ƒ 通常のアプリケーション導入手順
– ①管理コンソールやwsadminによる
アプリケーションのインストール
アプリケーションの更新
– ②構成保管
– ③全ノードと同期
クラスターメンバーAとBに配布
ノードA
ノードエージェント
③
アプリケーション
サーバー
config
(クラスター・メンバーA)installedApps
config
デプロイメント
マネージャー
– ④アプリケーションの開始
ノードB
リソースを使用するアプリケーションなどの
リソースを使用するアプリケーションなどの
場合、リソース定義など追加設定が必要
場合、リソース定義など追加設定が必要
③
②
ノードエージェント
アプリケーション
サーバー
④
①
config
(クラスター・メンバーB)installedApps
セル
管理者
© 2011 IBM Corporation
59
WAS V8.0 アナウンスメント・ワークショップ
ここでは、通常アプリケーションをインストール・更新するときの、手順が説明されています。通常で
あれば、単体アプリケーション・サーバー又はデプロイメント・マネージャーの管理コンソール・
wsadminツール経由でアプリケーションをインストール・更新して、ノードのinstalledAppsディレクト
リーにアプリケーションのファイルが展開されます。
WAS V8.0 アナウンスメント・ワークショップ
59
05. アプリケーション管理
05. アプリケーション管理
ホット・デプロイメントと動的再ロード (1/1)
®
ƒ アプリケーションやそのモジュールに様々な変更を直接加えると、
サーバーの停止と再始動を行わなくとも、変更を反映してくれる
ノードA
ノードエージェント
config
アプリケーション
installedApps
サーバー
ƒ アプリケーション・ファイルに対して行う変更 は、管理コンソール
又は wsadmin アプリケーション管理機能では認識されない
ƒ ホットデプロイメントと動的再ロードは、以下の場合使用できない
–今後コンソールや wsadmin からアプリケーションを管理したい
–アプリケーションを今後エクスポートする
–アプリケーション構成をベースにプラグインを生成する
–本番環境での使用は推奨されない
60
© 2011 IBM Corporation
WAS V8.0 アナウンスメント・ワークショップ
ここでは、ご紹介するホット・デプロイメント動的再ロードの機能を紹介します。アプリケーションを単
体アプリケーション・サーバー又はデプロイメント・マネージャーの管理コンソール・wsadminツール
経由で更新するのではなく、ノードのinstalledAppsディレクトリーにあるソース・コードやファイルを直
接編集すると、アプリケーション・サーバーの起動中に変更が反映されてしまう機能です。
管理コンソールやwsadminのアプリケーション管理機能から認識されません。例えば、ファイルを直
接更新してるので管理コンソールから別の変更が行われると直接書き換えた部分が上書きされて
しまいます。このように、使用できないケースがいくつか記載されておりますのでご注意ください。
WAS V8.0 アナウンスメント・ワークショップ
60
05. アプリケーション管理
05. アプリケーション管理
アプリケーションの更新、更新の自動ロールアウト (1/7)
®
ƒ Fine-Grained Updateとは
–アプリケーションを部分的に追加 / 更新 / 削除する機能
–管理コンソールや wsadmin を使用した実行が可能
ƒ 更新単位:
–アプリケーション、モジュール、ファイル、アプリケーションの一部
ƒ 更新 / 反映
–サーバー稼動中に更新した場合、アプリケーション全体あるいは更新の影
響を受ける一部だけを自動停止、更新、再起動
更新
更新
更新
管理者
Application.ear
WebModule.war
FileA
FileB
EJBModule.jar
© 2011 IBM Corporation
61
WAS V8.0 アナウンスメント・ワークショップ
ここでは、アプリケーションの更新を管理コンソール又は wsadmin を使用して実施する、FineGrained Update機能をご紹介します。アプリケーションの更新単位は、アプリケーション毎、1つのモ
ジュール、 1つのファイル、一部ファイルなどがあります。但し、 Fine-Grained Update機能で行った
更新は、アプリケーションもしくはアプリケーション・サーバーを再起動することで反映されます。
WAS V8.0 アナウンスメント・ワークショップ
61
05. アプリケーション管理
05. アプリケーション管理
アプリケーションの更新、更新の自動ロールアウト (2/7)
®
ƒ Fine-Grained Update: 管理コンソールから
アプリケーション毎を更新
1つのモジュールを更新・追加
1つのファイルを更新・追加
複数のファイルを更新・追加
この次は管理コンソールからの導入と似ています。
© 2011 IBM Corporation
62
WAS V8.0 アナウンスメント・ワークショップ
Fine-Grained Updateによるアプリケーションの更新を管理コンソールから行う画面例です。
WAS V8.0 アナウンスメント・ワークショップ
62
05. アプリケーション管理
05. アプリケーション管理
アプリケーションの更新、更新の自動ロールアウト (3/7)
wsadminコマンドによるFine-Grained Update
wsadmin.bat(sh) –lang jython
®
サーバー又は、デプロイメントマネー
サーバー又は、デプロイメントマネー
ジャーが起動していることが前提
ジャーが起動していることが前提
AdminApp.update('InfraTest', 'app', '[-operation update -contents
C:¥work¥Application¥InfraTest.ear]')
ADMA5113I: アクティベーション・プランが正常に作成されました。
ADMA5011I: アプリケーション InfraTest の一時ディレクトリーのクリーンアップが完了しました。
ADMA5013I: アプリケーション InfraTest は正常にインストールされました。
AdminConfig.save()
AdminNodeManagement.syncActiveNodes()
print AdminApp.isAppReady('InfraTest')
print AdminApp.getDeployStatus('InfraTest')
更にサーバーを再起動する、又はアプリケーション
更にサーバーを再起動する、又はアプリケーション
を始動するコマンドが必要です。
を始動するコマンドが必要です。 ※次の自動ロー
※次の自動ロー
ルアウトアップデート機能をご参考ください
ルアウトアップデート機能をご参考ください
オプション・コマンド
‘app‘
アプリケーション毎(earファイル)
‘modulefile‘
‘file‘
1つのモジュール(war,jar)
1つのファイル (xml, 画像)
‘partialapp‘
複数のファイル(zip)
© 2011 IBM Corporation
63
WAS V8.0 アナウンスメント・ワークショップ
こちらは、 Fine-Grained Updateをwsadminコマンドで行うための手順です。オプション・コマンドとし
て、’app’, ‘modulefile’, ‘file’, ’partialapp’を指定できます。
WAS V8.0 アナウンスメント・ワークショップ
63
05. アプリケーション管理
05. アプリケーション管理
アプリケーションの更新、更新の自動ロールアウト (4/7)
®
ƒ Rollout Update とは
–クラスター上のアプリケーションへの更新を自動でノード毎に順番に反映
マシン1
Application
クラスターメンバー1
① 反映
Application
Rollout Update
実行
Application
管理者
サーバー
クラスター
クラスターメンバー2
② 完了
マシン2
③ 反映
Application
④ 完了
クラスターメンバー3
⑤ 反映
⑥ 完了
マシン3
Application
クラスターメンバー4
© 2011 IBM Corporation
64
WAS V8.0 アナウンスメント・ワークショップ
Fine-Grained Updateによるアプリケーションの更新後に、アプリケーション・サーバーを再起動すれ
ば変更が反映されますが、アプリケーションの更新を行うために、どうしてもサービスが停止する時
間が発生してしまいます。
ここで、ご紹介するRollout Update機能はセル環境のクラスター上のアプリケーション・サーバーを
ノード毎に順番に再起動することによって、サービスを停止せずにアプリケーションを更新できる機
能です。
WAS V8.0 アナウンスメント・ワークショップ
64
05. アプリケーション管理
05. アプリケーション管理
アプリケーションの更新、更新の自動ロールアウト (5/7)
ƒ 水平クラスター
の場合:
®
Fine-Grained
Fine-Grained Updateを行った後、
Updateを行った後、
最後のページからロールアウト
最後のページからロールアウト
アップデートを行うか選択できる
アップデートを行うか選択できる
アプリケーション・ロールアウトの開始中。
マスター・リポジトリーへのコミット中。
変更はマスター・リポジトリーにコミットされました。
ADMA8002I: アプリケーション PerfUtilEAR のアプリケーション ripple が開始されました。
ADMA8003I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server11 を停止しています。
ADMA8004I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server11 を停止しました。
ADMA8003I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server12 を停止しています。
ADMA8004I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server12 を停止しました。
ADMA8005I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、ノード Node12 を同期化しています。
ADMA8006I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、ノード Node12 を同期化しました。
ADMA8031I: アプリケーションの拡張は、ノード Node12 上でバックグラウンド・プロセスとして処理されます。
ADMA8007I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server11 を開始しています。
ADMA8008I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server11 を開始しました。
ADMA8007I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server12 を開始しています。
ADMA8008I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server12 を開始しました。
ADMA8003I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server11 を停止しています。
ADMA8004I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server11 を停止しました。
ADMA8003I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server12 を停止しています。
ADMA8004I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server12 を停止しました。
ADMA8005I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、ノード Node01 を同期化しています。
ADMA8006I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、ノード Node01 を同期化しました。
ADMA8031I: アプリケーションの拡張は、ノード Node01 上でバックグラウンド・プロセスとして処理されます。
ADMA8007I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server11 を開始しています。
ADMA8008I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server11 を開始しました。
ADMA8007I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server12 を開始しています。
ADMA8008I: アプリケーション PerfUtilEAR のアプリケーション ripple を実行するため、サーバー Server12 を開始しました。
ADMA5011I: アプリケーション PerfUtilEAR の一時ディレクトリーのクリーンアップが完了しました。
ADMA8000I: アプリケーション PerfUtilEAR のアプリケーション ripple が正常に行われました。
アプリケーション・ロールアウトが成功しました。
後で管理コンソールから、変更
後で管理コンソールから、変更
のロールアウトを実行可能
のロールアウトを実行可能
ノード1上の
サーバーの停止
ノード1上の
サーバーの開始
ノード2上の
サーバーの停止
ノード2上の
サーバーの開始
水平クラスターの場合は、
サービスを停止することなく、
アップデートできます。
© 2011 IBM Corporation
65
WAS V8.0 アナウンスメント・ワークショップ
Rollout Update機能はノード毎にアプリケーション・サーバーを停止するため、水平クラスターの場
合のみ活用できます。
WAS V8.0 アナウンスメント・ワークショップ
65
05. アプリケーション管理
05. アプリケーション管理
アプリケーションの更新、更新の自動ロールアウト (6/7)
®
ƒ 垂直クラスター
の場合
アプリケーション・ロールアウトの開始中。
マスター・リポジトリーへのコミット中。
変更はマスター・リポジトリーにコミットされました。
ADMA8002I: アプリケーション InfraTest のアプリケーション ripple が開始されました。
ADMA8003I: アプリケーション InfraTest のアプリケーション ripple を実行するため、サーバー Server11 を停止しています。
ADMA8004I: アプリケーション InfraTest のアプリケーション ripple を実行するため、サーバー Server11 を停止しました。
ADMA8003I: アプリケーション InfraTest のアプリケーション ripple を実行するため、サーバー Server12 を停止しています。
ADMA8004I: アプリケーション InfraTest のアプリケーション ripple を実行するため、サーバー Server12 を停止しました。
ADMA8005I: アプリケーション InfraTest のアプリケーション ripple を実行するため、ノード Node1 を同期化しています。
ADMA8006I: アプリケーション InfraTest のアプリケーション ripple を実行するため、ノード Node1 を同期化しました。
ADMA8028I: アプリケーション InfraTest は、ノード bNode1 上に正常に拡張されました。
ADMA8007I: アプリケーション InfraTest のアプリケーション ripple を実行するため、サーバー Server11 を開始しています。
ADMA8008I: アプリケーション InfraTest のアプリケーション ripple を実行するため、サーバー Server11 を開始しました。
ADMA8007I: アプリケーション InfraTest のアプリケーション ripple を実行するため、サーバー Server12 を開始しています。
ADMA8008I: アプリケーション InfraTest のアプリケーション ripple を実行するため、サーバー Server12 を開始しました。
ADMA5011I: アプリケーション InfraTest の一時ディレクトリーのクリーンアップが完了しました。
ADMA8000I: アプリケーション InfraTest のアプリケーション ripple が正常に行われました。
アプリケーション・ロールアウトが成功しました。
ノード上の
サーバーの停止
ノード上の
サーバーの開始
垂直クラスターの場合、サーバーが同時に停止してしまいます。
© 2011 IBM Corporation
66
WAS V8.0 アナウンスメント・ワークショップ
垂直クラスターの場合は、ノード上の全部のアプリケーション・サーバーが停止されるタイミングが
発生し、結局的にサービス停止時間が発生してしまいますので、ご注意ください。
WAS V8.0 アナウンスメント・ワークショップ
66
05. アプリケーション管理
05. アプリケーション管理
アプリケーションの更新、更新の自動ロールアウト (7/7)
®
wsadminコマンドによる更新の自動ロールアウト
wsadmin.bat(sh) –lang jython
デプロイメントマネージャーが起動し
デプロイメントマネージャーが起動し
ていることが前提
ていることが前提
wsadminで更新を行った
wsadminで更新を行った
直後の場合省略可能
直後の場合省略可能
AdminTask.updateAppOnCluster('[-ApplicationNames InfraTest]')
ノード・エージェント、アプリケーション・
ノード・エージェント、アプリケーション・
サーバーが起動していることが前提
サーバーが起動していることが前提
AdminTask.updateAppOnCluster('[-ApplicationNames InfraTest -timeout 600]')
・各ノードの同期処理で使う時間のタイムアウトを設定できる。(デフォルト 300秒)
・また、更新対象のノードとアプリケーション・サーバーの台数により、更新の
ロールアウト処理にwsadminのSOAP接続タイムアウト値より長い時間がかかる場合がある
・その場合は、/<プロファイル・ルート>/properties/soap.client.propsファイル内の
タイムアウト値を長く設定する必要がある
© 2011 IBM Corporation
67
WAS V8.0 アナウンスメント・ワークショップ
Rollout Update機能を管理コンソールからではなく、wsadminから行う手順です。
更新対象のノードとアプリケーション・サーバーの台数が多いと、ロールアウトアップデートの処理
に時間がかかってしあい、タイムアウトが発生する可能性があります。その場合は、/<プロファイ
ル・ルート>/properties/soap.client.propsファイル内の「com.ibm.SOAP.requestTimeout=180」タイム
アウト値を長く設定する必要があります。
【WAS: SOAPコマンドタイムアウトの設定について】
http://www-01.ibm.com/support/docview.wss?uid=std399a3c5b93e0258ff492577ae000e1530
また、ノードへの同期処理で使うタイムアウトを、updateAppOnClusterコマンドの「-timeout」オプ
ションで指定できます。デフォルト値は300秒です。
【The purpose of the updateAppOnCluster timeout parameter is unclear】
http://www-01.ibm.com/support/docview.wss?uid=swg21295535
WAS V8.0 アナウンスメント・ワークショップ
67
05. アプリケーション管理
05. アプリケーション管理
モニター対象ディレクトリーによる更新 (1/3)
®
New
ƒ モニター対象ディレクトリーを使ってインストールした場合
–同じ名前のアーカイブ・ファイルを(EAR, JAR, WAR, SAR)モニター対象
ディレクトリーに上書きすることで、アプリケーションを更新できる
– ノード・エージェントとサーバーが起動中であれば、更新後にアプリケーショ
ンを同期・再起動してくれる
New
サーバー名
クラスター名
同じ名前の新しい
アプリケーションを上書き
管理者
– モニター対象ディレクトリーにおいてあるモジュールを削除することでアンイ
ンストールできる
古いアプリケーションを
削除
サーバー名
クラスター名
© 2011 IBM Corporation
68
WAS V8.0 アナウンスメント・ワークショップ
ここで前にご紹介した、モニター対象ディレクトリーを使ったアプリケーションの更新・アンインストー
ルをご説明します。
アプリケーションの更新の場合は、同じ名前のアーカイブ・ファイルを(EAR, JAR, WAR, SAR)モニ
ター対象ディレクトリーに上書きすることで、アプリケーションが更新されます。
アンインストールの場合は、モニター対象ディレクトリーに配置されているアーカイブ・ファイルを削
除することで実現できます。
WAS V8.0 アナウンスメント・ワークショップ
68
05. アプリケーション管理
05. アプリケーション管理
モニター対象ディレクトリーによる更新 (2/3)
®
New
アプリケーションの更新
アプリケーションの削除
1. 古いアプリケーションの停止
2. アプリケーションのインストール
3. 古いアプリケーションの削除
4. 新しいアプリケーションの始動
アプリケーション
停止の時間が発生
MonitoredDirectoryの
設定をしている環境であれば、
ファイルを削除するだけで、
アンインストールできます。
© 2011 IBM Corporation
69
WAS V8.0 アナウンスメント・ワークショップ
モニター対象ディレクトリーを使ってアプリケーションを更新する場合は、アプリケーションが停止す
るタイミングが発生します。
もし、更新時にEARアプリケーションが停止状態の場合は、インストール後にEARアプリケーション
が起動されている状態になります。更新時にEARアプリケーションが起動状態の場合は、EARアプ
リケーション再起動することになります。
モニター対象ディレクトリーに間違って、ファイルを上書きしたり削除しても、反映されてしまいます。
モニターされているディレクトリーのグループ/ユーザーの権限を制限することが推奨されます。
WAS V8.0 アナウンスメント・ワークショップ
69
05. アプリケーション管理
05. アプリケーション管理
モニター対象ディレクトリーによる更新 (3/3)
®
New
ƒ プロパティーファイルをモニター対象ディレクトリーに置くことで、
アプリケーション・一部ファイルの更新・アンインストールを行う
更新するファイル
monitoredDeployableApps
##
## Header
Header
## ResourceType=Application
ResourceType=Application
ImplementingResourceType=Application
ImplementingResourceType=Application
## Properties
Properties
Name=hello
Name=hello
Update=true
Update=true
operationType=update
operationType=update
contentType=app
contentType=app
contentFile=/apps/app1/newApp1.ear
contentFile=/apps/app1/newApp1.ear
useDefaultBindings=true
useDefaultBindings=true
プロパティー・ファイルの
contentTypeオプション
‘app‘ アプリケーション毎
‘modulefile‘ 1つのモジュール
‘file‘ 1つのファイル
‘partialapp‘
複数のファイル
deploymentProperties
更新するプロパティー・ファイルを配置
アンインストールするファイル
##
## Header
Header
## ResourceType=Application
ResourceType=Application
ImplementingResource
ImplementingResource
Type=Application
Type=Application
DELETE=true
DELETE=true
## Properties
Properties
Name=hello
Name=hello
EAR
70
アプリケーション更新のプロ
アプリケーション更新のプロ
パティー・ファイルのテンプ
パティー・ファイルのテンプ
レートはInfocenterにある
レートはInfocenterにある
デプロイされているアプリケー
デプロイされているアプリケー
ションのプロパティー・ファイル
ションのプロパティー・ファイル
を抽出することも可能
を抽出することも可能
PFBCTを使用するメリット
・アプリケーションのバインディングを設定できる
・アプリケーションの1つのファイル、一部ファイルの
更新ができる
© 2011 IBM Corporation
WAS V8.0 アナウンスメント・ワークショップ
ここでは、PFBCTで使われるプロパティー・ファイルをモニター対象ディレクトリーに配置することで、
アプリケーションの更新が実施される機能をご紹介します。
アプリケーションの更新用と削除用のプロパティー・ファイルのテンプレートが、Infocenterに公開さ
れていますので、ご使用ください。
PFBCTを使わない、モニター対象ディレクトリーの場合は、Java EE 5.0以降のアーカイブ・ファイル
EAR, JAR, WAR, SARのみサポートされています。PFBCTを使うと、アプリケーションの1つのファイ
ル、1部のファイルなどの部分的な更新が可能になります。
【Installing enterprise application files by adding properties files to a monitored directory】
http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/com.ibm.websphere.nd.do
c/info/ae/ae/trun_app_install_dragdrop_prop.html
WAS V8.0 アナウンスメント・ワークショップ
70
05. アプリケーション管理
05. アプリケーション管理
OSGiアプリケーションの管理 (1/3)
®
New
OSGiとは
ƒ モジュール化(コンポーネント化)を行うための技術の一つ
–モジュールは「OSGiバンドル」として構成する
–バンドルは独立的に管理・更新でき、アプリケーション全体との依存性
が決まっていて、柔軟にアップデート・再利用可能
OSGiフレームワーク
OSGiアプリケーション
OSGi
バンドル
OSGi
バンドル
OSGi
バンドル
JVM
JVM
オペレーティング・システム
オペレーティング・システム
ハードウェア
ハードウェア
© 2011 IBM Corporation
71
WAS V8.0 アナウンスメント・ワークショップ
OSGiアプリケーションとは、モジュール化(コンポーネント化)を行うための技術の一つであり、アプリ
ケーションはOSGiバンドルから構成されています。
WAS V8.0 アナウンスメント・ワークショップ
71
05. アプリケーション管理
05. アプリケーション管理
OSGiアプリケーションの管理 (2/3)
®
New
WASにおけるOSGi
ƒ WAS V8では、Java EEとOSGi技術を両方使うアプリケー
ションをデプロイ/稼動/管理できるようになった
– OSGiアプリケーションはBLAとして、各バンドルはアセットとして登録
– 同じ又は異なるアプリケーションから、3rdパーティーライブラリーの異なる
バージョンを使用することが可能
– OSGiアプリケーションが使うバンドルの複数バージョンをバンドル・リポジト
リーから管理できる
© 2011 IBM Corporation
72
WAS V8.0 アナウンスメント・ワークショップ
WAS V8では、Java EEとOSGi技術を両方使うアプリケーションをデプロイ/稼動/管理できるように
なりました。OSGiアプリケーションをWASにインストールする際に、OSGiバンドルをBLAのアセットと
して登録する必要があります。 OSGiアプリケーションが使うバンドルの複数バージョンを登録したり、バン
ドル・リポジトリーから閲覧・管理できます。
【Administering OSGi applications】
http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/com.ibm.websphere.nd.m
ultiplatform.doc/info/ae/ae/welc6tech_osgi_adm.html
WAS V8.0 アナウンスメント・ワークショップ
72
05. アプリケーション管理
05. アプリケーション管理
OSGiアプリケーションの管理 (3/3)
®
New
ƒ JVMを起動したままバンドルの入れ替え(バージョン・アップ)が可能
– 実際の更新を行う前に、管理コンソールからバンドルの新旧バージョンのプレ
ビューが可能
– 動的更新機能により、アプリケーションの停止を伴わずにバンドルの更新プロセ
スが実行可能
インストール済み
バンドルの
バージョンを
指定して更新
「12. OSGiアプリケーション」セッションをご参照ください
© 2011 IBM Corporation
73
WAS V8.0 アナウンスメント・ワークショップ
OSGIアプリケーションのインストール・管理は、WAS V7.0のFeature Pack for OSGiにおい
ても使用可能でした。WAS V8.0では、Feature Packを導入する必要なく、OSGiのアプリ
ケーション管理機能が含まれています。
更に、WAS V8.0から追加された新機能として、アプリケーション・サーバーの起動中に
OSGiバンドルのアップデートができます。この動的更新機能により、サービス停止を伴わずに
バンドルの更新プロセスが実行可能になりました。
WAS V8.0 アナウンスメント・ワークショップ
73
05. アプリケーション管理
05. アプリケーション管理
SCAアプリケーションの構成ファイルのエクスポート (1/4)
New
®
ƒ SCAはXMLファイルで定義された、複数のコンポーネントを組み
合わせ、Webサービス・アプリケーションを開発するモデル
ƒ SCAアプリケーションをアセットとしてインポートし、BLAに登録
– Java EEパッケージングから独立して利用することが可能
JAR
アセット
BLA
ZIP
WAR
© 2011 IBM Corporation
74
WAS V8.0 アナウンスメント・ワークショップ
Service Component Architecture (略してSCA) はXMLファイルで定義された、複数のコンポーネン
トを組み合わせ、Webサービス・アプリケーションを開発するモデルです。SCAアプリケーションを
WASに対してインストールするには、 複数コンポーネントからなるコンポジットをBLAのアセットとし
て登録し、SCAアプリケーションをBLAとして動かします。
WAS V8.0 アナウンスメント・ワークショップ
74
05. アプリケーション管理
05. アプリケーション管理
SCAアプリケーションの構成ファイルのエクスポート (2/4)
ƒ SCAアプリケーションの部品はコンポーネント
ƒ 複数コンポーネントを組合わせてコンポジット
ƒ <コンポジット名>.compositeファイル
New
®
SCA コンポジット
コンポーネント
– 一般的にSCDLという名前で呼ばれる
– コンポジット内のコンポーネントやサービスなどの構造、設定を記述
© 2011 IBM Corporation
75
WAS V8.0 アナウンスメント・ワークショップ
SCAアプリケーションの部品はコンポーネントであり、複数コンポーネントを組合わせてコンポジット
を構成します。コンポジット内のコンポーネントに関する構造、設定などの構成情報は、
SCDL(Service Component Definition Languageの略)と呼ばれる構成ファイルに記述されています。
WAS V8.0 アナウンスメント・ワークショップ
75
05. アプリケーション管理
05. アプリケーション管理
SCAアプリケーションの構成ファイルのエクスポート (3/4)
New
®
ƒ SCAコンポジットの構成ファイルをエクスポートできる
AdminTask.exportSCDL(‘[-cuName <SCA_コンポジション名> -exportFile <ファイル名>]')
結果: SCAコンポジット(SCDL)が正常にエクスポートされています。
ƒ 管理コンソールから、コンポジット構成ファイルを参照できる
管理コンソールから、「アプリケーション」> 「アプリケーション・タイプ」 > 「ビジネス・
レベル・アプリケーション」 > 「<アプリケーション名>」 > 「<SCAアセット名>」 > 「コ
ンポジットの表示」をクリックする
© 2011 IBM Corporation
76
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0から追加された新機能により、SCAアプリケーションのSCDL構成ファイルをwsadminでエ
クスポートできるようになりました。更に、管理コンソールからSCDL構成ファイルを閲覧可能になっ
ています。
【Exporting SCA composite definitions using scripting】
http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/com.ibm.websphere.nd.m
ultiplatform.doc/info/ae/ae/tsca_export_compdef_scripting.html
WAS V8.0 アナウンスメント・ワークショップ
76
05. アプリケーション管理
05. アプリケーション管理
SCAアプリケーションの構成ファイルのエクスポート (4/4)
New
®
ƒ デプロイされたSCAのWSDL, XSD構成ファイルのエクスポート可能
SCAビジネス・レベルアプリケーションは単一又は複数のコンポジション単位からな
り、これらの定義はWSDL、XSD構成ファイルに書かれています。
管理コンソールから: New
「アプリケーション」> 「アプリケーション・タイプ」 > 「ビジネス・レベル・アプリケーション」
> 「<アプリケーション名>」 > 「<SCAアセット名>」 > 「Export WSDL and XSD
document」のリンクをクリックして、ファイルの出力先ディレクトリーを指定する
© 2011 IBM Corporation
77
WAS V8.0 アナウンスメント・ワークショップ
SCAアプリケーションはWebサービスの呼び出しなどで使用される、単一又は複数WSDL、XSDファ
イルを持っています。WAS V8.0から追加された新機能により、SCAアプリケーションのWSDLファイ
ルを管理コンソールからエクスポートできるようになりました。WAS V7.0のFeature Pack for SCAに
おいては、WSDL, XSDファイルのエクスポートは、wsadminでのみ実施可能でした。
【Exporting WSDL and XSD documents】
http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/com.ibm.websphere.nd.m
ultiplatform.doc/info/ae/ae/tsca_export_wsdl_console.html
※次のページ78~79は参考ページです。
WAS V8.0 アナウンスメント・ワークショップ
77
05. アプリケーション管理
05. アプリケーション管理
[参考] SCAアプリケーションの構成ファイルのエクスポート(1/2)
ƒ wsadminによるのコンポジット構成ファイルのエクスポート
®
New
HelloJeeScaServiceComposite -exportFile
例) AdminTask.exportSCDL('[-cuName
C:/work/CompositeFile.txt]')
<composite targetNamespace="http://foo" name="HelloJeeScaServiceComposite"
xsi:schemaLocation="http://www.osoa.org/xmlns/sca/1.0 http://www.osoa.org/xmlns/sca/1.0" >
<component name="HelloJeeEnhancedComponent" >
<implementation.jee archive="HelloJeeEnhancedEar.ear" />
<service name="HelloJeeEnhancedSBean_HelloJeeEnhancedSBeanRemote" >
<interface.java interface="sca.jee.HelloJeeEnhancedSBeanRemote" />
<binding.sca/>
</service>
<reference name="sbean2" target="HelloJeeScaComponent/HelloJeeScaService" >
<interface.java interface="sca.jee.HelloJeeScaService" />
</reference>
</component>
<component name="HelloJeeComponent" >
<implementation.jee archive="HelloJeeEar.ear" />
</component>
<component name="HelloJeeScaComponent" >
<implementation.java class="sca.jee.impl.HelloJeeScaServiceImpl" />
<service name="HelloJeeScaService" >
<interface.java interface="sca.jee.HelloJeeScaService" />
</service>
</component>
</composite>
© 2011 IBM Corporation
78
WAS V8.0 アナウンスメント・ワークショップ
詳細につきまして、Infocenterをご参照ください。
【Exporting SCA composite definitions using scripting】
http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/com.ibm.websphere.nd.do
c/info/ae/ae/tsca_export_compdef_scripting.html
WAS V8.0 アナウンスメント・ワークショップ
78
05. アプリケーション管理
05. アプリケーション管理
[参考] SCAアプリケーションの構成ファイルのエクスポート(2/2)
®
ƒ wsadminによるWSDL構成ファイルのエクスポート
例) wsadmin
1. print AdminTask.help(‘exportWSDLArtifacts’)
2. AdminTask.exportWSDLArtifacts(‘[-cuName <CU名> -exportDir <ディレクトリー
名>]’)
結果: ‘CWSAM0503I: WSDL 成果物は、正常にエクスポートされました。’
3. exportWSDLArtifacts コマンドを実行すると <コンポジット名>_WSDLArtifacts.zip と
いうファイルが指定されたディレクトリーに保存される
(例では、HelloJeeScaServiceComposite_WSDLArtifacts.zipファイル)
WAS
WAS v7のFP
v7のFP for
for SCAにおいて、wsadminによるエキスポートは可
SCAにおいて、wsadminによるエキスポートは可
能だったが、管理コンソールからのエクスポートは新しく追加された
能だったが、管理コンソールからのエクスポートは新しく追加された
© 2011 IBM Corporation
79
WAS V8.0 アナウンスメント・ワークショップ
詳細につきまして、Infocenterをご参照ください。
【Exporting WSDL and XSD documents using scripting】
http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/com.ibm.websphere.nd.do
c/info/ae/ae/tsca_export_wsdl_scripting.html
WAS V8.0 アナウンスメント・ワークショップ
79
05. アプリケーション管理
05. アプリケーション管理
®
まとめ
© 2011 IBM Corporation
80
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
80
05. アプリケーション管理
05. アプリケーション管理
®
まとめ
ƒ アプリケーションの開発
; リソース設定の省略
拡張EAR
; 複数earの一括管理
BLA
開発環境
開発時
クラス・ローダー・ポリシー
; カスタム・クラスの上書き
ƒ アプリケーションのインストール
; プロパティー・ファイルの使用
; アプリケーションの頻繁な更新
モニター対象ディレクトリー
開発環境
開発時
ƒ アプリケーションの運用管理
; コードの直接修正
PFBCTツール
ホット・デプロイ、最適ロールアウト
; サービス停止なくアプリを更新
開発環境
Fine-grained更新、自動ロールアウト
水平クラスター
; OSGiアプリの使用
OSGiアプリのバージョン管理、バンドルの動的更新
; Webサービスの使用
SCAアプリケーションの構成ファイルの表示、抽出
WASが提供する便利な機能を活用することで、作業の効率化が可能です!
© 2011 IBM Corporation
81
WAS V8.0 アナウンスメント・ワークショップ
このセッションでは、WAS V8.0が提供しているアプリケーション管理の機能を、アプリケーションの
開発、アプリケーションのインストール、アプリケーションの運用管理のトピックに分けてご説明しま
した。この中には、WAS V8.0から追加された新機能もいくつかご紹介しました。WASが提供する便
利な機能を活用することで、作業の効率化が可能になりますので、是非ご活用ください。
WAS V8.0 アナウンスメント・ワークショップ
81
05. アプリケーション管理
05. アプリケーション管理
参考資料
®
ƒ WebSphere Application Server v8 – Information Center
– http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp
ƒ IBM WebSphere Application Server V8.0 enables intelligent management of
application environments and helps deliver rich user experiences faster
– http://www.ibm.com/common/ssi/rep_ca/9/897/ENUS211-139/ENUS211139.PDF
ƒ 「WebSphere Application Server v7 アナウンスメント・ワークショップ資料」の「アプリ
ケーション管理」
– http://www.ibm.com/developerworks/jp/websphere/library/was/was7_ws/
ƒ 「WebSphere Application Server v6 アナウンスメントワークショップ資料」の「アプリケー
ション管理」
– http://www.ibm.com/developerworks/jp/websphere/library/was/was6_ws/
ƒ クラス・ローダーとJ2EEパッケージング戦略を理解する
– http://www.ibm.com/developerworks/jp/websphere/library/java/j2ee_classloader
/index.html
ƒ Application deployment using a monitored directory
– http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.w
as_v8/was/8.0/Administration/WASv8_MonitoredDirectoryDeploy/player.html
ƒ Application deployment by adding properties file to a monitored directory
– http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.i
bm.iea.was_v8/was/8.0/Administration/WASv8_AppDeploy/player.html© 2011 IBM Corporation
82
WAS V8.0 アナウンスメント・ワークショップ
WAS V8.0 アナウンスメント・ワークショップ
82
Fly UP