...

リソース管理 1 日本アイ・ビー・エム(株) WebSphereテクニカル・セールス第一

by user

on
Category: Documents
114

views

Report

Comments

Transcript

リソース管理 1 日本アイ・ビー・エム(株) WebSphereテクニカル・セールス第一
リソース管理
日本アイ・ビー・エム(株)
WebSphereテクニカル・セールス第一
植田 毅 [email protected]
© 2008 IBM Corporation
1
Disclaimer
WAS
WAS V7
V7 W/S
W/S
当資料で提供する技術情報は、各製品の出荷前コードに基づくものを含みます。
この資料は日本アイ・ビー・エム株式会社ならびに
日本アイ・ビー・エム システムズ・エンジニアリング株式会社の正式なレ
ビューを受けておりません。
当資料は、資料内で説明されている製品の仕様を保証するものではありません。
資料の内容には正確を期するよう注意しておりますが、この資料の内容は2008年
10月現在の情報であり、製品の新しいリリース、PTFなどによって動作、仕様が変
わる可能性があるのでご注意下さい。
今後国内で提供されるリリース情報は、対応する発表レターなどでご確認くださ
い。
WebSphere Application Server V7
Announcement Workshop 2008
#2
© IBM Corporation.
2
WAS
WAS V7
V7 W/S
W/S
Agenda
DB2との接続
SQLjのデプロイの改善
pureQueryのサポート
DB2 Trusted Contextのサポート
付録
その他の新機能
JMSクライアント
Single Instanceリソース・アダプター
WBIリソース・アダプター
JCAエンドポイント用MBean
拡張DB2データ・ソースのサポート
DB2 クライアント・リルートの設定
非推奨、削除された機能
メッセージング関連
WebSphere MQ連携の強化
SIBus-WebSphere MQ連携の強化
シンプルな管理操作
MDBの管理機能の強化
Transaction Management
分離された共用ライブラリー
Summary
Reference
WebSphere Application Server V7
Announcement Workshop 2008
#3
© IBM Corporation.
3
WAS
WAS V7
V7 W/S
W/S
DB2との接続
WebSphere Application Server V7
Announcement Workshop 2008
WAS
WAS V7
V7 W/S
W/S
#4
© IBM Corporation.
4
DB2との接続
WAS
WAS V7
V7 W/S
W/S
SQLjのデプロイの改善
PureQueryサポート
DB2 Trusted context サポート
拡張DB2データ・ソースのサポート
DB2 クライアント・リルートの設定
非推奨、削除された機能
WebSphere Application Server V7
Announcement Workshop 2008
#5
© IBM Corporation.
DB2との接続では、6個のトピックについて説明します。
5
SQLjのデプロイの改善(1/2)
WAS
WAS V7
V7 W/S
W/S
V6.1では、SQLjを構成するのに複数ステップが必要
アプリケーションのデプロイ
デプロイしたEARファイルのUnJar
EARファイル内の.serファイルをカスタマイズ/バインドする
EARファイルを再度パッケージ化する
デプロイオプションなしで、EARファイルを再度インストールする
V7構成
New
v7
管理コンソールでのインストール
管理コンソールで、再インストールすることなく、 DB2 SQLj profileをカスタマイズ可
能
WebSphere Application Server V7
Announcement Workshop 2008
#6
© IBM Corporation.
SQLjとは、Javaで静的SQLを埋め込み型SQLとして記述・実行するための言語仕様です。
WAS V7以前は、SQLjアプリケーションのインストール、デプロイ、カスタマイズ、バインディング作
業は、管理コンソールやスクリプトが一連の作業方法を提供していなかったため、難しい作業でし
た。WAS V7では、DB2 SQLjプロファイルのカスタマイズ管理が管理コンソールやスクリプトでサ
ポートされました。
6
SQLjのデプロイの改善(2/2):管理コンソール
WAS
WAS V7
V7 W/S
W/S
エンタープライズ・アプリケーション > アプリケーション名 > SQLJプロファイル
およびpureQueryバインド・ファイル
プロファイルのカスタマイズと
バインドが可能
WebSphere Application Server V7
Announcement Workshop 2008
#7
© IBM Corporation.
エンタープライズ・アプリケーション > アプリケーション名 > データベース・プロファイル > SQLJプ
ロファイルおよびpureQueryバインド・ファイル を選択する。
7
pureQueryサポート
New
v7
WAS
WAS V7
V7 W/S
W/S
pureQueryとは
pureQueryは、IBMの新しい高パフォーマンスのJavaのデータ・アクセス・テク
ノロジー
Eclipse IDE(Integrated Development Environment)に統合し、DBのデータにア
クセスするJavaアプリケーションの開発、保守をシンプルにする
標準SQLで、DBやインメモリーJavaオブジェクトへのアクセスを提供する
DBからオブジェクトへの自動変換を実行する
pureQueryのオブジェクト化プロセス
データベース駆動型オブジェクト化(DDO)
クエリー駆動型オブジェクト化(QUD)
オブジェクト・リレーショナル・マッピング(ORM)
WASで動作させるには、Data Studio pureQuery runtime Version1.2のイ
ンストールが必要
JPAは、DB2 pureQueryランタイム環境をオプションサポート
WebSphere Application Server V7
Announcement Workshop 2008
#8
© IBM Corporation.
pureQueryを使用する利点は、アプリケーション・ライフ・サイクルの開発、デプロイ、運用、管理の
生産性を向上させます。
pureQueryは、ツールや、API、ランタイム環境を使用して、データベースやインメモリーのJavaオ
ブジェクトにアクセスします。
開発、デプロイ、運用、管理にわたる、Javaのデータアクセス・ライフサイクルを改善します。
pureQueryは、IBMの問題管理戦略のキー・コンポーネントです。
WAS V7 InfoCenter「Data Studio pureQuery」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.
nd.doc/info/ae/ae/tejb_jpapdq.html
(参考)pureQueryについて学ぶ
http://www.ibm.com/developerworks/jp/java/db2/library/techarticle/dm0708ahadian/index.html
8
DB2 Trusted Context(1/3)
WAS
WAS V7
V7 W/S
W/S
Trusted Contextとは
データベースと中間層サーバーのような外部エンティティ(アプリケーション・
サーバーなど)との間の信頼関係を定義するデータベース・オブジェクト
前提条件
DB2 v9.5以降 (AIX, HP-UX, Linux, Solaris, Windows)
DB2 v9.1以降 (z/OS)
WAS v6.1.0.11以降
WebSphere Application Server V7
Announcement Workshop 2008
#9
© IBM Corporation.
Trusted Contextとは、データベースと中間層サーバーのような外部エンティティ(アプリケーション・
サーバーなど)との間の信頼関係を定義するデータベース・オブジェクトです。Trasted Contextを
利用するには、WAS V6.1.0.11以降、DB2 V9.5以降(AIX、HP-UX、Linux、Solaris、Windows)、
DB2 V9.1以降(z/OS)を使用する必要があります。
9
WAS
WAS V7
V7 W/S
W/S
DB2 Trusted Context(2/3)
Trusted Contextのメリット
監査機能の向上
アプリケーション・ロジックごとに実行ユーザーを切り替える(スイッチする)ことで、実行ユー
ザー毎のアクセス監査が可能
明示的なtrusted connection時のみ
特権や権限の適切な付与
特権の付与に対するコントロール強化ユーザーIDに加え、IPアドレスも照合する
DB2サーバーに接続するための許可ID乱用の防止
IP:xxx.xxx.xxx.xx
Mary
Switchユーザー
照合
アプリケー
ション
Boss
TABLE A
db2inst1
Mary
Boss
クライアント
クライアント
Trusted Context appServer
•SYSTEM AUTHID APPUSER
•ADDRESS ‘XXX.XXX.XXX.XX’
•ENCRYPTION ‘HIGH’
WITH USE FOR PUBLIC WITHOUT
AUTHENTICATION
TRUSTED
CONNECTIONと確認
DBクライアント
DB
DBクライアント
クライアント
DBクライアント
DBサーバー
DB
DBサーバー
サーバー
DBサーバー
WebSphere Application Server V7
Announcement Workshop 2008
# 10
© IBM Corporation.
これまでのDBとの接続では、クライアントで誰が使用していても、DBとの接続では、アプリケーショ
ン・ユーザーとして接続されていました。このため、DBではエンドユーザーが誰なのか判別できず、
エンドユーザーの誰がアクセスしたのか監査が不可能でした。
Trusted Contextを使うと、アプリケーションごとに実行ユーザーを切り替える(スイッチする)ことで、
実行ユーザー毎のアクセス監査が可能になります。
10
DB2 Trusted Context(3/3):管理コンソール
WAS
WAS V7
V7 W/S
W/S
管理コンソールでの指定方法
インストール時:「リソース参照をリソースにマップ」のステップ
インストール済みのアプリケーション:アプリケーション名 > 参照 > リソース参照
「リソース認証方式の変更」で
変更可能
「リソース認証方式の変更」で
構成可能
WebSphere Application Server V7
Announcement Workshop 2008
# 11
© IBM Corporation.
WAS V6.1.0.11以降では、jaclの実行やカスタム・プロパティーの設定が必要でしたが、WAS V7
からはこれらの処理は必要なくなりました。
WAS V7 InfoCenter「Enabling trusted context for DB2 databases」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/
ae/ae/tdat_trustedcontext.html
WAS V6.x InfoCenter「 DB2データベースに対するトラステッド・コンテキストの使用可能化」
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.nd.doc/info/
ae/ae/tdat_trustedcontext.html
11
拡張DB2データ・ソースのサポート(1/3)
New
v7
WAS
WAS V7
V7 W/S
W/S
WAS V7は拡張DB2データ・ソース(Heterogeneous pool(異種プール))をサポート
利用可能JDBCプロバイダー
DB2 Universal JDBC driver
DB2 Using IBM JCC driver
特徴
データ・ソースについて、アプリケーション毎に異なるカスタム・プロパティーや非コ
ア・プロパティーをオーバーライド可能
プロパティーが異なっていても、アプリケーションがコネクション・プールを共用可能
(オプション)get/use/close/接続パターンの最適化が可能
利点
コネクションの共用により、接続するコネクション数を抑えることができる。
WASのメモリー消費を抑えられる
DBのメモリー消費を抑えられる
パフォーマンスの向上
WebSphere Application Server V7
Announcement Workshop 2008
# 12
© IBM Corporation.
DB2 Universal JDBC Driver、DB2 Using IBM JCC Driverは、拡張DB2データ・ソースをサポート
します。
同じデータ・ソースを利用するアプリケーションは、アプリケーション毎に非コアなデータ・ソース・プ
ロパティーを設定することができます。アプリケーションが異なるデータ・ソース・プロパティーを設定
していても、コネクション・プールを共用することができます。コネクションの共用により、接続するコ
ネクション数を抑えることができ、WAS、DBの両方でメモリー消費を抑えることができます。
また、条件によって2phase-commitの利用を抑えられる場合、パフォーマンスの向上がはかれます。
12
拡張DB2データ・ソースのサポート(2/3):管理コンソール
WAS
WAS V7
V7 W/S
W/S
拡張DB2データ・ソース・プロパティーの設定
アプリケーション名 > リソース参照 > 拡張プロパティー
CMP使用の場合 アプリケーション名 > 2.xエンティティーBeanが含まれたモジュールのデフォル
ト・データ・ソース・マッピングを提供 > 拡張プロパティー
拡張プロパティーでは、データ・ソースに共通の値は設定できない
拡張データ・ソース・プロパティーの設定
拡張データ・ソースをサポートして
いない場合、警告メッセージが出力
WebSphere Application Server V7
Announcement Workshop 2008
# 13
© IBM Corporation.
拡張データ・ソース・プロパティーでは、名前、値のペアを指定します。アプリケーションが必要なカ
スタム・プロパティー等を設定します。(例currentSchema、clientApplicationInformationなど)
wasはアプリケーション・サーバーで事前定義されているプロパティー用に予約されているため、プ
ロパティー名の接頭部として使用しないでください。
拡張データ・ソース・プロパティーでは、データ・ソースに共通の以下の値を上書きできません。
accountingInterval、dataSourceName、databaseName、kerberosServerPrincipal、
loginTimeout、logWriter、password、pkList、planName、portNumber、readOnly、
securityMechanism、serverName、user
WAS V7 InfoCenter「Extend DB2 data source definitions at the application level」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/
ae/ae/tdat_heteropool.html
13
拡張DB2データ・ソースのサポート(3/3):管理コンソール
WAS
WAS V7
V7 W/S
W/S
リソース > JDBC > データ・ソース > データソース名 > WebSphere
Application Serverデータ・ソース・プロパティー
異機種混合プールで取得/使用/クローズ/接続
パターンの最適化にチェック
WebSphere Application Server V7
Announcement Workshop 2008
# 14
© IBM Corporation.
取得/使用/クローズ/接続パターンを最適化するには、管理コンソールで、「異機種混合プー
ルで取得/使用/クローズ/接続パターンの最適化」にチェックを入れます。
この指定により、アプリケーション・サーバーが取得/使用/クローズ/接続パターンを使用するこ
とを指定します。アプリケーション・サーバーの接続プーリングは、同じトランザクション内の接続を
共用することができます。1つのトランザクションの間、1つの接続を共用することができます。
14
クライアント・リルート(1/3)
WAS
WAS V7
V7 W/S
W/S
機能説明
接続先DBに障害が発生した場合、Client側で接続先を切り替える機能
前提
DB2 バージョン
DB2 for z/OS Version 9.1 or later
DB2 Version 9.5 or later (Linux, HP-UX, Solaris,Windows)
DB2が以下いずれかの冗長構成を取っている
Enterprise Server Edition データベース・パーティショニング(DPF)
Data Propagator (DPROPR) レプリケーション
HACMP
HADR
WASへのDB2データ・ソースの設定
切り替え時
接続先の切り替えが完了すると、クライアントにはSQLCode -4498が発生
例外はStaleConnectionExceptionにマップされる
Purge PolicyをEntierPoolに設定しておくと、1つの接続オブジェクトでClient Reroute
が発生すると、InFreePoolの接続オブジェクトをすべて解放可能
アプリケーション内でトランザクションをリトライする時、getConnection()をやり直す
必要がある。
WebSphere Application Server V7
Announcement Workshop 2008
# 15
© IBM Corporation.
クライアント・リルート機能は、DB2サーバーの障害発生時、DB2クライアントからの接続先を自動的
に他のサーバーへ切り替えることができます。
クライアント・リルート機能を使用することで、アプリケーションは切断されてしまったDBサーバーへ
の再接続処理を行う必要がなくなります。
15
WAS
WAS V7
V7 W/S
W/S
クライアント・リルート(2/3)
New
v7
管理コンソールで、DB2の代替サーバー情報を設定可能
代替サーバー名、代替ポート番号、クライアント転送の再試行間隔、クライアント転送の最大再試行
回数などを設定可能
(オプション)「クライアント転送サーバー・リストJNDI名」を指定すると、転送情報(プライマリー
DB、代替DB)をnamespaceにバインド可能
このオプションは、Type4ドライバーのみで利用可能
転送情報を複数のJVMにわたって持続させる
最初の接続失敗時に、代替サーバーのロケーションを提供する
V7以前は、以下の作業が必要
アプリケーションロジックでDB2ClientRerouteServerListオブジェクトを生成し、JNDI名をオブジェクトにバインド
clientRerouteServerListJNDINameをカスタム・プロパティーに登録
利点
最初の接続で、プライマリーDBがダウンしていてもリルート情報を元に、代替DBサーバーに接続可能
プライマリーDBがダウン
時もリルート可能
プライマリーDBに接続で
きないと、リルートもでき
ない
①接続
プライマリー
DB
③メモリー上で保持
Application Server
JDBC Driver
②クライアント・リルート
情報を渡す
クライアント・リルート
情報を保持
プライマリー
DB
①接続不可
WAS V7
JDBC Driver
代替DB
④プライマリーDBダウン時に
クライアント・リルート情報から接続
代替DB
②保持したクライアント・
リルート情報から接続
WebSphere Application Server V7
Announcement Workshop 2008
# 16
© IBM Corporation.
WAS V7から、管理コンソールでDB2の代替サーバー情報を設定することができます。
オプションで、Type4ドライバーでのみ、転送情報(プライマリーDB情報、代替DB情報)を
namespaceにバインドすることも可能です。
WAS V7 InfoCenter「Configuring client reroute for applications that use DB2 databases」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.multiplatf
orm.doc/info/ae/ae/tdat_clientreroute.html
16
クライアント・リルート(3/3):管理コンソール
WAS
WAS V7
V7 W/S
W/S
リソース > JDBC > データ・ソース > データ・ソース名 > WebSphere Application Server
データ・ソース・プロパティーで設定可能
DB2自動クライアント転送オプション
に値を設定
WebSphere Application Server V7
Announcement Workshop 2008
# 17
© IBM Corporation.
「クライアント転送サーバー・リストJDNI名」を指定すると、namespaceにプライマリーDB情報、代替
サーバー情報をバインドします。
「JNDIからのアンバインド・クライアント転送リスト」にチェックを入れると、テスト接続のみJNDIが利
用され、テスト接続後はnamespaceからアンバインドされます。
17
非推奨、削除された機能
WAS
WAS V7
V7 W/S
W/S
JDBCレガシーType2ドライバーが削除
Support for DB2 legacy CLICLI-based Type 2 JDBC Drivers is removed from
IBM WebSphere Application Server Version 7.0
http://www-01.ibm.com/support/docview.wss?uid=swg21316317
コネクションの妥当性確認
StaleConnectionExceptionをCatchする実装から、JDBC4.0のisValidの利用
WebSphere Application Server V7
Announcement Workshop 2008
# 18
© IBM Corporation.
注意点など詳しくは、13 マイグレーションのセッションを確認してください。
18
WAS
WAS V7
V7 W/S
W/S
メッセージング関連
WebSphere Application Server V7
Announcement Workshop 2008
WAS
WAS V7
V7 W/S
W/S
# 19
© IBM Corporation.
19
メッセージング関連
WAS
WAS V7
V7 W/S
W/S
WebSphere MQ連携の強化
SIBus-WebSphere MQ連携の強化
シンプルな管理操作
MDBの管理機能の強化
WebSphere Application Server V7
Announcement Workshop 2008
# 20
© IBM Corporation.
メッセージング関連では、4個のトピックについて説明します。
20
WAS
WAS V7
V7 W/S
W/S
WebSphere MQ連携の強化
WebSphere MQのJCAリソース・アダプターを提供
New
v7
JMSリソース構成のためのパネルとコマンド
接続ファクトリー、アクティベーション・スペックなど
WMQとの同期的なsend/receive
双方向メッセージング
JMSText メッセージ
キュー・マネージャーへのクライアント接続が可能
アクティベーション・スペックを利用してMessage-Driven Bean にメッセージを配布するこ
とが可能
リソース > JMS > アクティベーション・スペック で設定可能
アクティベーション・スペックで
WebSphere MQ messaging provider
が表示される
リスナー・ポートの使用は非推奨(注)
リスナーポートはアクティベーション・スペックに置き換え
WebSphere Application Server V7
Announcement Workshop 2008
# 21
© IBM Corporation.
WAS V7は、WebSphere MQ V7のJCAリソース・アダプター提供しています。
アクティベーション・スペックをサポートしており、アクティベーション・スペックを利用してMDBにメッ
セージを配布することが可能です。
リスナー・ポートは非推奨となったため、アクティベーション・スペックへ置き換えください。(注)
(注)2010年6月追記
V7.0リリース時点において、リスナー・ポートは「非推奨」機能でしたが、その後「安定化された
フィーチャー」に変更されました。
「安定化されたフィーチャー」は「非推奨」とは異なり、将来のバージョンでも引き続き提供される機
能です。
詳細については、以下リンク先を参照してください。
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.
nd.multiplatform.doc/info/ae/ae/rmig_stabfeat.html
(英語版InformationCenterで確認できます。上記URLをWebブラウザの言語設定を英語に変え
て参照してください。)
21
WAS
WAS V7
V7 W/S
W/S
SIBus-WebSphere MQ連携の強化(1/2)
SIBusとは
WAS V6から提供されているESB機能の実装
New
v7
WMQサーバー構成はWMQ V7の全プラットフォームでサポート
(WAS V6.1ではWMQ V6 for z/OSのみサポート)
作成方法
WebSphere MQサーバーの追加
追加したWebSphere MQサーバーをバス・メンバーに追加
バス・メンバーの追加
バス・メンバーに宛先の追加
宛先の追加
WebSphere MQサーバーを追加
WebSphere Application Server V7
Announcement Workshop 2008
# 22
© IBM Corporation.
WMQサーバー構成が、WMQ V7の全プラットフォームでサポートされました。WMQサーバーを、
バス・メンバーとして利用できます。
SIBusとキュー・マネージャーやキュー共用グループ(z/OS)のキューと直接クライアント接続が可能
になりました。
作成方法は以下の手順で行います。
・WebSphere MQサーバーの追加 (サーバー > サーバー・タイプ > WebSphere MQサーバー
から新規作成する)
・追加したWebSphere MQサーバーをバス・メンバーに追加 (サービス統合 > バス > バス名 > ト
ポロジー > バス・メンバー からバス・メンバーに追加する)
・バス・メンバーに宛先の追加 (サービス統合 > バス > バス名 > 宛先 から宛先を作成する)
22
SIBus-WebSphere MQ連携の強化(2/2)
WAS
WAS V7
V7 W/S
W/S
MQリンクの強化
拡張トレースとFFDC (First Failure Data Capture)
ドキュメンテーションの改善
SIB JMSアプリケーションはWMQメッセージ属性にアクセス可能
(例)Message ID、Correlation ID
WMQのキュー・ディスカバリーによるキュー表示と選択が可能
MQのキューが表示される
WebSphere Application Server V7
Announcement Workshop 2008
# 23
© IBM Corporation.
MQリンクも強化されています。以降のページで紹介しますが、外部バス接続作成時に、MQリンク
も続けて作成することができます。
拡張トレースとFFDCが強化されており、問題判別に役立てることができます。またドキュメントが改
善されています。
SIB JMSアプリケーションが、WMQメッセージ属性にアクセスすることが可能となりました。JMSプ
ロバイダー特有のプロパティーとして追加されました。プロパティー名としては以下のような名前が
使われます。
JMS_IBM_MQMD_<MQMDFieldName> e.g. JMS_IBM_MQMD_MessageID
WMQのキューが、WASの管理コンソールで確認可能となりました。
23
WAS
WAS V7
V7 W/S
W/S
(参考)WMQとの接続比較
バスなし
WebSphere MQLink利用
WebSphere MQサーバー利用
New
v7
JMSアプリケーション
JMSアプリケーション
WebSphere MQ
Messaging provider
Default messaging
provider
Default messaging
provider
SIBus
SIBus
構成
JMSアプリケーション
サーバー間
サーバー間
MQ Link チャネル接続
チャネル接続
WebSphere MQ
WebSphere MQ
(外部バス)
クライアント接続
クライアント接続
WebSphere MQ
(バス・メンバー)
トピック
サポートなし
なし
サポート
WMQ キュー
WMQ トピック
長所
SIBusの構成必要なし
WMQに直接接続可能
キュー・マネージャーにクライアント・
モード/バインディング・モードで接続可
能
etc
短所
MDBを使用する場合、パフォーマンスが
低い
メディエーションが使えない
etc
WMQ キュー
WMQ トピック
シームレスにWASとWMQを統合可能
Pub/subブリッジが構成可能
メディエーションが使える
etc
SIBus、MEの構成が必要
WASとWMQで協調した管理が必要
キュー・マネージャーにバインディング・
モードで接続できない
負荷分散が難しい
ect
WMQ キュー
SIBusとキュー・マネージャー、キュー共用
グループ(z/OS)のキューと直接クライアント
接続が可能
キュー・マネージャーにクライアント・モー
ド/バインディング・モードで接続できる
WAS、WMQはそれぞれ独立した管理ができる
メディエーションが使える
Etc
SIBus、MEの構成が必要
Pub/Subが使えない
WMQのバージョン(V7以降、z/OS V6以降)
etc
WebSphere Application Server V7
Announcement Workshop 2008
# 24
© IBM Corporation.
WMQとの接続方法に関する比較は以下を参考ください。
WAS V7 InfoCenter「Interoperating with WebSphere MQ: Comparison of architectures」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.
nd.multiplatform.doc/info/ae/ae/cmm_comp_arch.html
WAS V7 InfoCenter「 Interoperation with WebSphere MQ」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.
nd.multiplatform.doc/info/ae/ae/cmm_interop.html
24
シンプルな管理操作(1/3):外部バス管理
New
v7
WAS
WAS V7
V7 W/S
W/S
外部バスとは
別のSIBus、またはWMQ環境とのプロトコル(ルーティング・タイプ)を決める定義で、SIBus単位に定義する
外部バス接続を管理する新しいパネルを提供
外部バス接続
他のSIBusまたはWebSphere MQへのリンクを作成可能
SIBusをWebSphere MQに接続するMQリンク
SIBusを他のSIBusに接続するSIBリンク (バス間リンク)
動的な構成変更が可能 (MEのリスタートは不要)
外部バス接続の作成
MQリンクの作成
SIBリンクの作成
WebSphere Application Server V7
Announcement Workshop 2008
# 25
© IBM Corporation.
これまで、外部バス接続の作成と、MQリンクまたはSIBリンクの作成は別々になっており、名前など
が同じであるか確認する必要がありました。 WAS V7から外部バス接続を作成すると、MQリンクお
よびSIBリンクの作成を続けて設定することが可能なため、名前の確認などを行う必要がなくなりま
した。
サービス統合 > バス > バス名 > 外部バス接続 から外部バス接続を作成します。
外部バス接続を作成後に、MEをリスタートする必要もなくなりました。動的に構成変更が可能です。
25
シンプルな管理操作(2/3):外部バス管理
New
v7
WAS
WAS V7
V7 W/S
W/S
外部バス管理パネル
外部バスへの転送のためにキューイングされたメッセージの照会と操作
保留通知に対する操作
バス・リンクの安全な削除
例外宛先の管理
保留メッセージの
管理が可能
MQリンク、SIBリンクで
例外宛先を設定可能
WebSphere Application Server V7
Announcement Workshop 2008
# 26
© IBM Corporation.
外部バス接続で作成された、MQリンクやSIBusリンクの状況を確認することができます。
送信メッセージ数、受信メッセージ数を確認できます。メッセージが保留されている場合は、その
メッセージを削除したり移動することが可能です。WAS V7以前は、保留されているメッセージにア
クセスすることはできませんでした。この機能により、インダウト・メッセージの処理が可能です。
サービス統合 > バス > バス名 > 外部バス接続 > 外部バス接続名 > MQリンク or SIBリンク から
メッセージの照会と操作ができます。
MQリンク、SIBリンクで例外宛先を設定することが可能です。
サービス統合 > バス > バス名 > 外部バス接続 > 外部バス接続名 > MQリンク or SIBリンク > リン
ク名 から例外宛先を設定することが可能です。
26
シンプルな管理操作(3/3):セキュリティー構成
New
v7
WAS
WAS V7
V7 W/S
W/S
バス・リソースに対するロール・ベースのアクセス制御
以前のバージョンでは、wsadminのみ構成が可能だった
ユーザーとグループのロール
Sender / Receiver / Browser / Creator
バス・リソースに対する
アクセス制御が可能
ユーザーとロールを指定可能
セキュリティー構成(パスワード不要)
XAリカバリー /メディエーション / ME間の認証エイリアスは不要
WebSphere Application Server V7
Announcement Workshop 2008
# 27
© IBM Corporation.
WAS V6.1では、wsadminでのみ構成可能でしたが、WAS V7から管理コンソールで、バス・リソー
スに対するロール・ベースのアクセス制御が可能になりました。
サービス統合バス > バス > バス名のセキュリティー から、許可ポリシー以下にアクセス制御に関
する項目が表示されます。ここで、ロール・ベースのアクセス制御が可能です。
またいくつかのセキュリティー構成で、パスワード不要のセキュリティー構成ができるようになってい
ます。
27
New
v7
MDBの管理機能の強化(1/2)
WAS
WAS V7
V7 W/S
W/S
MDBのメッセージ・エンドポイントの起動・停止が可能に
手動での操作や障害メッセージのしきい値に達した場合に停止できる
メッセージのしきい値はアクティベーション・スペックに設定
関連リソースにエラーが広がるのを防ぐことができる
以前のバージョンまでは、MDBの停止はアプリケーションもしくはJCAリソースアダプターの停止で行うしかなかっ
た
継続してエラーが発生する場合にJMX通知を送信するように構成可能
メッセージ・エンドポイントを再起動すると、キューや 永続トピックのメッセージを受信可能
非永続トピックのメッセージは受信できない
アクティベーション・スペックに
障害メッセージのしきい値が指定可能
メッセージ・エンドポイントの
一時停止、再開が可能
receive
①
MDBアプリケーション
繰り返し
public void onMessage( ){
例外発生!
rollback
ejbctx.setRollbackOnly();
②
}
例外宛先へ退避
WebSphere Application Server V7
Announcement Workshop 2008
③
# 28
© IBM Corporation.
以前のバージョンでは、MDBを停止させるには、アプリケーション自身の停止、もしくはリソース・ア
ダプターを停止させる必要がありました。WAS V7からメッセージ・エンドポイントを停止することがで
きるようになりました。アプリケーション、リソース・アダプターは起動した状態のままで、管理コンソー
ルから、一時停止、再開が可能です。
エンタープライズ・アプリケーション > MDB名 > ランタイム・タブ > メッセージ・エンドポイントの管理
からメッセージ・エンドポイントの起動・停止ができます。
アクティベーション・スペックに、障害メッセージのしきい値を設定することが可能です。障害メッ
セージのしきい値を超えると、エンドポイントを自動停止することができます。障害メッセージが大量
に送信された場合に、例外宛先があふれるのを防いだり、他のリソースへの影響を抑えることができ
ます。
リソース > JMS > アクティベーション・スペック > アクティベーション・スペック名 から障害メッセー
ジのしきい値を設定できます。
WAS V7 InfoCenter「Managing messages with message endpoints」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.
nd.doc/info/ae/ae/tdat_msgendpoint.html
WAS V7 InfoCenter「Protecting a message-driven bean from system resource problems」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.
pmc.nd.multiplatform.doc/tasks/tjn_mdb_0001.html
28
New
v7
MDBの管理機能の強化(2/2)
WAS
WAS V7
V7 W/S
W/S
MDBとSIBus宛先の間の関係を管理コンソールで見ることが可能に
キューに関連したアプリケーションを
確認可能
MDBに関連付けられたキューを
確認可能
WebSphere Application Server V7
Announcement Workshop 2008
# 29
© IBM Corporation.
MDBと宛先の間の関係を管理コンソールで見ることができるようになりました。
サービス統合 > バス > バス名 > 宛先 > キュー名 > アプリケーション・リソース・トポロジー から
キューに関連したアプリケーションを確認することができます。
エンタープライズアプリケーション > MDBを含んだアプリケーション名 > デフォルトのメッセージン
グ・プロバイダー参照 からアプリケーションに関連するSIBusの宛先を確認することができます。
29
WAS
WAS V7
V7 W/S
W/S
トランザクション・マネージメント WAS V7 W/S
WAS V7 W/S
WebSphere Application Server V7
Announcement Workshop 2008
# 30
© IBM Corporation.
30
WAS
WAS V7
V7 W/S
W/S
トランザクション・マネージメント
WAS V7は、JTA1.1をサポート
新規インターフェース
TransactionSynchronizationRegistry インターフェース
New
v7
コンポーネントがトランザクションを登録する際に利用
JTA1.1で定義
JNDIルックアップで取得可能 java:comp/TransactionSynchronizationRegistry
UOWSynchoronizationRegistry インターフェース
現行UOWの取得、登録、ステータス確認が可能
TransactionSynchronizationRegistryインターフェースと同等の機能を提供。 WASがサポートする3つの
トランザクション・タイプ(グローバル・トランザクション、ローカル・トランザクション、ActivitySession)をサ
ポート。
WASの拡張インターフェース WAS V6.0.2.19、WAS6.1.0.9以降で提供
JNDIルックアップで取得可能 java:comp/websphere/UOWSynchronizationRegistry
UOWManager インターフェース
WASはJTAのTransactionManagerインターフェースを提供していないが、UOWManagerは同等の機能を提供。
トランザクション・コンテキストを制御するインターフェース
WAS6.0.2.19、WAS6.1.0.9以降で提供
JNDIルックアップで取得可能 java:comp/websphere/UOWManager
WebSphere Application Server V7
Announcement Workshop 2008
# 31
© IBM Corporation.
WAS V7では、JTA1.1をサポートします。新規インターフェースとして、
TransactionSynchronizationRegistryが追加されました。WASが提供している拡張JTAトランザク
ション・サポートのいくつかを標準化したインターフェースです。さらに、WASはトランザクションを調
整するためのインターフェース、UOWSynchoronizationRegistryインターフェース、
UOWManagerインターフェースをWAS6.0.2.19、WAS6.1.0.9以降から提供しています。
WAS V7 InfoCenter「JTA support」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.
nd.doc/info/ae/ae/cjta_extjta.html
31
WAS
WAS V7
V7 W/S
W/S
JTAで提供されているトランザクション機能
①
②
③
1. UserTransactionインターフェース
ユーザー・アプリケーションが直接トランザクションを制御する際に利用
トランザクションの開始、Commit/Rollbackなどを行うことができる
2. TransactionManagerインターフェース
EJBコンテナーなどがトランザクションの制御を行うために利用するAPI
直接アプリケーション開発者が利用することを意図してデザインされていない
TransactionManagerインターフェースが提供する機能の中には、トランザクションのsuspend/resumeの機能など
UserTransactionインターフェースでは提供されていないものがいくつかある
これにより現在実行中のトランザクションを一時停止して別のトランザクションを開始することが可能、つまりネストした(入れ子になった)トランザ
クションを実現できる(EJBのトランザクション属性へRequiresNewを指定したケースに相当)
3. XAResourceインターフェース
トランザクションマネージャーがデータベースやメッセージングシステムなどのリソースマネージャーを操作するために利用
WebSphere Application Server V7
Announcement Workshop 2008
# 32
© IBM Corporation.
JTAで提供されているトランザクション機能は、以下の3つです。
・UserTransactionインターフェース
・TransactionManagerインターフェース
・XAResourceインターフェース
32
WAS
WAS V7
V7 W/S
W/S
UOWManagerについて(1/2)
WASのV6.0.2.19およびV6.1.0.9以降から提供されているインターフェース
アプリケーションからWASのTransactionManagerの安全な制御を可能にする
TransactionManagerインターフェースは、EJBコンテナでのみ使用がサポートされており、アプリケーション
から利用することはサポート対象外だった
通常のUserTransactionインターフェースでは提供されていないトランザクション管理機能が使用
可能となる
トランザクションのsuspend/resume機能など、NotSupportedやRequiredNewというトランザクション属性が指
定できる
UOWManagerを
を使用した
使用したコーディング
したコーディング例
コーディング例
UOWManagerをJNDIでlookupして取得
Context ic = new InitialContext();
Context ic = new InitialContext();
UOWManager uowmgr
UOWManager
uowmgr
= (UOWManager)
ic.lookup("java:comp/websphere/UOWManager");
= (UOWManager) ic.lookup("java:comp/websphere/UOWManager");
...
...
try {
try {
uowmgr.runUnderUOW(
uowmgr.runUnderUOW(
UOW_TYPE_GLOBAL_TRANSACTION,
UOW_TYPE_GLOBAL_TRANSACTION,
false,
false,
new UOWAction() {
new UOWAction() {
public void run() throws Exception {
public void run() throws Exception {
<< ここにトランザクション
ここにトランザクション処理
記述する >>
トランザクション処理を
処理を記述する
<< ここにトランザクション
ここにトランザクション処理
トランザクション処理を
処理を記述する
記述する >>
}
}
});
});
} catch (UOWActionException e) {
} catch (UOWActionException e) {
// 処理でチェック例外が発生
// 処理でチェック例外が発生
}
UserTx1
Application
}
begin()
UOWManagerインターフェースのrunUnderUOW()メソッドによりトランザクション・コンテキストを設定
(1)トランザクションのタイプを指定
- UOW_TYPE_GLOBAL_TRANSACTION : グローバル・トランザクション
- UOW_TYPE_LOCAL_TRANSACTION : ローカル・トランザクション
- UOW_TYPE_ACTIVITYSESSION : ActivitySession (WAS独自のトランザクション・タイプ)
(2)同一種類のトランザクション・タイプが実行されていた場合にどうするか
- true :既存トランザクションを引き継ぐ
- false : 新規トランザクションを開始する
なお、違う種類のトランザクション・タイプが実行されている場合には、
一時停止して、新規トランザクションを開始します
(3)実行するトランザクション処理をUOWActionメソッド内に記述
TransactionManager
UOWManager
UserTx2
UOWAction
トランザクション1
runUnderUOW()
run ()
begin()
commit()
WebSphere Application
Server V7
commit()
Announcement Workshop 2008
トランザクション2
# 33
© IBM Corporation.
WASのTransactionManagerのインターフェースは、EJBコンテナーでのみ使用がサポートされて
おり、アプリケーションから利用することはサポート対象外でした。UOWManagerインターフェース
は、アプリケーションからWASのTransactionManagerの安全な制御を可能にするインターフェー
スです。
トランザクションのタイプの指定、トランザクションを引き継いで実行したり、新規トランザクションを開
始するなどができます。
33
WAS
WAS V7
V7 W/S
W/S
UOWManagerについて(2/2)
UOWManagerインターフェースは、UOWSynchronizationRegistry インターフェースをExtendsしており、JTA1.1で提供され
るTransactionSynchronizationRegisitryインターフェースと同等の機能を提供
現在実行中のトランザクション・コンテキストにリソースをマップする機能、フレームワークなどがトランザクションの同期をおこなうた
めの機能などを提供
トランザクションマネージャーが管理するトランザクションと、直接管理できないリソース(XAでないリソース)の同期をとることが可能
となる
UOWManagerをJNDIでlookupして取得
UOWSynchronizationRegistryを取得してもよい
UOWManagerを
を使用した
使用したトランザクション
したトランザクション同期処理
トランザクション同期処理の
同期処理の例
Context ic = new InitialContext();
Context ic = new InitialContext();
UOWManager uowmgr = (UOWManager) ic.lookup("java:comp/websphere/UOWManager");
UOWManager uowmgr = (UOWManager) ic.lookup("java:comp/websphere/UOWManager");
//UOWManager uowsr = (UOWSynchronizationRegistry) ic.lookup("java:comp/websphere/UOWSynchronizationRegistry");
//UOWManager uowsr = (UOWSynchronizationRegistry) ic.lookup("java:comp/websphere/UOWSynchronizationRegistry");
...
...
uowmgr.registerInterposedSynchronization(
uowmgr.registerInterposedSynchronization(
new Synchronization() {
new Synchronization() {
public void beforeCompletion() {
registerInterposedSynchronization()メソッドの引数へSynchronizationを実装したインスタンスを渡す。
public void beforeCompletion() {
// 2-Phase Commitの
の前に行う処理
beforeCompletion()メソッドにxa_prepareに相当する処理を,afterCompletion()メソッドに引数に応じ
// 2-Phase Commitの
の前に行う処理
}
てCommit/Rollback
(xa_commit)に相当する処理を記述することにより、トランザクション中で処理さ
}
public void afterCompletion(int status)
れるリソースと同期して、リソースを更新することが可能となります
public void afterCompletion(int status)
// 2-Phase Commitの
の後に行う処理
// 2-Phase Commitの
の後に行う処理
}
}
}
}
TransactionManager
);
);
Application
UserTx
UOWManager
Synchronization
begin()
new
reigisterInterposedSynchronization()
commit()
複数RMへの
DB更新処理
beforeCompletion()
afterCompletion()
xa_prepare()
WebSphere Application Server V7
Announcement Workshop 2008
xa_commit()
Resouce
Manager
(non XA)
Resouce
Manager
(XA)
Resouce
Manager
(XA)
# 34
© IBM Corporation.
またUOWManagerインターフェースを使うと、トランザクション・マネージャーが管理するトランザク
ションと、直接管理できないリソースの同期をとることが可能です。
34
ローカル・トランザクション内包の共有
New
v7
WAS
WAS V7
V7 W/S
W/S
ローカル・トランザクション内包とは
ローカル・トランザクションにおける作業単位(UOW)
ローカル・トランザクション内包が共有可能に
グローバル・トランザクションで仕様されていないリソース参照を共有可能
デプロイメント記述子に共有属性を指定
<local-transaction boundary="BEAN_METHOD" resolver="CONTAINER_AT_BOUNDARY"
<local-transaction boundary="BEAN_METHOD" resolver="CONTAINER_AT_BOUNDARY"
unresolved-action="COMMIT" shareable="true"/>
unresolved-action="COMMIT" shareable="true"/>
利点
リソースの共有によるパフォーマンスの改善
ロック競合の減少
Data Source A
Data Source B
ローカル・トランザクション内包を
Component1, 2, 3が共有し、Component4が共有
しない場合、1, 2, 3間でコネクションを共有
できる
コネクション共有境界
Web or EJB
Component
1
Web or EJB
Component
3
コネクション共有境界
Web or EJB
Component
2
Web or EJB
Component
4
WebSphere Application Server V7
Announcement Workshop 2008
# 35
© IBM Corporation.
WAS V7ではローカル・トランザクション内包が共有可能になりました。リソース参照を共有可能に
なり、リソースの共有によるパフォーマンスの改善、ロック競合の減少などが期待できます。
WAS V7 InfoCenter「Local Transaction Containment」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.
nd.doc/info/ae/ae/cjta_loctran.html
35
非推奨な機能
WAS
WAS V7
V7 W/S
W/S
ExtendedJTATransactionインターフェース
registerSynchronizationCallbackForCurrentTrans メソッド
TransactionSynchronizationRegistryインターフェースの
registerInterposedSynchronizationメソッド追加のため
TransactionControl() インターフェース
UOWManagerインターフェースが同等の機能のため
WebSphere Application Server V7
Announcement Workshop 2008
# 36
© IBM Corporation.
WAS V7 InfoCenter「Deprecated features」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.
nd.doc/info/ae/ae/rmig_depfeat.html
36
WAS
WAS V7
V7 W/S
W/S
分離された共用ライブラリー
WebSphere Application Server V7
Announcement Workshop 2008
WAS
WAS V7
V7 W/S
W/S
# 37
© IBM Corporation.
37
WAS
WAS V7
V7 W/S
W/S
共用ライブラリー
共用ライブラリー
メモリー使用量をセーブでき、同じクラスを何度も読み込むのを避けられる
WAS V7の共用ライブラリーのタイプ
サーバーに関連付けられた共用ライブラリー
アプリケーション/モジュールに関連付けられた共用ライブラリー
分離された共用ライブラリー
New
v7
WebSphere Application Server V7
Announcement Workshop 2008
# 38
© IBM Corporation.
WAS V7は、分離された共用ライブラリーの新しい機能を持ちます。WAS上の任意のアプリケー
ションに共通したライブラリーを共有する方法を提供します。分離された共用ライブラリーの主な利
点は、クラス・インスタンス数を減らすことで、JVMにロードされるクラス数を減らしメモリー使用量を
減少できることです。
38
WAS
WAS V7
V7 W/S
W/S
(参考)クラス・ローダー
クラス・ローダー
クラスをJVMのメモリ空間上にロードする
複数のクラス・ローダーが親子関係をなし階層構造をとる
WASでは、サーバー、アプリケーション、Webモジュールのクラス・ローダー順序を指定可能
「最初に親クラス・ローダーをロードしたクラス」(Parent First)
「最初にローカル・クラス・ローダーをロードしたクラス(親は最後)」(Parent Last)
Bootstrap Class Loader
Javaの基本クラスローダー
Extensions Class Loader
Application Class Loader
WAS本体のクラス
WebSphere Extensions Class Loader
サーバー関連付け共有ライブラリー
アプリケーションで共通に使うクラス
(オプション、数は0からいくつでも可)
WebSphere Server Class Loader
Application Class Loader
ServletなどのWebモジュール
Webモジュール毎に一つ
classpath:WebSphere/AppServer/classes
WebSphere/AppServer/lib
WebSphere/AppServer/lib/ext
EJBのクラス、EARで共通に使うクラス
など。アプリケーション毎に一つ
WAR Module Class Loader
WebSphere Application Server V7
Announcement Workshop 2008
# 39
© IBM Corporation.
JDKはクラスローダーの委譲モデルを定義しています。JVMのブートストラップ・クラスローダーを除
く全てのクラスローダーは、関連する親クラスローダーがあります。Parent Firstでは、階層のボトム
からトップに委譲されます。クラス・ローダー・モードは、Parent FirstかParent Lastを指定できます。
Parent Firstの場合、親クラス・ローダーに委譲し、親がロードできない場合、子がクラスをロードす
るという方法をとります。Parent Lastの場合、子がクラスをまずロードし、クラスをロードできない場
合親に委譲する方法をとります。
39
WAS
WAS V7
V7 W/S
W/S
サーバーの共用ライブラリー
サーバーに関連付けられた共用ライブラリー
共用ライブラリーは、サーバーのクラス・ローダーを使用する
すべてのアプリケーションが一つのライブラリーを共用する
メリット
ライブラリーのロードが一つで済む
デメリット
異なるバージョンのライブラリーが使えない
WebSphere Server Class Loader
Shared Library xxxx.jar
Application Class Loader
同じバージョンのライブラ
リーを使う必要がある。
WAR Module Loader
WebSphere Application Server V7
Announcement Workshop 2008
# 40
© IBM Corporation.
サーバーに関連付けられた共用ライブラリーは、サーバー・クラス・ローダーを使用します。すべて
のアプリケーションでひとつのライブラリーを共用します。サーバーに関連付けられた共用ライブラ
リーを使用するデメリットは、バージョンの異なるライブラリーを使用できないことです。
40
WAS
WAS V7
V7 W/S
W/S
アプリケーション/モジュールの共用ライブラリー
アプリケーション/モジュールに関連付けられた共用ライブラリー
共用ライブラリーは、アプリケーション/モジュールのクラス・ローダーで使用する
各アプリケーション/モジュールは各々が保持するライブラリーを使用する
メリット
異なるアプリケーション/モジュールは、ライブラリーの異なるバージョンを使用できる
デメリット
同じクラスの重複したコピーをロードする
同じバージョンのライブラ
リーが複数ロードされる
WebSphere Server Class Loader
yyyy1.0.jarは4個
yyyy1.1.jarは2個
Application Class Loader
Shared Library xxxx1.0.jar
Application Class Loader
Shared Library xxxx1.0.jar
WAR Module Loader
WAR Module Loader
Shared Library yyyy1.0.jar
Shared Library yyyy1.1.jar
Shared Library yyyy1.1.jar
Shared Library yyyy1.0.jar
Shared Library yyyy1.0.jar
Shared Library yyyy1.0.jar
WebSphere Application Server V7
Announcement Workshop 2008
# 41
© IBM Corporation.
アプリケーションに関連付けられた共用ライブラリーは、アプリケーションのクラスローダーにロード
されます。各アプリケーションは、アプリケーション毎に共用ライブラリーのインスタンスを持ちます。
つまり、あるアプリケーションがVersion1.0で、他のアプリケーションがVersion1.1であることを許容
します。アプリケーション共用ライブラリーのデメリットは、すべてのアプリケーションが独自のインス
タンスを持つことです。図の例ですと、4個のアプリケーションがVersion1.0を持ち、2つのアプリ
ケーションがVersion1.1を持つ場合、各アプリケーションがそれぞれオブジェクトを持ち、6個のイン
スタンスをメモリー上にロードすることになります。
41
分離された共用ライブラリー
New
v7
WAS
WAS V7
V7 W/S
W/S
分離された共用ライブラリー
共用ライブラリーは、分離されたクラス・ローダーを使用する
アプリケーションは共用ライブラリーのコピーを排他的に共用する
メリット
複数バージョンを使用でき、バージョン数のみロードされる
WebSphere Server Class Loader
複数バージョンを使用可能、
ロードもバージョンで一回のみ
Application Class
Loader
Isolated Shared Library
Shared Library
yyyy1.0.jar
Isolated
Shared
Library
Application Class
Loader
Shared Library yyyy1.1.jar
WAR
WAR
Module
WAR
Module
Loader
Module
Loader
Loader
WAR
WAR
Module
WAR
Module
Loader
Module
Loader
Loader
WebSphere Application Server V7
Announcement Workshop 2008
# 42
© IBM Corporation.
分離された共用ライブラリーを使用すると、前の2つのメリットを合わせることができます。分離された
共用ライブラリーは、独自のクラス・ローダーを持ち、全てのアプリケーションに共通した単一のイン
スタンスを持ちます。アプリケーションは、参照したい分離された共用ライブラリーを指定可能となり
ます。複数バージョンを使用でき、クラスのロードもバージョンで一回のみとなり、メモリー上に必要
以上にクラスをロードしません。
42
WAS
WAS V7
V7 W/S
W/S
利用法と挙動
ロードを試みる順番
Parent Firstを設定した場合 1、2、3、4
Parent Lastを設定した場合 4、3、1、2
注意点
デフォルトでは、分離された共用ライブラリーと設定されない
分離された共用ライブラリーを、サーバーに関連する共用ライブラリーに設定すると、分離された共
用ライブラリーとして扱わない
分離された共用ライブラリーからは、アプリケーション・クラス・ローダーのクラスは見えない
WebSphere Server Class Loader
2
Application Class
Loader
Isolated Shared
Library
3
1
Application Class
Loader
3
Key
WAR
WAR
Module
WAR
Module
Loader
Module
4
Loader
Loader
WebSphere
WAR
WAR
Module
WAR
Module
Loader
4
Module
Loader
Loader
Parent Delegation
Library Delegation
Application Server V7
Announcement Workshop 2008
# 43
© IBM Corporation.
分離された共用ライブラリーを使用する場合、ライブラリーのロードの順番が変わります。
上の図では、分離された共用ライブラリーが2つのアプリケーションで共用されています。クラス・
ローダー順序が全て、Parent Firstに指定されている場合、ロードを試みる順番は、1(分離された
共用ライブラリー)、2(サーバー・クラスローダー)、3(アプリケーション・クラスローダー)、4(Webモ
ジュール・クラスローダー)。クラス・ローダー順序が全てParent Lastに指定されている場合、
4,3,1,2の順に呼ばれます。
注意点として以下があります。
・アプリケーション、Webモジュールに関連する共用ライブラリーは、デフォルトでは分離された共用
ライブラリーには設定されません。
・分離された共用ライブラリーを、サーバーに関連する共用ライブラリーとして設定すると、分離され
た共用ライブラリーとして扱われません。アプリケーション、Webモジュールに関連付けます。
・分離された共用ライブラリーからは、アプリケーション・クラス・ローダーのクラスは見えません。
43
WAS
WAS V7
V7 W/S
W/S
管理コンソール
環境 > 共用ライブラリー
で共用ライブラリーを設定可能
アプリケーション・インストール時に
共用ライブラリーをマップ可能
「この共用ライブラリーでの分離された
クラス・ローダーの使用」にチェックを
入れる。
ライブラリーを選択する
WebSphere Application Server V7
Announcement Workshop 2008
# 44
© IBM Corporation.
分離されたクラス・ローダーの使用にチェックを入れると、分離された共用ライブラリーとして設定さ
れます。
アプリケーションへの設定は、インストール時およびインストール後にマップすることが可能です。
44
WAS
WAS V7
V7 W/S
W/S
Summary
WAS V7の新機能として以下を紹介
DB2との接続
SQLj、pureQueryのサポート
DB2 Trusted Contextのサポート
拡張DB2データ・ソースについて
DB2 クライアント・リルートの設定方法
メッセージング関連
WebSphere MQ連携の強化
SIBus-WebSphere MQ連携の強化
シンプルな管理操作
MDBの管理機能の強化
Transaction Management
UOWManagerについて
ローカル・トランザクション内包の共用
分離された共用ライブラリー
WebSphere Application Server V7
Announcement Workshop 2008
# 45
© IBM Corporation.
45
WAS
WAS V7
V7 W/S
W/S
Reference
WebSphere Application Server Version 7.0
Information Center
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp
IBM Education Assistant
http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp
developerWorks Understanding pureQuery, Part1, Part2
http://www.ibm.com/developerworks/db2/library/techarticle/dm-0708ahadian/
http://www.ibm.com/developerworks/db2/library/techarticle/dm-0801ahadian/index.html
developerWorks Japan
一歩進んだFlexible Webインフラソリューション
http://www.ibm.com/developerworks/jp/websphere/library/was/was61_db_tips/2004.html
DB2 9.5技術資料
セキュリティー機能強化
http://www-06.ibm.com/jp/domino01/mkt/dminfo.nsf/doc/001C70DF
クライアント・リルートとWAS連携の考慮点
http://www-06.ibm.com/jp/domino01/mkt/dminfo.nsf/doc/000DB513
WASV6.1による基幹システム設計Workshop トランザクション設計
http://www.ibm.com/developerworks/jp/websphere/library/was/was61_guide/index.html
developerWorks Japan
Sesar2:第2回 UOWManagerによるトランザクションの制御
http://www.ibm.com/developerworks/jp/java/library/j_j-seasar02/
developerWorks Japan
WAS × Webフレームワーク連携手法
http://www.ibm.com/developerworks/jp/websphere/library/was/was61_framework/2004.html
developerWorks Japan
クラスローダーとJ2EEパッケージング戦略を理解する
http://www.ibm.com/developerworks/jp/websphere/library/java/j2ee_classloader/index.html
WebSphere Application Server V7
Announcement Workshop 2008
# 46
© IBM Corporation.
46
WAS
WAS V7
V7 W/S
W/S
付録
その他の新機能
WebSphere Application Server V7
Announcement Workshop 2008
WAS
WAS V7
V7 W/S
W/S
# 47
© IBM Corporation.
47
WAS
WAS V7
V7 W/S
W/S
JMSクライアント
WebSphere Application Server V7
Announcement Workshop 2008
WAS
WAS V7
V7 W/S
W/S
# 48
© IBM Corporation.
48
Thin JMS クライアント
WAS
WAS V7
V7 W/S
W/S
SIBusへアクセスするJava SE Thin Clientを提供
Java SE 5 以上
クライアントからのアウトバウンド通信が可能で1-phase commitをサポート
Eclipse Rich Client Platform (RCP) level 3.2 によって実現しているOSGi
(Open Service Gateway Initiative) サービス・プラットフォームをサポート
com.ibm.ws.sib.client.thin.jms_7.0.0.jar
Webサービスや管理用Thin Client同様、runtimesフォルダーに配置
EJB、JAX-WS、JAX-RPCクライアントと共存可能
WebSphere Application Server V7
Announcement Workshop 2008
# 49
© IBM Corporation.
SIBusへアクセスするJava SE Thin Clientが提供されます。
com.ibm.ws.sib.client.thin.jms_7.0.0.jarファイルは、WASのruntimesフォルダーに配置されてい
ます。
以前のクライアントは、EJBやJAX-RPCクライアント・アプリケーションと共存させた場合、問題があ
りましたが、EJB、JAX-WS、JAX-RPCクライアントと共存することが可能です。
49
WAS
WAS V7
V7 W/S
W/S
JCAリソースアダプターの提供
リソース・アダプターとは
リソース・アダプターはJavaアプリケーションがエンタープライズ情報システム(EIS)への接続に
使用する、ソフトウェア・ドライバー
3rdベンダー・アプリケーションサーバー用のJCAリソースアダプター(RAR file)を提供
WebSphere Application Server Community Edition (CE)
Apache Geronimo v2.0 以降
JBoss Application Server 4.0.5 以降
SIBusリソースへのアクセス
インバウンド・アウトバウンド通信
2フェーズ・コミット・サポート
WebSphere
Application
Server CE
WebSphere Application Server v7.0
RA for JMS
WebSphere Application Server V7
Announcement Workshop 2008
# 50
© IBM Corporation.
WAS V7は、他のアプリケーション・サーバーにデプロイ可能なサービス統合バス用JCAリソース・
アダプターを提供します。
リソース・アダプターは、サービス統合バスとインバウンド/アウトバウンド接続が可能です。
サポートされているアプリケーションサーバーは、以下です。
WebSphere Application Server Community Edition
Apache Geronimo V2.0以降
JBoss Application Server V4.0.5以降
WAS V7 InfoCenter「Using JMS from a third party application server
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.pmc.nd.doc
/tasks/tjj_sibra.html
50
WAS
WAS V7
V7 W/S
W/S
Single Instanceリソース・アダプターWAS V7 W/S
WAS V7 W/S
WebSphere Application Server V7
Announcement Workshop 2008
# 51
© IBM Corporation.
51
Single Instanceリソース・アダプター
WAS
WAS V7
V7 W/S
W/S
WAS v7 新機能
特定のリソース・アダプターのインスタンスを一つに制限するオプションが追加
いくつかのリソース・アダプターの実装は、複数のインスタンスを許容しない
“Single Instance”のオプションが選択されている場合、同じJVMにリソース・アダプ
ターのインスタンスは2つ存在できない
構成情報の違いにかかわらず、equals()メソッドがtrueを返す場合、2つのインスタンスは同じものとなる
WebSphere Application Server V7
Announcement Workshop 2008
# 52
© IBM Corporation.
リソース・アダプターの実装には、複数のリソース・アダプターのインスタンスを許容しない実装があ
ります。この機能では、ユーザー指定のリソース・アダプターが一つのインスタンスで実行することが
できます。
52
WAS
WAS V7
V7 W/S
W/S
Single Instance RAの設定方法
リソース > リソース・アダプター > リソース・アダプター > リソース・アダプター名 >
拡張リソース・アダプター・プロパティー
「リソース・アダプターのインスタンスを
1つしか許可しないようにJVMを制限する」に
チェックを入れる
WebSphere Application Server V7
Announcement Workshop 2008
# 53
© IBM Corporation.
シングル・インスタンス・リソース・アダプターは、RARファイルのインストール後に、管理コンソール
あるいはwsadminを使用して構成可能です。
管理コンソールでは、リソース > リソース・アダプター > アダプター名 > 拡張リソース・アダプター・
プロパティーを選択し、「リソース・アダプターのインスタンスを1つしか許可しないようにJVMを制限
する」にチェックを入れます。
デフォルトでは、チェックボックスはチェックされておらず、リソースアダプターに制限はありません。
サーバー起動の効率性のためには、リソース・アダプターがシングル・インスタンスである必要がな
い場合は、チェックボックスはチェックしないことをお勧めします。
シングル・インスタンス・リソースアダプターを一つ以上インストールすることに意味はありませんが、
同じリソース・アダプターを構成しようとした場合、あるいはされた場合、エラーメッセージが出力さ
れます。
53
エラー発生条件
WAS
WAS V7
V7 W/S
W/S
次の場合にエラーが発生する
Single Instanceリソース・アダプターを、2個目起動しようとした場合
単体のリソース・アダプター、同じリソース・アダプターの組み込みバージョン、一方が
シングル・インスタンスとして構成された場合
停止されたリソース・アダプターが再起動されるまで、XAのリカバリー処理がで
きない。
WebSphere Application Server V7
Announcement Workshop 2008
# 54
© IBM Corporation.
54
WAS
WAS V7
V7 W/S
W/S
インバウンド・リソース・アダプターの高可用性
WAS
WAS V7
V7 W/S
W/S
WebSphere Application Server V7
Announcement Workshop 2008
# 55
© IBM Corporation.
55
インバウンド・リソース・アダプターの高可用性(HA)
WAS
WAS V7
V7 W/S
W/S
JMSベースのWebSphere Business Integrationアダプターに高可用性を構成可能
特徴
管理コンソール、スクリプトで指定可能
インバウンド・メッセージを処理するJCA1.5リソース・アダプターにHAを提供する
一時点でリソース・アダプターの一つだけが、アクティブなエンドポイントを持てる
一時点でリソース・アダプター・インスタンスの一つだけが存在する
ホットスタンバイで動いているアプリケーションは、特別なことはしなくて良い
アプリケーションのプログラミングに影響を与えることなくフェイルオーバーが可能
3rdベンダーは、リソース・アダプターの実装、プログラミング・モデルを変更する必要はない
HA機能は、HAグループで管理される
WebSphere Application Server V7
Announcement Workshop 2008
# 56
© IBM Corporation.
この機能は、JMSベースのWebSphere Business IntegrationアダプターにHA機能を提供します。
リソース・アダプターのイベントの連続性を保障するため、リソース・アダプターのエンドポイントは、
常にサーバーやクラスター環境で一つだけアクティブとします。リソース・アダプターのフェイルオー
バーは、HAグループで一つのリソースアダプターだけ、起動されます。
この構成でJCAリソース・アダプター・ベンダーは、リソース・アダプターの実装や、プログラミング・
モデルを変更することなく、HAに参加することができます。
HAを構成しているサーバーに障害があった場合、バックアップサーバー上のリソース・アダプター
のエンドポイントのいずれかが稼動されます(エンドポイントのフェイルオーバーを行う場合)、ある
いは、バックアップサーバーのリソース・アダプターが稼動されます。
56
WAS
WAS V7
V7 W/S
W/S
指定方法
リソース > リソース・アダプター > リソース・アダプター > リソース・アダプ
ター名 > 拡張リソース・アダプター・プロパティー
「このリソース・アダプターをHAマネー
ジャーに登録する」にチェックを入れる
スクリプトのオプション
isEnableHASupport {true/false}
haCapability RA_ENDPOINT_HA
haCapability RA_INSTANCE_HA
WebSphere Application Server V7
Announcement Workshop 2008
# 57
© IBM Corporation.
リソース・アダプターのHA機能は、RARファイルをインストールした後、構成可能です。スタンドア
ローン、組み込みアプリケーションのいずれも、管理コンソール、wsadminで構成可能です。リソー
ス・アダプター・パネルに新しいチェックボックスが表示され、リソース・アダプターをHAにするかどう
かを指定可能です。チェックボックスは、ビルトインされているリソース・アダプターは表示されませ
ん。(RRA、JMS、SIB)。
リソース・アダプターのHAサポートを有効/無効にするのに、J2CResourceAdapter構成オブジェク
トの、isEnableHASupportが使われます。デフォルト値は、false。J2CResourceAdapter構成オブ
ジェクトのhaCapability属性は、HAサポートの推奨レベル、サポートレベルを指定します。
haCapability、isEnableHASupport属性は、resources.xmlファイルの、
resource.j2c:J2CresourceAdapterエレメントに保持されます。
WAS V7 InfoCenter「Configuring resource adapters」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/
ae/ae/tdat_configra.html
57
エラー発生条件
WAS
WAS V7
V7 W/S
W/S
エラー条件
WebSphere Business Integrationアダプター以外のアダプターにHAを構成した
場合(リソース・アダプターの機能とHA機能は相容れない)
HAを構成したリソース・アダプターに停止/再開始を行った場合(RAはHAマネー
ジャーの管理下にあるため)
WebSphere Application Server V7
Announcement Workshop 2008
# 58
© IBM Corporation.
WebSphere Business Integrationアダプターにとって、高可用性の機能とリソース・アダプターは
相容れません。これは構成検証でみつけられず、実行時にエラーメッセージが出力されます。
HAマネージャー管理のリソースアダプターに、停止、再開始が行った場合、実行時にエラーメッ
セージが出力されます。
58
WAS
WAS V7
V7 W/S
W/S
JCAメッセージ・エンドポイントMBean
WAS V7 W/S
WAS V7 W/S
WebSphere Application Server V7
Announcement Workshop 2008
# 59
© IBM Corporation.
59
WAS
WAS V7
V7 W/S
W/S
JCAメッセージ・エンドポイントMBeans
メッセージ・エンドポイントBeanから、一時的にメッセージ・エンドポイントを一時停止(非活
動化)、再開(活動化)することが可能
エンドポイントを停止することで、失敗メッセージをハンドリングするなど管理者が問題の
あるリソースを修復できる
修復したエンドポイントを再開し、メッセージ・リクエストを再開可能
アプリケーション名 > ランタイムタブ > メッセージ・エンドポイントの管理
メッセージ・エンドポイントの
一時停止、再開が可能
WebSphere Application Server V7
Announcement Workshop 2008
# 60
© IBM Corporation.
MDBの管理機能の強化でも一部紹介しましたが、WAS V7に新しい機能、メッセージ・エンドポイ
ントMBeansが追加されました。アプリケーション(リソースにアクセスするメッセージエンドポイントを
提供する)の内在する問題を軽減することが可能です。エンドポイントがリソースエラーがある状態
でオペレーションが実行されるときはいつでも、メッセージは失敗します。例えば、エンドポイントの
MDBが、停止しているDBサーバーにトランザクションをコミットを試みるなど。失敗したメッセージは
追加のプロセスが必要。例えば、再実行、failure/exception/standby/dead letterに送るなど。メッ
セージ・プロバイダーはメッセージをエンドポイントに無限に送信し続け、メッセージは特別なキュー
にリダイレクトされます。
メッセージ・エンドポイントMBeanは、ユーザーに特定のメッセージ・エンドポイントを一時停止、再
開させることができます。この機能により問題を楽にできます。管理者が失敗メッセージをハンドル
するエンドポイントを停止することができます。一旦、エンドポイントを一時停止し、管理者は失敗の
原因を修復できます。
エンドポイントを一時停止、再開することは、リソース・アダプターやアプリケーションには影響を与
えません。
MBeanは、管理コンソール、wsadmin、JEEアプリケーションから利用可能です。
WAS V7 InfoCenter「 Managing messages with message endpoints」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/
ae/ae/tdat_msgendpoint.html
WAS V7 InfoCenter「 Managing the message endpoint lifecycle using scripting」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/
ae/ae/txml_7msgend.html
60
メッセージ・エンドポイントMBeanのメソッド
WAS
WAS V7
V7 W/S
W/S
メッセージ・エンドポイントは動作中、停止中の状態を持てる
pauseメソッドは、エンドポイントを停止する
resumeメソッドは、エンドポイントを開始する
getStatusメソッドは、現在の状態を返す
getActivationPropertiesは、エンドポイントのactivation propertiesを取
得する
WebSphere Application Server V7
Announcement Workshop 2008
# 61
© IBM Corporation.
MDBを含むJEEアプリケーションを開始する際に、WAS V7はメッセージ・エンドポイントを作成し
開始する。同時に対応するメッセージ・エンドポイントMBeanを作成します。一旦メッセージ・エンド
ポイントMBeanが作成されると、MBeanは、JEEアプリケーション、wsadminスクリプトを使用しプロ
グラムでアクセスされます。
pause()とresume()メソッドは、メッセージング・プロバイダー(すなわちメッセージング・リソース・ア
ダプター)上のエンドポイントを一時停止、再開します。getActivationProperties()メソッドは、エンド
ポイントのアクティベーションスペック・プロパティーと、デプロイ時にセットされるエンドポイントのバ
インディング情報を返します。これはランタイムでエンドポイントが実行されている実際のプロパティ
値です。
エンドポイントが止まっているとき、Mbeanのpauseとresumeメソッドは、エラーメッセージを発行し、
ResourceExceptionをスローします。リソース・アダプターがHAをサポートしている場合、エンドポイ
ントは停止、再始動ができません。この場合、pauseとresumeメソッドが実行されると、MBeanは、
エラーメッセージを出力し、InvalidStateExceptionをスローします。
エンドポイントがinactive(active)の場合、 pause(resume)メソッドが実行されると、Mbeanは警告
メッセージを出力します。
61
Fly UP