Oracle9i LiteおよびOracle以外のデータソース用のOracle ADF Business Componentsの開発

Oracle ADF Business Componentsは、Oracleデータベースのみではなく、SQL ServerおよびDB2に対しても稼働できます。アプリケーションのニーズに応じて、次のような開発シナリオがあります。

開発のシナリオ

すべての開発シナリオには、JDBC接続、SQL言語、型マップ、ドメインという4つの要素があり、相互に関連しています。JDeveloperは、デフォルトではOracleデータベースとともに稼働するように構成されています。他のデータベースとともに稼働するには、適切な値を使用するように構成する必要があります。詳細は、「接続、SQL言語、型マップおよびドメインの理解」を参照してください。

Oracle ADF Business Componentsをデータベースに接続するには、次のような様々な構成があります。

次のセクションで、これらのシナリオについて詳しく説明します。

Oracleのシナリオ

このシナリオは、Oracleデータベースを使用する場合のデフォルトの構成です。これは、Oracleの有効なJDBCデータ型を利用することにより、Oracle SQL構文およびJBOドメインの利点を最大限に活用するために最適な構成です。

この構成を選択した場合は、次の必須ライブラリが追加されます。

SQL92のシナリオ

このシナリオでは、SQL ServerおよびDB2データベースを稼働できるようにします。この構成を使用してOracleデータベースを稼働させることも可能ですが、次に記載されている切替え可能シナリオの方が適切です。SQL92のシナリオでは、ドメイン・オブジェクトは使用できません(Java型のマップを使用します)。このためパフォーマンスが低下します。

外部データソースへの接続手順の詳細は、「SQL Serverデータベース用Oracle ADF Business Componentsの開発」を参照してください。

OLiteのシナリオ

OLiteのシナリオは、Oracle9i Liteデータベースを稼働する場合のみ使用されます。この構成は、SQL92構成とよく似ており、適用される一部の制限が同じです。

切替え可能のシナリオ

Oracle、Oracle Lite、SQL92ベースのデータベースを稼働している場合で、設計時と実行時にターゲット・データベースを切り替える際にこの構成は有効です。この構成を使用すると、Java型のマップよりも高速で効率がよいというドメイン型の利点を活用できますが、SQL92言語の制限を受けることになります。

注意: このシナリオでは、適切なドメイン・ライブラリを使用しているかどうかを手動で確認する必要があります。後述の表では、OracleおよびGenericの2つのドメイン型があることに注意してください。Oracleを稼働させている場合は、必ずBC4J Oracle Domainsを使用します。その他のデータベース(Oracle Liteなど)を稼働させている場合は、ドメイン型をBC4J Generic Domainsに切り替える必要があります。データソースの切替えの詳細は、「切替え可能なデータソース用のOracle ADF Business Componentsの開発」を参照してください。

カスタムのシナリオ

SQL92標準で宣言されたデータ型ではなく、拡張データ型を使用しているデータベースの場合は、データベース型をJava型へマップするカスタム型のマップを設計する必要があります。SQL92のシナリオと同様に、ドメイン型は使用できません。このシナリオでは、SQLに関する制限事項は多くはありませんが、これらの制限に注意する必要があります。

接続、SQL言語、型マップおよびドメインの理解

すべての開発シナリオには、JDBC接続、SQL言語、型マップ、ドメインという4つの要素があり、相互に関連しています。JDeveloperは、デフォルトではOracleデータベースとともに稼働するように構成されています。Oracle以外のデータベースとともに稼働するには、適切な値を使用するように構成する必要があります。Oracle以外のアプリケーション・サーバーにデプロイする場合、ビジネス・コンポーネント・プロジェクトを開始する際にはこれらと同じ値を選択する必要があります。

比較用に、これらの値を次の表に記載します。

シナリオ 接続URL SQL言語 型マップ ドメイン

Oracle9i

jdbc:oracle:thin

Oracle

Oracle

BC4J Oracle Domains

SQL92

jdbc:db_type:db_name:port

SQL92

Java

なし*

OLite

jdbc:polite:POLite

OLite

Java

なし*

切替え可能

jdbc:oracle:thin
jdbc:db_type:db_name:port

SQL92

Oracle

BC4J Oracle Domains
BC4J Generic Domains

カスタム

jdbc:odbc:db_name

SQL92

カスタム

なし*

外部アプリケーション・サーバー n/a SQL92 Java JBO Generic Domains

接続URL

プロジェクトを開始する前に、接続タイプを選択します。このとき、ビジネス・コンポーネント・フレームワークは、SQL言語および型マップのデフォルト値を選択します。これらの値は、ビジネス・コンポーネント・プロジェクト・ウィザードのドロップダウン・ボックスに表示されます。

外部データソースの接続URLは、jdbc:db_type:db_name:portです。各部分は次のとおりです。

一般的な接続URLは次のようになります。

SQL言語

Oracle ADF Business Componentsエンティティ・オブジェクトは、リレーショナル表のデータ内容を管理します。Oracleデータベースに接続することがわかっている場合は、Oracle ADF Business Componentsで最適化を行うことができます。ただし、アプリケーションを任意のSQLデータソースで実行する必要がある場合は、これらの最適化は使用できません。一般に、アプリケーション用に生成されるSQLのスタイルをSQL言語(SQL dialect)と呼びます。

Oracle ADF Business Componentsには、次の4つのSQL言語があります。

接続タイプを選択した場合、フレームワークでは、デフォルトでどのSQL言語を使用するかが認識されます。作成したすべてのビジネス・コンポーネントには、適切なSQLスタイルが反映されます。たとえば、SQL92言語を選択した場合は、バインディングは「:1」ではなく「?」の形式になります。

注意: ビジネス・コンポーネント・アプリケーションの設計者が、カスタム設計のビュー・オブジェクトで使用するSQL言語は、生成されるSQLの言語とも一致する必要があります。

型マップ

OLiteシナリオおよびSQL92シナリオでは、ドメインは使用できません(例外としてDateとNumberは使用できます)。ドメインが使用できない場合は、Java型で、データベース情報をJavaの表現に変換し、もう一度元に戻す必要があります。この処理は、型マップを使用して行います。

Oracle ADF Business Componentsには次の2つの型マップがあります。

SQL92標準で宣言されたデータ型ではなく、拡張データ型を使用しているデータベースの場合は、データベース型をJava型へマップするカスタム型のマップを設計する必要があります。

ドメイン

ドメイン型は、データベース型へ直接マップするため、Java型のマップに比べて高速かつ効率的です。ビジネス・コンポーネント・フレームワークには、oracle.jbo.domainの2種類の実装が用意されています。


関連項目

Oracle9i LiteおよびOracle以外のデータソース用にOracle ADF Business Componentsを開発する場合の制限事項
SQL Serverデータベース用Oracle ADF Business Componentsの開発
DB2データベース用Oracle ADF Business Componentsの開発
Oracle9i Liteデータベース用Oracle ADF Business Componentsの開発
カスタム・データベース用Oracle ADF Business Componentsの開発
切替え可能なデータソース用のOracle ADF Business Componentsの開発
JDBC型マップの選択
JDBC型マップについて
カスタム型マップの作成
汎用JDBCに対するカスタム型マップの指定
Oracle ADF Business Componentsデータ型
Java型マップ
型マップ・クラスのサンプル

 

 

 

 

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