複数層のビジネス・コンポーネント・アーキテクチャについて

J2EEアプリケーションには、次のように最大3つの独立した論理層があります。

ビジネス・サービスとMVCモードはビジネス層で、MVCビューとコントローラは一般的に他の2つの層のどちらかで稼働します。

Oracle ADF Business Componentsでビジネス・サービスを提供する場合、これら3つの独立した層を次のようないくつかの異なるデプロイメント構成に容易に再編成できます。

Oracle ADF Business Componentsは、デプロイメント構成に依存しません。そのためコードを変更せずに、ローカル・モジュールまたはWebモジュールとリモート・デプロイメント構成を切り替えられます。

これは、他のプログラミング・スタイルと比べて非常に優れた点です。Oracle ADF Business Componentsを使用しない場合は、デプロイメント構成をベースにアプリケーション全体を計画する必要があります。EJBをベースに設計されたアプリケーションは、同じコンテナまたはJVMにモデル、ビューおよびコントローラを持つアプリケーションとはまったく異なります。Oracle ADF Business Componentsを使用する場合は、ビジネス・コンポーネントEJBおよびローカルにデプロイされたビジネス・コンポーネント・アーカイブをまったく同じ方法でプログラミングおよび起動できます。

デプロイメント構成の選択

ビジネス・コンポーネント・アプリケーションの構成を選択する場合は、次の点について検証します。

層の非依存性の利点

層の非依存性には複数の利点があります。

層の非依存性のメンテナンス

ビジネス・コンポーネント・フレームワークは、oracle.jbo.ApplicationModuleoracle.jbo.ViewObjectおよびoracle.jbo.Rowなどの、oracle.jboパッケージ内のインタフェースを中心に編成されています。インタフェースを実装するクラスのかわりに、これらのインタフェースに則してクライアントをコーディングすることによって、コードが層に依存しないようにできます。たとえば、ビジネス・コンポーネントをEJBとしてデプロイすることを選択すると、ビジネス・コンポーネントのローカルへのデプロイ時にテストに使用したのと同じクライアント・コードを使用できます。これは、クライアント層で常にインタフェースにアクセスできるためです。ビジネス・コンポーネント・フレームワークによって、層と層の間の通信に関する処理がすべて行われます。

oracle.jboのインタフェースは、oracle.jbo.serverパッケージのクラスによって実装されています。たとえば、oracle.jbo.ApplicationModuleoracle.jbo.server.ApplicationModuleImplによって実装されています。リモートにデプロイする場合は、これらの実装クラスはクライアント層で使用できないため、実装クラスのメソッドを直接コールしないでください。クラスをコールすると、アプリケーションをリモートにデプロイできなくなります。かわりに、インタフェースのメソッドをコールしてください。

同様に、アプリケーション・モジュールを作成してオブジェクト・クラスを表示する場合、実装クラスのメソッドはコールしないでください。かわりに、メソッドをエクスポートし、そのメソッドを含むカスタム・インタフェースを作成します。これらのインタフェースは、oracle.jbo.ApplicationModuleまたはoracle.jbo.ViewObjectを拡張し、クライアント層で常にアクセスできます。ビジネス・コンポーネントをダウンキャストする場合は、実装クラスではなく必ずインタフェースにダウンキャストしてください。詳細は、関連項目のトピックを参照してください。

層の非依存性の回避

層の非依存性を管理するためのOracle ADF Business Componentsの機能を使用しない場合もあります。その場合は、サービス・セッションFacadeという特殊なEJB Session Beanをデプロイします。詳細は、関連項目のトピックを参照してください。


Oracle ADF Business Componentsの概要
Oracle ADFビジネス・ドメイン・コンポーネント、データ・モデル・コンポーネントおよび構成コンポーネントについて
クライアントへのビジネス・コンポーネント・メソッドの公開
クライアントからのエクスポートしたメソッドのコール
クライアントからのデータ・アクセス
ルート・レベル・アプリケーション・モジュールへのアクセス
サービス・セッションFacadeについて

 

Copyright © 1997, 2004, Oracle. All rights reserved.