WebSphere Application Server for z/OS, Version 6.1   
             オペレーティング・システム: z/OS

             目次と検索結果のパーソナライズ化

CMP Bean 関連テクノロジー

WebSphere Application Server により、Enterprise JavaBean (EJB) 仕様によって設定された基準を超えるコン テナー管理パーシスタンス (CMP) サービスが提供されます。

この仕様に従い、EJB コンテナーは、CMP Bean の状態を基礎 となるデータベースと同期させ、エンティティー Bean 間のリレーションシ ップ (コンテナー管理リレーションシップ (CMR)) を管理します。こうして、EJB 仕様により、 データベース特有のコードの書き込みから、Bean デベロッパーは解放され、 ビジネス・ロジックの書き込みに焦点を合わせることができます。 WebSphere Application Server により、次のような追加の CMP 機能が提供され、ビジネス・ロジックの ランタイム・パフォーマンスを最適化し、開発効率をさらに高めます。
エンティティー Bean 継承
継承はオブジェクト指向ソフトウェア開発の重要な特徴であり、 EJB 仕様から現在欠落している機能です。

継承を使用することで、開発者は、 すべてのサブクラスによって継承されるスーパークラス・エンティティー Bean に、 フィールド、関係、およびビジネス・ロジックを定義することができます。 WebSphere Application Server およびエンティティー Bean での継承の使用についての詳細は、 Rational Application Developer (RAD) 資料のセクション『EJB 継承』を参照してください。

アクセス・インテント・ポリシー
アクセス・インテント・ポリシーは、 パーシスタンス・メカニズムが適切な最適化を行えるように、 エンティティー Bean にとって不可欠な状態でのアプリケーションの対話のインテントを示すことができるメカニズムを、J2EE アプリケーション開発者に提供します。 例えば、トランザクションが行われている間は、エンティティーが更新されないということが認識されている場合、 パーシスタンス管理は、トランザクションを行っている間は Bean に対する更新操作を許可しないことで、 並行性の制御を緩めて、なおデータの保全性を維持することができます。
トランザクション全体にわたるデータのキャッシング
Bean デプロイヤーが設定する構成可能なオプションとして、 トランザクション全体にわたってデータをキャッシングすることができ、 これによってパフォーマンスを大きく改善できます。 基本的には、これは、頻繁に変更されないデータに適しています。 このオプションは、LifetimeInCache です。 存続期間中はキャッシュに入れておくように構成されたエンティティーのデータは、 指定された存続期間が満了するまで、キャッシュの中に保管されます。 構成された存続期間中、そのエンティティーに関する要求は キャッシュ化されたデータを使用するため、基礎となるデータ・ストアに対して照会が行われることはありません。 存続期間は、データがデータ・ストアから検索されて以来経過した時間として表すか、 あるいは、日または週の特定の時刻までとして表すことができます。 LifetimeInCache 値は以下のいずれかにすることができます。
Off
LifetimeInCache 設定は無視されます。このタイプの Bean は、トランザクショ ン有効範囲のキャッシュにしか入れられません。 このインスタンスのキャッシュ・データは、トランザクションが完了すると無効です。
ElapsedTime
LifetimeInCache 設定の値は、トランザクション (Bean インスタンス が検索される) が完了すると、現在時刻に追加されます。 このインスタンスのキャッシュ・データはこの時間以降は無効です。LifetimeInCache 設定の値は、分、時 間、日などになります。
ClockTime
LifetimeInCache の値は、特定の時刻を表します。この値を直前または直後の真夜中 に加算して将来の時刻値を計算し、 次にその時刻値を「経過時間」として扱います。この設定を使用すると、この Bean タイプのすべ てのインスタンスが、インスタンスのキャッシュ・データをその取得時刻に は関係なく、特定の時間に無効にするように指定することができます。

将来の時刻値を計算するのに直前または直後の真夜中のいずれを使用するかは、LifetimeInCache の値によります。 LifetimeInCache に直前の真夜中を加えたものが現在時刻に達しない場合は、直後の真夜中が使用されます。

ClockTime 設定を使用する場合は、LifetimeInCache の値は 24 時間を超える値を表してはいけません。 24 時間を超える場合は、キャッシュ・マネージャーが、 値が 24 時間以下になるまで、その値から 24 時間ずつ差し引いていきます。 深夜 12 時でデータを無効にするには、LifetimeInCache をゼロ (0) に設定します。

WeekTime
この設定は、LifetimeInCache の値が直前または直後の日曜日の真夜 中 (実際は、土曜日の 午後 11 時 59 分に 1 分を加えたもの) に追加さ れることを除いて、ClockTime と似ています。この場合、LifetimeInCache 値は 24 時間を 超えることはありますが、7 日を超えることはありません。
詳しくは、 アセンブリー・ツール の LifetimeInCache ヘルプ・セクションを参照してください。
注:

エンティティー Bean が使用するデータは、以前のトランザクションによってロード可能なため、 Bean を LifeTimeInCache として構成する場合、 その Bean の分離レベルおよび更新ロック (アクセス・インテント・ポリシー) は、現在のトランザクションでは失われています。 このため、ご使用のアプリケーションに読み取り専用データからの情報を計算するロジックがあり、 アプリケーションが別の Bean にその結果を保管する場合、データ保全性問題が発生する可能性があります。 メモリー内のキャッシュからデータをロードする場合、データが適切にロ ックされていることを確認するため、読み取り/読み取り整合性検査を実行することが重要になります。 そうしなければ、データは元のデータが変更されていることを知らずにデータベースに更新され、以前の変更が失われることになります。 詳しくは、アセンブリー・ツールによる読み取り/読み取り整合性検査の構成 を参照してください。

読み取り専用エンティティー Bean
エンティティー Bean を読み取り専用であると宣言すると、キャッシュが提供するパフォーマンス機能が向上する可能性があります。 両方のフィーチャーが同じ原則 (永続ストレージにあるデータからのエンティティー Bean の頻繁な再ロードによって起こるオーバーヘッドを最小化する) で作動します。 エンティティー Bean を読み取り専用として指定すると、 ご使用のアプリケーションの必要に応じて、 再ロード要件および頻度を指定することができます。

この機能を使用するには、アプリケーション・アセンブリー・ツール (Rational Application Developer または Application Server Toolkit のいずれか) 内の選択リストを使用して、 Bean キャッシング・オプションの特定のセットを選択して、Bean タイプを読み取り専用として宣言します。 詳しくは、読み取り専用エンティティー Bean の開発 を参照してください。




サブトピック
コンテナー管理パーシスタンスの制約事項と例外
アプリケーションのパフォーマンスとエンティティー Bean の動作
関連概念
アクセス・インテント・ポリシー
関連タスク
アセンブリー・ツールによる読み取り/読み取り整合性検査の構成
読み取り専用エンティティー Bean の開発
関連資料
データ・アクセス: 学習用リソース
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 9:12:22 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.zseries.doc/info/zseries/ae/rdat_cmppers.html