アナウンスメント・ワークショップ アプリケーション管理 WebSphere Application Server V8.0 05. アプリケーション管理
by user
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