BEA ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic ServerTM > WebLogic エンタープライズ JavaBeans プログラマーズ ガイド > WebLogic Server エンタープライズ JavaBean の概要 |
WebLogic エンタープライズ JavaBeans プログラマーズ ガイド
|
WebLogic Server エンタープライズ JavaBean の概要
WebLogic Server には、Sun Microsystems の仕様で定義されているエンタープライズ JavaBean (EJB) アーキテクチャが実装されています。
注意: WebLogic Server は Sun の J2EE 仕様、EJB 1.1 仕様、および、EJB 2.0 仕様に準拠しています。EJB の機能および動作の説明箇所で、EJB 1.1 または EJB 2.0 向けと明記されている場合を除いては、このマニュアルのすべての情報は両方の実装に関連したものです。既存の EJB 1.1 Bean をこのバージョンの WebLogic Server にデプロイできます。ただし、新しい Bean を開発する場合、EJB 2.0 Bean を開発することをお勧めします。
以下の節では、WebLogic Server のエンタープライズ JavaBean の実装で導入された EJB の機能と変更点について概説します。
エンタープライズ JavaBean は、ビジネス ロジックを実装する再利用可能な Java コンポーネントで、コンポーネントベースの分散ビジネス アプリケーションの開発を可能にします。EJB は EJB コンテナに収められ、永続性、セキュリティ、トランザクション、同時実行性などの標準セットのサービスを提供します。エンタープライズ JavaBean は、サーバサイド コンポーネントを定義するための標準規格です。WebLogic Server のエンタープライズ JavaBean コンポーネント アーキテクチャの実装は、Sun Microsystems の EJB 仕様に基づいています。
EJB は、主に次の 3 つのコンポーネントで構成されます。
EJB を作成するには、分散アプリケーションのビジネス ロジックを EJB の実装クラスにコーディングし、デプロイメント記述子ファイルのデプロイメント パラメータを指定し、EJB を JAR ファイルにパッケージ化します。EJB を WebLogic Server にデプロイするには、JAR ファイルから個別にデプロイする方法と、他の EJB および Web アプリケーションと一緒に EAR ファイルにパッケージ化して EAR ファイルをデプロイする方法があります。クライアント アプリケーションは、Bean のホーム インタフェースを使用して EJB を見つけたり、Bean のインスタンスを作成したりすることができます。クライアントは、EJB のリモート インタフェースを使用して EJB のメソッドを呼び出せるようになります。 WebLogic Server は、EJB コンテナを管理し、データベース管理、セキュリティ管理、トランザクション サービスなどのシステムレベルのサービスへのアクセスを提供します。
EJB 仕様では、以下の 4 種類のエンタープライズ JavaBean を定義しています。
注意: メッセージ駆動型 Bean は、Sun Microsystems EJB 2.0 仕様の一部です。EJB 1.1 仕様には含まれていません。
WebLogic Server は、次のようなJava 仕様に準拠しています。
WebLogic Server 7.0 は、J2EE 1.3 仕様に準拠しています。
WebLogic Server は、エンタープライズ JavaBeans 2.0 の実装に完全に準拠しており、それをプロダクション段階で使用することができます。
大部分のビジネス アプリケーションでは、特定のユーザだけがある条件の下でアプリケーション リソースにアクセスできるように、リソースの保護措置がとられています。WebLogic Server には、このように EJB リソースを保護するための堅牢な機能が含まれています。
『WebLogic リソースのセキュリティ』では、アプリケーションに関する背景情報と、EJB を含む WebLogic Server アプリケーション リソースの保護について説明しています。
WebLogic Server による EJB 2.0 のサポート
WebLogic Server は、Sun Microsystems の EJB 2.0 仕様の実装をサポートしており、Sun Microsystems の EJB 1.1 仕様に準拠しています。ほとんどの場合、このバージョンの WebLogic Server で EJB 1.1 Bean を使用することができます。ただし、既存の EJB デプロイメントを、旧バージョンの WebLogic Server からこのバージョンの EJB コンテナに移行しなければならない場合があります。その場合は、DDConverterで Bean の変換手順を参照してください。
Sun Microsystems の EJB 2.0 仕様では、以下の新機能がサポートされています。
EJB の開発プロセスは、以下のロールに明確に分けられます。
設計プロセスの詳細については、EJB の設計を参照してください。
設計プロセスの詳細については、EJB の設計を参照してください。 アセンブリ プロセスの詳細については、WebLogic Server コンテナ用の EJB のパッケージ化を参照してください。 デプロイメント記述子の詳細については、weblogic-ejb-jar.xml 文書型定義とweblogic-cmp-rdbms-jar.xml 文書型定義を参照してください。
コンテナ管理プロセスの詳細については、WebLogic Server EJB コンテナとサポートされるサービスを参照してください。
コンテナ管理による永続性の詳細については WebLogic Server のコンテナ管理による永続性サービスを、デプロイ プロセスの詳細については WebLogic Server コンテナ用の EJB のパッケージ化を参照してください。
デプロイ プロセスの詳細については、WebLogic Server への EJB のデプロイを参照してください。
WebLogic Server 7.0 の EJB 機能の強化
このリリースの WebLogic Server では、EJB の以下の拡張機能が新しく導入されています。
WebLogic Server 7.0 で変更されたデプロイメント要素
weblogic-ejb-jar.xml の新しいデプロイメント要素、変更されたデプロイメント要素、または非推奨になったデプロイメント要素については、WebLogic Server 7.0 EJB で変更されたデプロイメント要素を参照してください。
動的クエリを使用すると、アプリケーション コードでプログラム的にクエリを作成したり実行できるようになります。そのため、どのファインダ クエリも静的なものにもはや留まらず、EJB のデプロイメント記述子にハードコーディングする必要がありません。新たなクエリを作成し実行するのに EJB を更新し再デプロイしなくて済み、EJB のデプロイメント記述子のサイズが縮小します。動的クエリの詳細については、動的クエリの使用を参照してください。
メッセージ駆動型 Bean 移行サービスを使用すると、メッセージ駆動型 Bean および Java Messaging Service (JMS) サーバを同じクラスタ内の別のサーバに移行でき、その結果、メッセージ駆動型 Bean の回復が促進されます。WebLogic Server の以前のバージョンには、サーバ障害時における JMS サーバとメッセージ駆動型 Bean の回復メカニズムは備わっていませんでした。メッセージ駆動型 Bean 移行サービスの詳細については、メッセージ駆動型 Bean の移行サービスを参照してください。
複数のテーブル マッピングを利用することにより、1 つの EJB を 1 つのDBMS データベース内の複数のテーブルにマッピングできるようになります。WebLogic Server 固有の CMP コンテナ XML デプロイメント記述子を使用すると、複数の DBMS テーブルおよび列を EJB および EJB フィールドにマッピングできます。複数のテーブル マッピングの詳細については、EJB 2.0 CMP の複数のテーブル マッピングを参照してください。
WebLogic Server のこのリリースでの EJB WebLogic QL 拡張サポートには、WebLogic QL クエリ言語に対する一連の拡張が含まれます。WebLogic QL は、EJB QL と呼ばれている EJB 2.0 クエリ言語を WebLogic Server 独自に拡張したものです。この拡張では次のような機能をサポートしています。
WebLogic のEJB QL 拡張の詳細については、EJB 2.0 用 EJB QL の使い方を参照してください。
TRANSACTION_READ_COMMITTED UPDATES の WebLogic の EJB QL 拡張の詳細については、Oracle データベースに関する特別な注意を参照してください。
オプティミスティックな同時実行性のサポートは、WebLogic Server が提供する新たな同時方式です。キャッシング付きまたはキャッシングなしのオプティミスティックなサポートを提供します。WebLogic Server はトランザクションをコミットする前に、データが変更されていないことを確かめることにより、データの一貫性を保証します。この機能の詳細については、Optimistic 同時方式を参照してください。
読み込み専用エンティティ Bean の同時実行性のサポートにより、WebLogic Server では、Bean への同時アクセスを必要とするトランザクションごとに、別々の読み込み専用 Bean インスタンス をアクティブ化できます。これにより、EJB コンテナでの排他的ロックの必要性がなくなり、同時に同じ Bean にアクセスするリクエストを並列処理できます。読み込み専用エンティティ Bean のキャッシングについては、ReadOnly 同時方式を参照してください。
組み合わせキャッシングのサポートにより、1 つのキャッシュを複数エンティティ Bean で使用するようにコンフィグレーションできます。これまでは、アプリケーションの一部である各エンティティ Bean ごとに別々のキャッシュをコンフィグレーションする必要がありました。組み合わせキャッシングの詳細については、エンティティ Bean の組み合わせキャッシングを参照してください。
リレーションシップ キャッシングのサポートにより、関係する複数のエンティティ Bean を 1 つのキャッシュにロードすることができ、エンティティ Bean のパフォーマンスが向上します。また、関係する複数の Bean に結合クエリを発行することによってクエリの回数を減らせます。リレーションシップ キャッシングの詳細については、エンティティ Bean の組み合わせキャッシングを参照してください。
EJB リンクのサポートにより、アプリケーションコンポーネント内で宣言した EJB 参照を、同じ J2EE アプリケーションに含まれているエンタープライズ Bean にリンクできるようになります。EJB リンクの詳細については、EJB リンクの使用を参照してください。
一括挿入のサポートにより、コンテナ管理による永続性 (CMP) Bean の作成における効率が向上します。 EJB コンテナが 1 つの SQL 文で CMP Bean での複数回のデータベース挿入を実行できるようになるためです。この機能により、コンテナが何度もデータベースの挿入をしなくて済みます。この機能の詳細については、データベースの挿入サポートを参照してください。
BEA では、EJB の作成とコンフィグレーションを支援するツールを提供しています。
スケルトン デプロイメント記述子を作成するときに、WebLogic ANT ユーティリティを利用できます。ANT ユーティリティは WebLogic Server 配布キットと共に出荷されている Java クラスです。ANT タスクによって、EJB を含むディレクトリが調べられ、その ejb.jar ファイルを基にデプロイメント記述子が作成されます。ANT ユーティリティは、個別の EJB に必要なコンフィグレーションやマッピングに関する情報をすべて備えているわけではないので、ANT ユーティリティによって作成されるスケルトン デプロイメント記述子は不完全なものです。ANT ユーティリティがスケルトン デプロイメント記述子を作成した後で、テキスト エディタ、XML エディタ、または Administration Console の EJB デプロイメント記述子エディタを使ってデプロイメント記述子を編集し、EJB のコンフィグレーションを完全なものにします。
ANT ユーティリティを使ってデプロイメント記述子を作成する方法の詳細については、『WebLogic Server アプリケーションの開発』の「エンタープライズ JavaBeans のパッケージ化」を参照してください。
WebLogic Builder は、ビジュアル環境を提供する開発ツールであり、アプリケーションのデプロイメント記述子 XML ファイルを編集できます。XML ファイルを編集する際、WebLogic Builder のインタフェース上で XML ファイルを見ることができます。 この際、XML ファイルをテキスト編集する必要はありません。WebLogic Builder ツールの使い方については、 『WebLogic Builder』を参照してください。
EJBGen は、エンタープライズ JavaBeans 2.0 のコード ジェネレータです。Bean クラス ファイルに javadoc タグで注釈を付けた後、 EJBGen を使ってEJB アプリケーションのリモート クラス、ホーム クラス、デプロイメント記述子ファイルを生成することができます。EJBGen とサポートされている javadoc タグの詳細については、EJBGenを参照してください。
weblogic.Deployer コマンドライン ユーティリティは、削除されたweblogic.deploy ユーティリティに置き換わり、WebLogic Server 7.0 で新たに加わったユーティリティです。weblogic.Deployer ユーティリティを使うと、コマンドライン、シェル スクリプト、または、Java 以外の自動化されたあらゆる環境からデプロイメントを開始できるようになります。
weblogic.Deployer の使い方とコマンド リストについては、「WebLogic Server デプロイメント」を参照してください。
WebLogic Server Administration Console には、EJB デプロイメント記述子エディタが統合されています。この統合エディタを使用する前に、少なくとも ejb.jar ファイルに追加する次のデプロイメント記述子ファイルのスケルトンを作成する必要があります。
詳細については、EJB デプロイメント記述子の指定と編集を参照してください。
XML エディタは Ensemble が提供する、XML ファイルの作成と編集のための簡単で使いやすいツールです。このツールを使うと、指定した DTD または XML スキーマに従って XML コードの有効性を検証できます。XML エディタは Windows または Solaris マシンで使用でき、Dev2Dev Online からダウンロードできます。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |