Oracle ADF Business Componentsは、Oracleデータベースのみではなく、SQL Server、DB2およびMySQLに対しても稼働できます。アプリケーションのニーズに応じて、次のような開発シナリオがあります。
すべての開発シナリオには、JDBC接続、SQL言語、型マップ、ドメインという4つの要素があり、相互に関連しています。JDeveloperは、デフォルトではOracleデータベースとともに稼働するように構成されています。他のデータベースとともに稼働するには、適切な値を使用するように構成する必要があります。詳細は、「接続、SQL言語、型マップおよびドメインの理解」を参照してください。
Oracle ADF Business Componentsをデータベースに接続するには、次のような様々な構成があります。
次の項で、これらのシナリオについて詳しく説明します。
このシナリオは、Oracleデータベースを使用する場合のデフォルトの構成です。これは、Oracleの有効なJDBCデータ型を利用することにより、Oracle SQL構文およびJBOドメインの利点を最大限に活用するために最適な構成です。
この構成を選択した場合は、次の必須ライブラリが追加されます。
このシナリオでは、MySQLおよび最も一般的なSQL92準拠データベースを稼働させることができます。この構成を使用してOracleデータベースを稼働させることも可能ですが、次に記載されている切替え可能シナリオの方がより適切です。SQL92のシナリオでは、ドメイン・オブジェクトは使用できません(Java型のマップを使用します)。このためパフォーマンスが低下します。
SQLサーバー・データベースでのみ使用します。SQLサーバー接続の詳細な手順は、「SQL Serverデータベース用Oracle ADF Business Componentsの開発」のトピックを参照してください。
DB2サーバー・データベースでのみ使用します。DB2接続の詳細な手順は、「DB2データベース用Oracle ADF Business Componentsの開発」のトピックを参照してください。
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に関する制限事項は多くはありませんが、これらの制限に注意する必要があります。
すべての開発シナリオには、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 |
SQL92 |
Oracle |
BC4J Oracle Domains |
カスタム |
jdbc:odbc:db_name |
SQL92 |
カスタム |
|
外部アプリケーション・サーバー | n/a | SQL92 | Java | JBO Generic Domains |
SQLサーバー | jdbc:db_type:db_name:port | SQLサーバー | Java | なし* |
DB2 | jdbc:db_type:db_name:port | DB2 | Java | なし* |
プロジェクトを開始する前に、接続タイプを選択します。このとき、ビジネス・コンポーネント・フレームワークは、SQL言語および型マップのデフォルト値を選択します。これらの値は、ビジネス・コンポーネント・プロジェクト・ウィザードのドロップダウン・ボックスに表示されます。
外部データソースの接続URLは、jdbc:db_type:db_name:portです。各部分は次のとおりです。
sqlserver
またはdb2
など該当するドライバ名になります。
一般的な接続URLは次のようになります。
jdbc:db2:ORDENT
jdbc:microsoft:sqlserver://<db-host>:1433;SelectMethod=cursor;DatabaseName=[db-name]
Oracle ADF Business Componentsエンティティ・オブジェクトは、リレーショナル表のデータ内容を管理します。Oracleデータベースに接続することがわかっている場合は、Oracle ADF Business Componentsで最適化を行うことができます。ただし、アプリケーションを任意のSQLデータソースで実行する必要がある場合は、これらの最適化は使用できません。一般に、アプリケーション用に生成されるSQLのスタイルをSQLスタイルと呼びます。
Oracle ADF Business Componentsには、次のSQLスタイルがあります。
接続タイプを選択した場合、フレームワークでは、デフォルトでどのSQL言語を使用するかが認識されます。作成したすべてのビジネス・コンポーネントには、適切なSQLスタイルが反映されます。たとえば、SQL92言語を選択した場合は、バインディングは「:1」ではなく「?」の形式になります。
注意: ビジネス・コンポーネント・アプリケーションの設計者が、カスタム設計のビュー・オブジェクトで使用するSQL言語は、生成されるSQLの言語とも一致する必要があります。
重要: SQLスタイルを設定すると、間接的にSQL Builderクラスも設定されます。単一のJVMでは、使用できるSQL Builderは1種類のみです。
OLiteシナリオおよびSQL92シナリオでは、ドメインは使用できません(例外としてDateとNumberは使用できます)。ドメインが使用できない場合は、Java型で、データベース情報をJavaの表現に変換し、もう一度元に戻す必要があります。この処理は、型マップを使用して行います。
Oracle ADF Business Componentsには次の2つの型マップがあります。
Oracle: データベース列はoracle.jbo.domain型にマップされます。
SQL92標準で宣言されたデータ型ではなく、拡張データ型を使用しているデータベースの場合は、データベース型をJava型へマップするカスタム型のマップを設計する必要があります。
ドメイン型は、データベース型へ直接マップするため、Java型のマップに比べて高速かつ効率的です。ビジネス・コンポーネント・フレームワークには、oracle.jbo.domainの2種類の実装が用意されています。
BC4J Oracle Domains: OracleのJDBCドライバを使用して効率よくマップします。
関連項目
Oracle9i LiteおよびOracle以外のデータソース用にOracle ADF Business Componentsを開発する場合の制限事項
SQL Serverデータベース用Oracle ADF Business Componentsの開発
DB2データベース用Oracle ADF Business Componentsの開発
MySQLデータベース用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, 2006, Oracle. All rights reserved.