Interstage EJBサービスの特徴
製品名:Interstage Application Server V6.0
対象プラットフォーム: Windows / Solaris / Linux
InterstageのEJBサービスでは、高信頼な高性能なEJBの実行環境を提供しています。ここでは、InterstageのEJBサービスで提供される機能を紹介します。
Interstage EJBサービスの特徴
Interstage EJBサービスは、EJB2.0規約に準拠しており、すべてのEnterprise Beanを動作させることができます。
性能面においても、以下のような様々な実行性能を向上させる機能を提供し、高信頼、高性能なEJBの実行環境を提供しています。
Interstage EJB サービスの機能は、以下の特徴があります。
性能オプション
Interstage EJBサービスでは、以下のようなオプションが提供されており、EJBアプリケーションの高性能な実行環境を実現しています。
EJBコンテナは、複数レコードの一括更新で、トランザクション中に同一のCMP Entity Beanに対して複数回更新する場合に、オーバーヘッドとなるデータベースへのアクセス回数を削減し、処理性能を向上しています。
EJBコンテナは、データベースに発行するSQL文を、EJBサービス内部でキャッシュすることにより、SQL文の準備に必要な処理を削減して処理性能を向上します。
時間監視機能
Interstage EJBサービスでは、以下の時間監視機能を使用することができます。
EJBアプリケーションの処理時間を実行環境が監視し、使用されていない不用なオブジェクトをメモリ上から削除するなど、資源の浪費を防ぎます。
アプリケーションの最大処理時間を設定することができます。
最大処理時間を超えた場合に、エラーメッセージを発行するか、プロセスを強制停止するかの設定ができます。
EJBアプリケーションで無限ループが発生している場合などに有効です。
- STATEFUL Session Beanの無通信監視
STATEFUL Session BeanのEJB objectに対して、一定時間超過してもビジネスメソッドが実行されなかった場合、コンテナが該当のインスタンスと対応するEJB
objectを削除する機能です。remove()メソッドを発行し忘れている不要なEJB objectが削除されるため、使用するメモリが最適化されます。
Entity BeanのEJB のインスタンスがメモリ上に残存している場合に、Entity Beanへの最終アクセスから一定時間後に、放置されたEJB
objectのインスタンスを削除する機能です。使用していないインスタンスを削除することで、資源の浪費を防ぎます。
Entity Beanのインスタンス管理
InterstageのEJBサービスにおける、Entity Beanのインスタンスの管理として、以下の3つの機能を提供しています。アプリケーションの特性により、インスタンス管理のカスタマイズが可能となり、アプリケーションの実行時の性能を向上することができます。以下の設定は、Entity
Bean単位に設定することができます。
InterstageのEJBサービスでは、EJB規約に準拠して、Entity Beanのインスタンス用領域を仮想メモリ上でプール管理しています。ユーザは、プール管理するインスタンスの数を設定することができます。
処理性能やメモリ性能の向上を図るため、ユーザの用途に合わせたきめ細かいインスタンス管理モードを設定できます。
インスタンス管理の種類とそれぞれの用途を以下に示します。
| インスタンス管理モード |
用途 |
ReadWrite
(デフォルト) |
トランザクション単位にインスタンスをキャッシュすることで、同一トランザクション内でデータアクセスの性能向上を図っています。検索および更新処理を行うオンライン処理に有効です。 |
| ReadOnly |
トランザクションにまたがってインスタンスをキャッシュすることで、検索処理に特化して高速化を図っています。例えば、オンライン中に更新されないマスタ情報の検索処理などに有効です。 |
| Sequential |
データを順番に取り出して操作するような処理に対して、メモリ性能の向上を図っています。大量データを操作するバッチ処理に有効です。 |
- インスタンス生成モード Entity Beanに対して、上記の「インスタンス数」に指定したインスタンスの生成タイミングが設定可能です。
At Start-Up
Entity Bean起動処理の延長で、インスタンス数だけEntity Beanインスタンスを生成します。Entity
Beanの運用開始直後の処理性能を向上させたい場合に設定してください。
At First Access
Entity Bean起動完了後の初回アクセス時に、インスタンス数だけEntity Beanインスタンスを生成します。Entity
Beanの起動性能を向上させたい場合に設定してください。
As Required
Entity Bean起動完了後、アクセス時にEntity Beanインスタンスがプールに存在しない場合、毎回生成を行います。生成したインスタンスは非活性化の延長(passivate時)でプーリングされます。Entity
Beanの起動性能を向上させたい場合で、Entity Beanにアクセスする頻度が低い場合に設定してください。
IJServerの複数プロセス起動(Message-driven Beanを除く)
EJBクライアントから、1つのアプリケーションに同時に要求が出された場合に、実行単位(プロセス)を複数にして、同時に処理できるプロセス多重度を設定することができます。
EJBを配備したIJServerを複数プロセス起動して、実行性能を飛躍的に高めることが可能です。
以下の概略図は、IJServerタイプが「WebアプリケーションとEJBアプリケーションを別JavaVMで運用」の場合に、EJBのプロセス多重度を2に設定したものです。