ビジネス・コンポーネントのサービスBeanについて

通常、Enterprise JavaBeansとしてビジネス・コンポーネントをデプロイする場合、アプリケーション・モジュールのセッションBeanとしてデプロイしてください。こうすることによって、層に依存しないビジネス・コンポーネント・アーキテクチャを有効に利用できます。ただし、ビジネス・コンポーネント・フレームワークを使用すると、ビジネス・コンポーネントをサービスBeanとしてデプロイすることもできます。サービスBeanは、ローカル・モードでアプリケーション・モジュールをコールする汎用のEJBです。

J2EEに準拠するためだけにサービスBeanを使用する必要はありません。アプリケーション・モジュールのセッションBeanは、J2EEに完全に準拠する純粋なEJBセッションBeanです。これらBeanでは、ビジネス・コンポーネント・ライブラリにEJBアーキテクチャを処理するヘルパー・クラスがあります。

サービスBeanの機能

ビジネス・コンポーネントをサービスBeanとしてデプロイする場合、JDeveloperによって単純なEJBセッションBeanが作成され、セッションBeanとアプリケーション・モジュールの両方が別のクラスとしてデプロイされます。EJBは、ローカル・モードでクライアントが行うように、アプリケーション・モジュールをコールできます。

他のデプロイメント・モードと同様に、サービスBeanとしてデプロイされたアプリケーション・モジュールにメソッドをエクスポートできます。これらのメソッドは、EJBのリモート・インタフェースに公開され、RMIを使用してクライアントがアクセスできるようになります。ただし、他のデプロイメント・モードと異なり、ビジネス・コンポーネント・フレームワークのベース・メソッド(oracle.jboパッケージのインタフェースのメソッド)は、クライアント層から自動的にアクセスできるようにはなりません。クライアントでこれらのメソッドを使用するためには、リモート・インタフェースにこれらのメソッドを追加する必要があります。

サービスBeanの長所と短所

サービスBeanには、アプリケーション・モジュールのセッションBeanと比べて次の長所があります。

サービスBeanの短所は次のとおりです。

サービスBeanを使用する場合

一般的に、高度な対話型のデータ・アクセスがクライアントで必要な場合は、サービスBeanを使用しないでください。サービスBeanはバッチ処理のジョブに適しています。つまり、1回のラウンドトリップで、クライアントがカスタム・メソッドをコールし、そのメソッドによってビジネス・ロジック層で大量の処理が行われるような場合です。