プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド
12c (12.2.1.4.0)
E96106-04
目次へ移動
目次

前
次

6 ADFデータ・ソースでの作業

この章では、Oracle Business Intelligenceで使用するようにOracle ADFビジネス・コンポーネントを設定する方法、およびADFデータ・ソースからメタデータをインポートする方法について説明します。

ADFデータ・ソースに接続することで、Oracle Business Intelligenceユーザーは、ADFフレームワークを使用して作成されたアプリケーションのデータに対して問合せを実行できます。たとえば、Oracle CRMアプリケーションはADFフレームワークを使用して開発されているため、Oracle Business Intelligenceユーザーは、必要なADF Application Programming Interface (API)を実装するADFデータ・ソースを使用してCRMデータに関するレポートを生成できます。

Oracle BIサーバーでADFコンポーネントをデータ・ソースとして使用すると、ユーザーは、ADFフレームワークに基づいて作成されたアプリケーションと業務レポートを簡単に統合できます。

この章のトピックは、次のとおりです:

ADFビジネス・コンポーネントとは

Oracle Application Development Framework (Oracle ADF)は、J2EEビジネス・サービスを作成し、基礎となるデータベース・オブジェクトを公開するために使用するオブジェクト・リレーショナル・フレームワークです。

このフレームワークによって、アプリケーション開発者が簡単かつ効率的にアプリケーションを作成できる抽象化レイヤーが提供されます。

Oracle ADFを使用してサービス指向のJava EEアプリケーションを作成する際、コア・ビジネス・ロジックを1つ以上のビジネス・サービスとして実装します。これらのバックエンド・サービスは、適切なビジネス・ルールを施行し、かつ必要に応じてビジネス・データの問合せ、挿入、更新および削除を行う手段をクライアントに提供します。ADFビジネス・コンポーネントは、Java EEの設計パターンとベスト・プラクティスを即座に実装できるビルトイン・アプリケーション・オブジェクトです。

ADFモデルは、通常は設計時に構成および定義される、エンティティ・オブジェクトとビュー・オブジェクトと呼ばれるADFビジネス・コンポーネントの構成メンバーを使用して表されます。

  • エンティティ・オブジェクト

    エンティティ・オブジェクトとは、データベース表内の行を表し、そのデータの変更を簡略化するADFフレームワーク・コンポーネントです。エンティティ・オブジェクトを使用すると、これらの行のドメイン・ビジネス・ロジックをカプセル化できるため、ビジネス・ポリシーおよびビジネス・ルールが確実に一貫して検証されます。

  • ビュー・オブジェクト

    ビュー・オブジェクトとは、SQL問合せをカプセル化し、その結果の操作を簡略化するADFフレームワーク・コンポーネントです。読取り専用のビュー・オブジェクトに加えて、更新可能な行をサポートするエンティティ・ベースのビュー・オブジェクトがあります。このビュー・オブジェクトは、クライアントが直面している当面のタスクに必要なデータに対してのみ問合せを実行し、ビジネス・ドメイン・レイヤーの1つ以上のエンティティ・オブジェクトと連携して、そのビュー行に加えられた変更を自動的に検証し、保存します。エンティティ・ベースのビュー・オブジェクトでは、SQL問合せをカプセル化します。ビュー・リンクを使用して、エンティティ・オブジェクトをマスター/ディテール階層にリンクできます。アプリケーション・モジュールのデータ・モデルでエンティティ・オブジェクトを使用できます。

    ADFを使用して作成されたアプリケーションがデータを取得する際には、ADF APIを使用して、定義されたビュー・オブジェクトに対して問合せを実行します。

ADFモデルには、アプリケーション・モジュールも含まれます。アプリケーション・モジュールは、UIクライアントがアプリケーション・データの操作に使用するトランザクション・コンポーネントです。これによって、エンド・ユーザーのタスクに関連した作業論理ユニットに関連する、更新可能なデータ・モデルやトップレベルのプロシージャおよびファンクション、すなわち,サービス・メソッド,を定義します。

アプリケーション・モジュールは、複数のビュー・オブジェクトおよびエンティティ・オブジェクトのコンテナとして機能するほか、JDBCデータ・ソースに関連する構成も格納します。

ADFビジネス・コンポーネントを使用した業務レポートについて

Oracle Business IntelligenceとADFビジネス・コンポーネントの統合を使用して、アプリケーション内のデータに関するレポートを生成できます。

たとえば、経費アプリケーションに入力された経費データに基づいてレポートを生成できます。管理ツールを使用して、経費アプリケーションのメタデータをOracle BIリポジトリにインポートし、「物理」レイヤーから「ビジネス・モデルとマッピング」レイヤーにデータをマップし、次にデータを「プレゼンテーション」レイヤーにマップします。Oracle BIサーバーを再起動し、Oracle BIプレゼンテーション・サービスにメタデータを再ロードしたら、Oracle BIアンサーにログインし、列をドラッグ・アンド・ドロップして、経費アプリケーションのデータを使用してレポートを生成できます。列を選択して、航空旅費など、特定のカテゴリを基準にグループ化した経費のレポートを表示できます。

Oracle Business IntelligenceへのADFビジネス・コンポーネントのインポートについて

インポート時に、必要な物理表および複合結合が自動的に作成されます。

ViewObjectインスタンスとViewLinkインスタンスがOracle Business Intelligenceにインポートされます。問合せ実行時、これらのインスタンスから取得された定義を使用して、CompositeVO (ビュー・オブジェクト)がOracle Application Development Framework (ADF)で作成されます。

これらの複合結合はダミー結合であり、Oracle Business Intelligenceでは実行されません。かわりに、ダミー結合はADFモデル内のビュー・オブジェクトのペアを結合するViewLinkインスタンスを示します。物理表と複合結合の名前は、ViewObjectインスタンスとViewLinkインスタンスの完全修飾名と一致します。この規則により、ADFモデルにおけるApplicationModulesの任意のネストが可能になります。

ノート:

ADFデータ・ソースの「複合結合」ダイアログの「外部式」フィールドには、ビュー・リンクで定義されている結合条件が移入されます。

自動的に生成される結合の名前については、ViewObjectName1_ViewObjectName2のようなネーミング規則が使用されます(例: AppModuleAM.AP_VO1_AppModuleAM_BU_VO1)。ViewLinkインスタンスの名前は、「複合結合」ダイアログの「ViewLink名」フィールドに表示されます。

ViewLinkインスタンスが使用可能な場合、複合結合は自動的に作成されます。ViewLink定義には、複合結合は作成されせん。ViewLink定義を使用する結合は、手動で作成する必要があります。ViewLink定義を使用する結合を手動で作成するには、「複合結合」ダイアログの「ViewLink名」フィールドでViewLink定義の名前を指定します。

ApplicationModuleでカスタム・プロパティが定義されている場合、異なるApplicationModuleのビュー・オブジェクト間の結合は、ADFからのインポート時に、Oracle Business Intelligenceによって作成されます。プロパティ名とプロパティ値の形式は、次のとおりです。

  • プロパティ名の形式は、BI_VIEW_LINK_property_nameです。

  • プロパティ値のフォーマットはsource_view_object_instance_nameViewLink_definition_namedestination_view_object_instance_nameです。

必ず、ソースおよび宛先ビュー・オブジェクトの完全修飾ビュー・オブジェクトのインスタンス名とViewLink定義の完全修飾パッケージ名を使用してください。

SQL Bypassデータベースの指定について

Oracle BIサーバーでは実行時に複合ビュー・オブジェクトを自動的に作成できるため、非定型のBI問合せはADFレイヤーの複数のビュー・オブジェクトを参照できます。

パフォーマンスを向上させるため、BI問合せに必要なプロジェクション列、フィルタおよび結合が組み込まれたSQL Bypass問合せが生成されます。

SQL Bypass機能はデータベースに直接問い合せるため、可能な場合は集計やその他の変換がプッシュ・ダウンされ、Oracle Business Intelligenceにストリームされて処理されるデータの量が削減されます。SQL Bypassデータベースを使用すると、Oracle BIサーバーはADFデータ・ソースからビュー・オブジェクト問合せを取得し、集計とともに論理SQL問合せにラップします。その後、集計を含む問合せがデータベースで実行されます。データベースで集計が処理されることで、Oracle Business Intelligenceにストリームされる行が少なくなるため、SQL Bypassデータベースを使用すると、パフォーマンスが大幅に向上する可能性があります。

複数のビュー・オブジェクトが別個のBI物理表としてモデリングされ、ダミー複合結合と接続されます。これらの結合は、単にADFモデルのViewLinkを表し、Oracle BIサーバーによって実行されることはありません。

SQL Bypassデータベースの名前は、ADFデータ・ソースの接続プールで指定できます。SQL Bypassデータベースは、リポジトリの物理レイヤーにある物理データベースである必要があります。SQL Bypassデータベースのデータベース・オブジェクトには、ADFアプリケーションを実行するOracle WebLogic Serverで定義されたJDBCデータ・ソースで使用されているデータベースを指す接続情報を含む、有効な接続プールが必要です。

SQL Bypassデータベースに表を設定する必要はありません。有効なデータベース名を指定すると、そのADFデータベースに対するすべての問合せについてSQL Bypass機能が有効になります。

ADFデータ・ソースの設定

これらのトピックでは、Oracle Business Intelligenceで使用するようにADFビジネス・コンポーネントを構成する方法について説明します。

「システム要件と動作保証」を参照してください。

この項では、次の項目について説明します。

Oracle Business Intelligenceとともに使用するADFビジネス・コンポーネントのWebLogicドメインの作成

Oracle Business Intelligenceとともに使用するADFビジネス・コンポーネントを構成するには、WebLogic Server、Oracleアプリケーション・コア(Webapp)およびOracle JRFをサポートするADFビジネス・コンポーネントのWebLogicドメインを作成する必要があります。

  1. WebLogic構成ウィザードを起動します。

    たとえば、Windowsの場合は、MW_HOME\wlserver\common\bin\config.cmdを実行します。

  2. 新しいWebLogicドメインの作成」を選択し、「次へ」をクリックします。
  3. 「ドメイン・ソースの選択」画面で、基本WebLogic ServerドメインOracle JRFおよびOracleアプリケーション・コア(Webapp)が選択されていることを確認します。
  4. ウィザードの残りのステップに従って、環境に適した値を入力します。
  5. 「構成のサマリー」画面で、「作成」をクリックしてドメインを作成します。

ドメイン・ディレクトリのコマンドライン・スクリプトを使用して、そのドメインのOracle WebLogic Serverを起動および停止できます。たとえば、Windowsの場合は次のコマンドを使用します。

  • BI_DOMAIN\bin\startWebLogic.cmd

  • BI_DOMAIN\bin\stopWebLogic.cmd

Oracle WebLogic Serverの共有ライブラリとしてのOBIEEBrokerのデプロイ

Business Intelligenceとともに使用するADFビジネス・コンポーネントを構成するには、OBIEEBrokerをインストールし、その物理ファイルまたはディレクトリをOracle WebLogic Serverに認識させ、起動する必要があります。

このプロセスは、OBIEEBrokerライブラリをOracle WebLogic Serverの共有ライブラリとしてデプロイします。

ライブラリをインストールして起動すると、デプロイされた他のモジュールはライブラリを参照できます。OBIEEBroker共有ライブラリは、Oracle Business Intelligenceのインストールの一部としてインストールされます。

  1. Oracle WebLogic Serverが実行中であることを確認します。実行中でない場合は、起動してください。たとえば、Windowsの場合、BI_DOMAIN\bin\startWebLogic.cmdを実行します。
  2. WebLogic Server管理コンソールを開きます。たとえば、Oracle WebLogic Serverがポート7001上でローカルで実行されている場合、http://localhost:7001/consoleに移動します。
  3. WebLogicドメインの設定時に作成した資格証明を使用して、WebLogic Server管理コンソールにログインします。
  4. 「チェンジ・センター」で「ロックして編集」をクリックします。
  5. ホーム・ページの左ペインで、「デプロイメント」をクリックします。
  6. 右側のペインで、「インストール」をクリックします。
  7. アプリケーション・インストール・アシスタントを使用して、OBIEEBroker EARファイルを探します。
    ORACLE_HOME\bi\bifoundation\javahost\lib\obisintegration\adf\
    oracle.bi.integration.adf.ear
    
  8. 「次」をクリックします。
  9. 「このデプロイメントをライブラリとしてインストールする」を選択し、「次へ」をクリックします。
  10. OBIEEBrokerライブラリをデプロイするサーバーまたはクラスタを選択します。

    必ず、ライブラリを参照するモジュールまたはアプリケーションがデプロイされているすべてのサーバーおよびクラスタを選択してください。

  11. 「次」をクリックします。
  12. (オプション)デプロイメントに関する設定を更新します。
  13. 次へ」をクリックし、「終了」をクリックしてインストールを終了します。
  14. 「チェンジ・センター」で「変更のアクティブ化」をクリックします。

JDeveloperからOracle WebLogic ServerへのアプリケーションEARファイルのデプロイ

Oracle Business Intelligenceとともに使用するADFビジネス・コンポーネントを構成するには、アプリケーションEARファイルをJDeveloperからOracle WebLogic Serverにデプロイする必要があります。

この手順を開始する前に、次の条件を満たしていることを確認してください。

  • Oracle Business Intelligenceに公開するApplicationModulesとビュー・オブジェクトを含むADFモデル・プロジェクトを作成しています。

  • OBIEEBrokerOracle WebLogic Serverの共有ライブラリとしてデプロイしています。「共有ライブラリとしてのOBIEEBrokerのデプロイ」を参照してください。

  • Oracle WebLogic Serverが実行中です。

  1. JDeveloperを起動します。Windowsの場合は、MW_HOME\jdeveloper\jdev\bin\jdev.exeを実行します。

  2. ファイル」を選択し、「開く」を選択して、ADFビジネス・コンポーネントが格納されたプロジェクトをJDeveloperで開きます。メッセージが表示されたら、最新バージョンへのプロジェクトの移行を許可します。

  3. 次の手順に従って、アプリケーション・モジュールの構成を新しく作成します。

    1. モデル・プロジェクトで、アプリケーション・モジュールをダブルクリックし、そのアプリケーション・モジュールの「構成」タブをクリックします。

    2. 次の特性を持つ構成を新しく作成します。

      • 接続タイプ」として「JDBCデータソース」を選択します。

      • デフォルトのデータ・ソース名(例: java:comp/env/jdbc/ApplicationDBDS)をそのまま使用します。

      この後のステップでOracle WebLogic ServerでJDBCデータ・ソースを設定する際に、Oracle WebLogic Serverで必要なJNDI名としてこのデータ・ソース名の一部を使用します。JNDI名は、java:comp/envコンテキスト接頭辞を含まないデータ・ソース名(例: jdbc/ApplicationDBDS)です。

  4. 次の手順に従って、ビジネス・コンポーネント・アーカイブ・デプロイメント・プロファイルを作成します。

    1. 「プロジェクト」ウィンドウで、モデル・プロジェクトを右クリックし、「新規」を選択します。

    2. 左ペインで「一般」の下の「デプロイメント・プロファイル」を選択し、右ペインで「ビジネス・コンポーネント・アーカイブ」を選択して、「OK」をクリックします。

    3. デプロイメント・プロファイルの名前(例: MyApplication_Archive)を入力し、「OK」をクリックします。

    4. 「デプロイメント」ページで、「OK」をクリックします。

  5. 「プロジェクト」ウィンドウでモデル・プロジェクトを右クリックし、「デプロイ」からyour_deployment_profile_nameのデプロイ」を選択するか、「ファイルにデプロイ」を選択してデプロイメント・ウィザードを使用します。

    プロジェクトがデプロイされると、モデル・プロジェクトのデプロイ・ディレクトリに2つのjarファイルが作成されます(例: MyApplication_Archive_Common.jarおよびMyApplication_Archive_MiddleTier.jar)。

  6. 次の手順に従って、アプリケーションのWebプロジェクトを新しく作成します。

    1. グローバル・アプリケーションを右クリックし、「新規プロジェクト」を選択します。

    2. 左ペインで「プロジェクト」を選択し、右ペインで「Webプロジェクト」を選択します。

    3. プロジェクト名(例: OBIEEBroker)を入力します。

    4. Webプロジェクト・プロファイル」ページが表示されるまで、「次へ」をクリックします。

    5. 「Java EEコンテキスト・ルート」を、アプリケーションを適切に表す名前(例: MyApplication)に変更します。

      この値によって、Oracle Business Intelligenceからアプリケーションに接続する際に使用するURL(例: http://localhost:7001/MyApplication/obieebroker)が決まります。

  7. 次の手順に従って、WARデプロイメントのプロファイルの依存性を編集します。

    1. 作成したWebプロジェクト(例: OBIEEBroker)を右クリックし、「プロジェクト・プロパティ」を選択します。

    2. 左ペインで「デプロイメント」を選択します。次に、右ペインでWARファイルのデプロイメント・プロファイルを開きます。

    3. 左ペインで「プロファイルの依存性」を選択してから、右ペインでモデル・プロジェクトの共通および中間層デプロイメント・プロファイルを選択します。

  8. Webプロジェクトを開き、web.xmlを開きます。次に、ファイルのソース・ビューに移動します。

  9. web.xmlのソースで、<web-app>要素内の内容を次の内容に置き換えます。

    <context-param>
      <description>This holds the Principals (CSV) that a valid end user should 
    have (at least one) in order to query the ADF layer from BI.</description>
      <param-name>oracle.bi.integration.approle.whitelist</param-name>
      <param-value>Application_Roles_List</param-value>
    </context-param>
    
    <filter>
      <filter-name>ServletADFFilter</filter-name>
      <filter-class>oracle.adf.share.http.ServletADFFilter</filter-class>
    </filter>
    
    <filter-mapping>
      <filter-name>ServletADFFilter</filter-name>
      <servlet-name>OBIEEBroker</servlet-name>
      <dispatcher>FORWARD</dispatcher>
      <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
     
    <servlet>
      <servlet-name>OBIEEBroker</servlet-name>
      <servlet-class>oracle.bi.integration.adf.v11g.obieebroker.OBIEEBroker
      </servlet-class>
    </servlet>
     
    <servlet-mapping>
      <servlet-name>OBIEEBroker</servlet-name>
      <url-pattern>/obieebroker</url-pattern>
    </servlet-mapping>
    

    このステップを実行すると、Oracle Business IntelligenceからアプリケーションへのアクセスにOBIEEBrokerサーブレットが使用されるようになります

    application_roles_listについては、CSV形式でアプリケーション・ロールのリストを指定します。例:

    <param-value>FBI_TRANSACTION_ANALYSIS_GENERIC_DUTY, OBIA_ANALYSIS_GENERIC_DUTY, 
    OBIA_EXTRACT_TRANSFORM_LOAD_DUTY, FUSION_APPS_BI_APPID</param-value>
    

    アプリケーション・ロールのリストを指定した場合は、アプリケーションへのアクセスが許可される前に、ユーザーのアプリケーション・ロールが確認されます。この実行時の確認には、そのWebLogicドメインのdomain_name/config/fmwconfig/system-jazn-data.xmlファイルに次の権限付与が存在している必要があります。

    <grant>
      <grantee>
        <codesource>
          <url>file:${domain.home}/servers/${weblogic.Name}/tmp/
          _WL_user/oracle.bi.integration.adf/-</url>
        </codesource>
      </grantee>
      <permissions>
        <permission>
          <class>oracle.security.jps.JpsPermission</class>
          <name>IdentityAssertion</name>
          <actions>execute</actions>
        </permission>
        <permission>
          <class>oracle.security.jps.JpsPermission</class>
          <name>AppSecurityContext.setApplicationID.obi</name>
        </permission>
      </permissions>
    </grant>
    

    OBIEEBrokerサーブレットによるアプリケーション・ロールの確認を実行しない場合は、web.xmlの<context-param>の値としてDISABLE_WHITELIST_ROLE_CHECKを使用します。例:

    <param-value>DISABLE_BI_WHITELIST_ROLE_CHECK</param-value>
    
  10. 次の手順に従って、アプリケーションのEARデプロイメント・プロファイルを作成します。

    1. グローバル・アプリケーションを右クリックし、「アプリケーションのプロパティ」を選択します。

    2. 左ペインで「デプロイメント」を選択し、右ペインで「新規」をクリックして、新しいデプロイメント・プロファイルを作成します。

    3. アーカイブ・タイプ」として「EARファイル」を選択します。次に、デプロイメント・プロファイルの名前(例: MyApplication)を入力します。

      このデプロイメント・プロファイル名は、Oracle WebLogic Serverのデプロイメントのリストに表示される名前として使用されます。

    4. 左ペインで「アプリケーション・アセンブリ」を選択します。次に、右ペインで、Webプロジェクトのwebappデプロイメント・プロファイルを選択します。

      このステップを実行すると、WebプロジェクトのWarファイルがEARファイルに含まれるようになります。

  11. 「アプリケーション・リソース」で、「ディスクリプタ」「META-INF」を選択し、次に「weblogic-application.xml」を選択します。

  12. 左側で、「ライブラリ」タブを選択します。

  13. 次の手順に従って、新しい共有ライブラリ参照を2つ作成します。

    • 次の特性を持つ、1つ目の共有ライブラリ参照を作成します。

      • ライブラリ名: oracle.bi.integration.adf

      • 実装バージョン: 11.1.1.2.0

    • 次の特性を持つ、2つ目の共有ライブラリ参照を作成します。

      • ライブラリ名: oracle.applcore.model

      • 実装バージョン: 11.1.1.0.0

    この2つの共有ライブラリ参照によって、アプリケーションのweblogic-application.xmlファイルに次のエントリが作成されます。

    <library-ref>
      <library-name>oracle.bi.integration.adf</library-name>
      <implementation-version>11.1.1.2.0</implementation-version>
    </library-ref>
    <library-ref>
      <library-name>oracle.applcore.model</library-name>
      <implementation-version>11.1.1.0.0</implementation-version>
    </library-ref>
    
  14. 右クリックしてEAR_deployment_profile_nameのデプロイ」を選択して、グローバル・アプリケーションによってEARファイルをOracle WebLogic Serverにデプロイします。

  15. 表示されるダイアログで「アプリケーション・サーバーへのデプロイ,」を選択し、ウィザードの指示に従います。

  16. アプリケーションがデプロイされていることを確認するには、WebLogic Server管理コンソールにログインし、デプロイされたリソースの下の「デプロイメント」をクリックします。リストにアプリケーション(例: app__name)が表示されていることを確認します

WebLogic ServerでのJDBCデータ・ソースの設定

Oracle Business Intelligenceで使用する予定のADFビジネス・コンポーネントを構成する必要があります。

Oracle Business Intelligenceとともに使用するADFビジネス・コンポーネントを構成するには、アプリケーションに対してOracle WebLogic ServerでJDBCデータ・ソースを設定する必要があります。

  1. Oracle WebLogic Serverが実行中であることを確認します。実行中でない場合は、起動してください。たとえば、Windowsの場合、BI_DOMAIN\bin\startWebLogic.cmdを実行します。
  2. WebLogic Server管理コンソールを開きます。たとえば、Oracle WebLogic Serverがポート7001上でローカルで実行されている場合、http://localhost:7001/consoleに移動します。
  3. WebLogicドメインの設定時に作成した資格証明を使用して、WebLogic Server管理コンソールにログインします。
  4. ホーム・ページで、「JDBC」を選択し、「データ・ソース」を選択します。
  5. 「新規」をクリックします。
  6. データ・ソースに関する情報を入力します。「名前」および「JNDI名」については、アプリケーションのアプリケーション・モジュールの構成で指定したデータ・ソース名を入力します。ただし、java:comp/envコンテキスト接頭辞は付けません(例: jdbc/ApplicationDBDS)。また、ウィザードを終了する前に、データ・ソースをデプロイするターゲットを必ず選択してください。
  7. JDBCデータ・ソースの設定を入力し終わったら、「終了」をクリックします。

Oracle WebLogic Serverでのデプロイされたアプリケーションのログ・レベルの設定

アプリケーションがデプロイされたサーバーのserver_name-diagnostic.logファイルには、デプロイされたアプリケーションに関する情報が含まれます。

このファイルは、ドメイン内のサーバー固有のディレクトリにあります。たとえば、Windowsの場合、AdminServerのログ・ファイルは次の場所にあります。

BI_DOMAIN\servers\AdminServer\logs

ログのレベルには、次のものがあります。

  • SEVERE

  • 警告

  • 情報

  • 構成

  • FINE

  • 詳細

  • 最も詳細

  1. 次の場所にあるOracle WebLogic Serverファイルlogging.xmlを編集のために開きます。

    BI_DOMAIN\servers\server_name

  2. <loggers>要素内に、次の子要素を追加します。
    <logger name="oracle.bi.integration.adf" level="LOG_LEVEL"/>
    <logger name="oracle.bi.integration.adf.v11g.obieebroker" level="LOG_LEVEL"/>
    
  3. ファイルを保存して閉じます。
  4. Oracle WebLogic Serverを再起動します。

ADFデータ・ソースからのメタデータのインポート

ADFデータ・ソースからOracle Business Intelligenceにメタデータをインポートする各種の方法があります。

ADFソースからメタデータをインポートする前に、ADFデータ・ソースの設定のステップを完了する必要があります

この項では、次の項目について説明します。

ADFデータ・ソースからの初期インポートの実行

メタデータのインポート・ウィザードを使用して、Oracle Application Development Framework (ADF)データ・ソースから初期インポートを実行できます。

メタデータのインポート・ウィザードで、「検索」にキーワードを入力して、特定のアイテムを検索できます。

すでにインポートされているオブジェクトを含め、すべてのオブジェクトを表示するには、「完全な構造の表示」を使用します。このオプションの選択を解除すると、インポート可能なオブジェクトのみが表示されます。このオプションを選択した場合、すでにインポートされているオブジェクトはグレー表示されます。

このインポートでデータ・ソースへの新しい接続が作成される場合、「データソース・ビュー」から「リポジトリ・ビュー」リストに項目を移動すると、「接続プール」ダイアログが開き、メタデータのインポート・ウィザードの「データ・ソースの選択」ページで入力した値が表示されます。SQL Bypass Database」フィールドの名前を指定できます。

  1. 管理ツールで、次のいずれかを実行します。
    • 「ファイル」メニューから「メタデータのインポート」を選択します。
    • 既存のADFデータ・ソースおよび接続プールがすでに存在する場合は、物理レイヤーの接続プールを右クリックし、「メタデータのインポート」を選択します。
  2. 「メタデータのインポート」の「データ・ソースの選択」ページの「接続タイプ」フィールドで「OracleADF_HTTP」を選択します。

    情報の入力を終了したら、「メタデータ・オブジェクトの選択」画面が表示されます。

  3. 「接続プール」で、「新規接続」を選択するか、「既存の接続」を選択して「参照」をクリックし、既存の選択プールを特定します。

    「既存の接続」を使用している場合、「データ・ソース」「AppModuleの定義」「AppModuleの構成」または「URL」および「ユーザー名」「パスワード」フィールドの値は、接続プール定義から移入されます。

  4. 「データ・ソース」フィールドでは、フィールドを空白のままにしてデフォルトJDBCデータ・ソースを使用するか、jdbc/nWindORA05などのJDBCデータ・ソース名を入力して異なるデータ・ソースを使用します。
  5. 「AppModuleの定義」には、oracle.apps.fii.receivables.model.RootAppModulesnowflakesales.SnowflakeSalesAppなど、接続に使用するルート・アプリケーション・モジュールの完全修飾Javaパッケージ名を入力します。
  6. 「URL」には、Oracle Business Intelligenceブローカ・サーブレットのURLを次の形式で入力します。
    http://host:port/APP_DEPLOYMENT_NAME/obieebroker
    

    たとえば次のように、URLでは大文字と小文字が区別されます。

    http://localhost:7001/MyApp/obieebroker
    
  7. 「ユーザー名」および「パスワード」には、Oracle ADFアプリケーションの有効なユーザー名とパスワードを入力します。

    ユーザー名とパスワードは、Oracle WebLogic Serverセキュリティ・レルムで設定されている必要があります。

  8. 「データソース・ビュー」で、インポートするオブジェクトを選択して、「リポジトリ・ビュー」に移動します。
  9. 「データ・ソースの選択」で、「次」をクリックします。
  10. 「終了」をクリックします。
  11. 「物理」レイヤーでADFデータ・ソースのデータベース・オブジェクトを展開し、インポートが成功したことを確認し、物理表を右クリックして、「データの表示」をクリックします。

増分インポートを使用したフレックス・オブジェクト変更の伝播

ADFアプリケーション内のフレックスフィールドを変更した場合、Oracle BI管理ツールのメタデータのインポート・ウィザードを使用して、Oracle BIリポジトリの物理レイヤーに変更を増分インポートできます。

メタデータのインポート・ウィザードには、ADFデータ・ソースの同期機能が含まれており、これにより、オブジェクトに加えられた変更のみをインポートすることができます。同期機能は、新たに結合されたディメンション(KFF)や新規属性(DFFおよびEFF)などの、変更されたオブジェクトを検出し、それらを検索する必要なく、自動的に追加できるようにします。

同期機能により、次のものが検出されます。

  • 列内の変更

  • 表および列の追加や削除

  • キーと外部キーの追加

  • 新たに結合された表

    既存の表に結合された新しい表がインポートされるのは、「メタデータ・オブジェクトの選択」画面で「欠落した結合オブジェクトを自動的に含める」オプションが選択された場合のみです。

インポート後、ADFデータは、表に示されているようにモデル化されます。

ADFメタデータ インポートされたBIメタデータ

ルート・アプリケーション・モジュール

データベース

ビュー・オブジェクト

物理表

ビュー・オブジェクト属性

物理列

ビュー・オブジェクト・キー

物理キー

ビュー・リンク

物理結合

ノート:

データが増分インポートされると、属性のプロパティへの変更が検出されて伝播されます。たとえば、属性でそのデータ型が変更された場合、その変更は物理レイヤー・オブジェクトに伝播されます。

メタデータを物理レイヤーの既存のデータベースにインポートする場合、COUNT_STAR_SUPPORTEDオプションが「データベース・プロパティ」ダイアログの「機能」タブで選択されていることを確認します。COUNT_STAR_SUPPORTEDオプションを選択しないでメタデータをインポートすると、「行数の更新」オプションがデータベースの物理表の右クリック・メニューに表示されなくなります。

「論理モデルへのフレックス・オブジェクト変更の自動マッピング」を参照してください。
  1. 管理ツールで、物理レイヤーのADF OLTPソースの接続プールを右クリックし、「メタデータのインポート」を選択します。
  2. 「同期化」をクリックして、インポートする最新の変更をすべて見つけて、自動的に選択します。
  3. 選択されたメタデータを確認して、新しい属性を見つけます。
  4. 「終了」をクリックしてウィザードを閉じるか、「次」をクリックして「論理モデルへのマップ」に進みます。

論理モデルへのフレックス・オブジェクト変更の自動マッピング

ADFアプリケーション内のフレックスフィールドへの変更をインポートした後、Oracle BI管理ツールのメタデータのインポート・ウィザードの「論理モデルへのマップ」画面を使用して、「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーに変更を自動的に伝播できます。

デフォルトのマッピングの動作をオーバーライドするには、論理表の名前を変更するか、ビュー・オブジェクトを複数の表に分割するか、複数のビュー・オブジェクトを単一の論理表に結合します。

「マッピングの動作のカスタマイズ」を参照してください。

デフォルトの動作のままにすることも、ニーズに合せて動作をカスタマイズすることもできます。たとえば、「ビジネス・モデルとマッピング」レイヤーの表と列の名前を変更したり、既存の論理表にマップしたり、論理列を複数のソース列にマップしたりすることができます。「列マッピング」グリッドには、通常の列に加えて別名列も表示されるので、別名列を含むカスタマイズ済マッピングを処理できます。「表のマッピング」グリッドにより、単一の物理表を複数の論理表に、およびその逆にマップすることが可能になります。

「表のマッピング」グリッドには、「VOタイプ」列が含まれています。オプションには、「標準」「ETLのみ」および「問合せのみ」があります。「ETLのみ」のビュー・オブジェクトは、ETLマッピングの拡張のためにのみ存在し、問合せには使用されません。このタイプのインポート済ビュー・オブジェクトを参照する論理表ソースは、「ビジネス・モデルとマッピング」レイヤーでは無効としてマークされます。「問合せのみ」のビュー・オブジェクトは、問合せでのみ使用され、データ・ウェアハウスへの拡張のためにBI拡張機能に渡されることはありません。

「表のマッピング」グリッドには、階層に使用する「階層」列も含まれています。

インポート済の表が、「論理モデルへのマップ」のステップで作成される新しいビジネス・モデルにマップされる場合は、「論理結合の作成」を選択します。論理結合を必要なだけ使用している場合は、誤って複数の論理結合が作成されないように、「論理結合の作成」オプションを選択しないでください。

増分インポートを使用したフレックス・オブジェクト変更の伝播を参照してください。

  1. 管理ツールで、物理レイヤーの「プロパティ」を右クリックします。
  2. 「プロパティ」で、「接続プール」タブ、ADF OLTPソースを選択し、「メタデータのインポート」を選択します。
  3. 「メタデータ・オブジェクトの選択」のフィールドの入力を完了し、「次へ」をクリックします。
  4. 「論理モデルへのマップ」の「表のマッピング」グリッドと「列マッピング」グリッドに、デフォルトのドラッグ・アンド・ドロップの結果が表示されていることを確認します。
  5. (オプション)「VOタイプ」で、使用するオプションを選択します。
  6. (オプション)「階層」列で、階層のオブジェクトに対してこのオプションを選択します。
  7. (オプション)インポート済の論理結合がまだ存在していないときは、「論理結合の作成」を選択します。
  8. 「終了」をクリックして、ウィザードを閉じます。

マッピングの動作のカスタマイズ

論理モデルに自動マッピングを設定する場合、「論理モデルへのマップ」画面に表示されるマッピングに対するカスタム要件を指定する一連のXMLファイルを作成できます。

管理ツールは、それらのXMLファイルを読み取り、指定されたロジックに従ってKFF、DFFおよびEFFセグメントを自動的にマップします。各XMLファイルには、ファイルの適用先のアプリケーションを指定する、appName属性を持つトップレベルの要素があります。

XMLスキーマ・ファイルapp_segment_rule.xsdおよびmapping_rules.xsd内のロジックに従ってXMLファイルを作成する必要があります。これらのファイルは次の場所にあります。

ORACLE_HOME\bi\bifoundation\javahost\lib\obisintegration\biextender

このディレクトリ内の、接頭辞がmapping_rulesおよびapp_segment_rulesであるすべてのXMLファイルは、管理ツールによって、ADFデータ・ソースに対して解析されます。

このディレクトリ内の既存のapp_segment_rules_*.xmlおよびmapping_rules_*.xmlをサンプルとして使用できます。

「ADFマッピングのカスタマイズのためのXMLスキーマ・ファイル」を参照してください。

論理モデルへのフレックス・オブジェクト変更の手動マッピング

物理オブジェクトを「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーにドラッグ・アンド・ドロップして、メタデータのインポート・ウィザードの論理マッピングのステップをスキップできます。

Oracle BI管理ツールでは、ADFデータ・ソースの増分ドラッグ・アンド・ドロップがサポートされています。これにより、物理データベースおよびスキーマ・オブジェクトを既存のビジネス・モデルにドラッグ・アンド・ドロップすることができ、その結果、増分変更に対してのみ更新を行うことが可能になります。

現行ロジックには、たとえば論理ディメンションおよび階層の自動作成を可能にするなどの、データ・ソース固有のデフォルト・ルールが含まれています。

biserverextenderユーティリティを使用したFlexオブジェクト変更の自動マッピング

biserverextenderユーティリティを使用してADFソースからFlexオブジェクト変更をインポートし、それを「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーにマップできます。

この機能は管理ツールを必要としないため、管理ツールを使用できないLinuxシステムおよびUNIXシステムでFlexオブジェクト変更をマップする場合に特に便利です。

biserverextenderユーティリティを使用するには、既存のADFデータ・ソースの接続プールが含まれているXMLパラメータ・ファイルを先に作成しておく必要があります。biserverextenderユーティリティでは、既存のADF接続プール名をパラメータ・ファイルから取得し、ADFデータ・ソースを同期化し、ソース内のデプロイ済オブジェクトを更新し、さらに、次のディレクトリにあるデフォルト・ルール・ファイルに基づいて物理メタデータを「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーにマップします。

ORACLE_HOME/bi/bifoundation/javahost/lib/obisintegration/biextender

ルール・ファイルの詳細は、「マッピングの動作のカスタマイズ」を参照してください。

構文

biserverextender -R base_repository_name [-P repository_password]
-O output_repository_name -I input_XML_file [-S]

説明:

-R base_repository_nameは、Flexオブジェクト変更のインポートおよびマップ先であるリポジトリの名前とパスです。

-P repository_passwordは、ベース・リポジトリに対するOracle BIのリポジトリ・パスワードです。

repository_password引数はオプションです。パスワード引数を指定しなかった場合、コマンドの実行時にパスワードを入力するように求められます。セキュリティ侵害のリスクを最小限にとどめるために、パスワード引数をコマンドラインやスクリプトで指定しないことをお薦めします。パスワード引数は下位互換性のためにのみサポートされています。スクリプト上の理由から、標準入力によってパスワードを指定できます。

-O output_repository_nameは、ユーティリティによって生成されたリポジトリの名前とパスです。

-I input_XML_fileは、ADFデータ・ソースの接続プールの完全修飾名が含まれている入力XMLパラメータ・ファイルの名前とパスです。

-Sはオプションです。-Sを指定しない場合は、ADFソースのDFF、KFFおよびEFFオブジェクトからの変更のみが、Oracle BIリポジトリに対して同期化されます。-Sを指定した場合は、Oracle BI管理ツールにより、ADFソースのデータベース・プロパティに基づいてすべてのDFF、KFFおよびEFFオブジェクトがADFソースから再インポートされ、Oracle BIリポジトリが再同期化されます。

-Sにより、app_segment_rules.xmlルール・ファイルの次の変更も取り込まれます。

  • 新しいマッピング・ルールのセグメント

  • 新しい別名表の作成

  • 新しいADF VO To Be Exposedサブジェクト・エリアまたはプレゼンテーション表

biserverextender -R /scratch/my_repos.rpd -O /scratch/my_repos_modelled.rpd 
-I /scratch/ADFSource.xml -S
Give password: password

XMLパラメータ・ファイル のサンプル

<BIExtenderParameters>
 <ConnectionDetails>
  <ConnectionPool>
   <ConnectionPoolName>"oracle.apps.fscm.model.analytics.applicationModule.Fscm
   TopModelAM_FscmTopModelAMLocal"."Connection Pool"</ConnectionPoolName>
  </ConnectionPool>
 </ConnectionDetails>
</BIExtenderParameters>

Oracle WebLogic ServerにおけるSSLの構成

Oracle WebLogic Serverの一方向SSLおよび双方向SSLを構成できます。

この項では、次の項目について説明します。

Oracle WebLogic Serverにおける一方向SSLの構成

一方向SSLは、Oracle Business IntelligenceとOracle WebLogic Server間の通信を適切に保護するために必要です。

  1. Oracle WebLogic Server管理コンソールのホームページから、「環境」ヘッダーの下の「サーバー」をクリックします。
  2. サーバー表で、管理するサーバーの名前を選択します。
  3. 「構成」タブの「一般」サブタブで「SSLリスニング・ポート有効」を選択します。
  4. 管理ツールを使用して、http://ではなくhttps://を使用するように、「物理」レイヤーで適切な接続プール・オブジェクトを更新します。
  5. SSLポート番号(デフォルトでは7002)を使用するように、ポート番号を更新します。

Oracle WebLogic Serverにおける双方向SSLの構成

双方向SSLを設定して、Oracle BIサーバーとOracle WebLogic Server間の通信を保護できます。

選択したOracle BIサーバー・クライアント(nqcmdなど)を使用して、ADFに対して問合せを実行します。Oracle BIサーバーが相互SSL/クライアント証明書を使用してADF Oracle WebLogic Serverと通信するようになります。

『Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』の「認証の概念」を参照してください。

Oracle WebLogic Serverの管理コンソールで、SSL接続を受け入れて相互SSLを実行するようにADF Oracle WebLogic Serverを変更します。

クライアント証明書ファイルを生成すると、cacert.pemファイルが次の場所に保存されます。

ORACLE_HOME/user_projects/domains/bifoundation_domain/config/fmwconfig/biinstances/coreapplication/ssl

信頼キーストアには、次のような場所が使用されます。

/scratch/user_name/view_storage/user_name_fmw/fmwtools/mw_home/wlserver_10.3/server/lib
  1. (オプション)クライアント証明書がまだ存在しない場合は、Oracle BIサーバーでクライアント証明書を作成します。
  2. Oracle WebLogic Server管理コンソールにログインし、「環境」ヘッダーの下の「サーバー」をクリックしてから、サーバー名をクリックします。
  3. 「チェンジ・センター」で、「ロックして編集」をクリックして構成の変更を有効にします。
  4. 「一般」タブで「SSLリスニング・ポートの有効化」を選択し、「SSLリスニング・ポート」番号を記録します。次に、「保存」をクリックします。
  5. 「SSL」タブを選択し、「詳細設定」を選択します。
  6. 「相互クライアント証明書の動作」に対しては、「クライアント証明書をリクエスト(強制する)」を選択します。次に、「保存」を選択します。
  7. 「キーストア」タブを選択して、信頼キーストアの場所とファイル名を記録します。
  8. 「変更のアクティブ化」をクリックします。
  9. Oracle BIサーバー・コンピュータで、クライアント証明書のCAファイルを検索して、Oracle BIサーバーのクライアント証明書の認証局(CA)がADF Oracle WebLogic Serverによって信頼されていることを確認します。
  10. cert.pemファイルを既知の場所にコピーします。
  11. ADF Oracle WebLogic Serverのコンピュータでコマンド・ウィンドウを開いて、信頼キーストアの場所に移動します。
  12. クライアントCAファイル(たとえば、cacert.pem)を信頼キーストアの場所にコピーします。
  13. JDKキーツール・ユーティリティで次のコマンドを使用してクライアントCAをADFサーバーの信頼キーストアにインポートし、それを信頼CAにします。
    keytool -import -file client_CA_file -keystore 
    keystore_file -keystorepass keystore_password
    

    例:

    /scratch/my_name/view_storage/my_name_fmw/jdk6/bin/keytool -import -file
    ~/Downloads/SSL/cacert.pem -keystore DemoTrust.jks -keystorepass
    DemoTrustKeyStorePassPhrase
    
  14. 管理ツールの「物理」レイヤーで、最初のADF接続プール・オブジェクトを開いて、「その他」タブを選択して、Oracle BIリポジトリの物理レイヤーを更新します。
  15. httpsプロトコルとSSLポートを使用するように「URL」フィールドを更新して、「OK」をクリックします。
  16. ADF接続プール・オブジェクトを追加するたびに、前の2つのステップを繰り返します。
  17. リポジトリを保存して、Oracle BIサーバーを再起動します。
  18. SSLを使用するようにOracle BIサーバーのODBC DSNを構成します。

    たとえば、Windowsでは次を実行します:

    1. ODBCデータ・ソース・アドミニストレータを開いて、システムDSNタブを選択します。

    2. Oracle BIサーバー「DSN」をダブルクリックします。

      このDSNはcoreapplication_OHで始まります。

    3. 「SSLの使用」を選択します。

    4. 「次へ」をクリックし、再度「次へ」をクリックして「終了」をクリックします。

ADFアプリケーションにカスタム・パラメータを渡す機能の有効化

一部のADFアプリケーションには、EFFECTIVE_DATEやTREE_VERSIONなど、ApplicationModuleで定義されたカスタム・プロパティがあります。

これらのカスタム・プロパティをアプリケーション問合せに含めると、Oracle BIサーバーからOracle ADFアプリケーションにカスタム・プロパティが渡されます。

この機能を使用して、すべてのカスタム・プロパティをOracle ADFアプリケーションに渡せるわけではありません。EFFECTIVE_DATETREE_VERSIONなどの特定のカスタム・プロパティのみがサポートされています。

  1. 管理ツールでリポジトリを開きます。
  2. 「管理」を選択し、「変数」の順に選択します。
  3. 「アクション」「新規」「リポジトリ」「変数」を選択します。
  4. 「名前」フィールドにADF_PARAM_LISTと入力します。変数の名前としてカスタム・プロパティの名前を入力しないでください。
  5. タイプ」が「静的」であることを確認します。
  6. デフォルトのイニシャライザ」フィールドに、カスタム・プロパティの名前を文字列として入力します。カスタム・プロパティが複数ある場合は、カンマ区切りリストとして入力してください。例:

    'PARAM_EFFECTIVE_DATE'

    'PARAM_EFFECTIVE_DATE, ApplicationIdBind, KeyFlexfieldCodeBind'

  7. 「OK」をクリックします。
  8. リポジトリを保存して閉じます。

カスタム・プロパティをリポジトリ変数として登録したら、それらの変数を問合せに含めることができます。例:

set variable PARAM_EFFECTIVE_DATE=2001-01-01 : SELECT c1 FROM t1;

または

set variable ApplicationIdBind = '0', KeyFlexfieldCodeBind = 'KFF1' :
select_physical ApplicationID, KeyFlexfieldCode, DataSecurityObjectName,
SegmentLabelCode from adfdb..."AppModule.KFFHierFilterVO1";

タイプPARAM_EFFECTIVE_DATEのカスタム・プロパティを含める場合、プロパティ値の日付書式はyyyy-mm-ddという書式を使用する必要があります。

ADFデータ・ソースからのラベルおよびツールチップの伝播

ラベルやツールチップなど、ユーザー・インタフェース・ヒントをADFデータ・ソースから伝播して、ユーザーが分析を処理する際に表示できます。

翻訳されたラベルやツールチップが、ユーザーのロケールに基づいてADFデータ・ソース内にある場合、データ・ソースに問い合せて、翻訳されたデータにアクセスできます。分析を作成する際に使用するようにプレゼンテーション列を構成するには、管理ツールを使用します。

この項では、次の項目について説明します。

ラベルおよびツールチップとは

UIヒントを伝播すると、Oracle BI管理ツールのプレゼンテーション列でラベルとツールチップをそれぞれカスタム表示名およびカスタム説明として使用できます。

ラベルは、プロンプトや表ヘッダーで使用され、データ項目の値の前に表示されます。ツールチップは、ユーザーが項目の上に移動したときに表示されるテキストです。ビュー・オブジェクトの各属性には、ラベルとツールチップが関連付けられています。ビュー・オブジェクトは、開発者がSQL問合せの結果を簡単に操作できるようにするためのOracle ADFコンポーネントです。

この図は、JDeveloperの「属性の編集」ダイアログにある「ラベル・テキスト」および「ツールチップ・テキスト」オプションを示しています。

UIヒントのセッション変数ネーミング・スキームについて

セッション変数ネーミング・スキームについて学習します。

セッション変数名は、Oracle WebLogic ServerOracle BI EEブローカ・サーブレットによって次の形式で生成されます。

ADF_UI Hint Type_Database Name_View Object Name_Attribute's Name

説明:

UI Hint TypeLABELまたはTOOLTIPです。

Database Nameは、XML問合せのADFQuery要素のdatabase属性の値です。一重引用符(')、二重引用符(")、スペースなどの特殊文字はアンダースコア文字に置き換えられます。

View Object Nameはビュー・オブジェクトのname属性です。Oracle ADFでは、名前に特殊文字およびスペースを使用することは禁止されています。

Attribute's Nameは、セッション変数の属性の名前です。Oracle ADFでは、名前に特殊文字およびスペースを使用することは禁止されています。

セッション変数名はすべて大文字です。「初期化ブロックでのXMLコードの使用によるUIヒントの問合せ」にあるXML問合せの例では、次の名前を持つ4つのセッション変数が生成されます。

ADF_LABEL_MY_ORCLADF_EMPLOYEESVIEW_FIRSTNAME

ADF_TOOLTIP_MY_ORCLADF_EMPLOYEESVIEW_FIRSTNAME

ADF_LABEL_MY_ORCLADF_EMPLOYEESVIEW_LASTNAME

ADF_TOOLTIP_MY_ORCLADF_EMPLOYEESVIEW_LASTNAME

プレゼンテーション列に対応する物理列の特定について

各プレゼンテーション列は、セッション変数のネーミング・スキームの要件に従って物理列にマップする必要があります。

プレゼンテーション・レイヤー・オブジェクトに「ADFラベルの生成」または「ADFツールチップの生成」を選択すると、物理列は次のルールを使用して検索されます。

  • プレゼンテーション列を調べ、その論理列を確認します。論理列が既存の論理列から派生している場合、物理列は見つかりません。

  • 論理列のデフォルトの集計ルールが「なし」または「合計」以外の場合、物理列は見つかりません。「合計」以外の集計ルールにADF UIヒントを使用しても、意味的に有効ではありません。

  • 複数の論理表ソースによって、1つの論理列が複数の物理列にマップされている場合があります。無効になっていない論理表ソースのみが検索されます。

  • 非トリビアルな式(物理列名しかないもの)を使用して、論理列をマップする論理表ソースを検索しないでください。論理表ソースが検索されない場合、物理列は見つかりません。

  • 論理表ソースの残りの順序付きリストから、最初の論理表ソースによってマップされている物理列を調べます。物理列は、ビュー・オブジェクト属性にマップする必要があります。その物理列は、タイプOracle ADF 12cの物理データベースの一部として存在している必要があります。

    • この条件を満たす場合、UIヒントを取得するための物理列が見つかります。

    • この条件を満たさない場合、ビュー・オブジェクト属性にマップされている物理列が見つかるまで、引き続き、次の論理表ソースによってマップされている物理列を調べます。

      すべての論理表ソースを検索しても条件を満たさなかった場合、物理列は見つかりません。

これらのルールを使用して、UIヒントを取得するための物理列が見つかると、事前に決定されたネーミング・スキームに基づく名前を持つセッション変数がカスタム表示名またはカスタム説明に移入されます。「UIヒントのセッション変数ネーミング・スキームについて」を参照してください。

これらのルールを使用して、UIヒントを取得するための物理列が見つからなかった場合、「ADFラベルの生成」および「 ADFツールチップの生成」オプションは、無効になった状態で右クリック・メニューに表示されます。

これらのルールを使用して見つかった物理列を使用するかわりに、初期化ブロックでXMLコードを使用して、独自のセッション変数をADF UIヒントで初期化することもできます。その場合、「カスタム表示名」および「カスタム説明」フィールドにこれらのセッション変数を手動で入力する必要があります。「初期化ブロックでのXMLコードの使用によるUIヒントの問合せ」を参照してください。

UIヒントを伝播するためのセッション変数の自動初期化について

セッション変数が作成される時期について学習します。

ADFラベルの生成」および「ADFツールチップの生成」オプションを使用してOracle ADFのUIヒントのセッション変数名が正常に生成されると、Oracle BIプレゼンテーション・サービスがセッション中に問合せを実行したときに、セッション変数が作成され、初期化されます。

パフォーマンス上の理由から、セッションのログオン段階では、変数の作成と初期化は行われません。変数は「遅延実行の許可」を使用して作成され、変数がセッションの特定の問合せに必要な場合は初期化されます。

Oracle BIプレゼンテーション・サービスがODBC経由でカスタム表示名およびカスタム説明を問い合せると、Oracle BIサーバーによって、関連するセッション変数が作成されているかどうかが確認されます。変数が作成されなかった場合、Oracle BIサーバーでは適切なXML問合せを動的に生成し、Oracle ADFデータ・ソースからUIヒントを取得します。Oracle BIサーバーでは、そのUIヒントを使用してセッション変数が作成され、初期化されます。パフォーマンスを最適化するために、Oracle BIサーバーでは各ビュー・オブジェクトのUIヒントを問い合せます。Oracle BIサーバーがビュー・オブジェクトの属性のUIヒントを必要とする場合、そのビュー・オブジェクトの下にある全属性のUIヒントに対して問合せが行われ、セッション変数を通して伝播されます。

分析の作成時のOracle ADFデータ・ソースのUIヒントの使用

分析の作成時にOracle ADFデータ・ソースのUIヒントを使用できます。

このタスクを実行するには、次の前提条件を満たす必要があります。

  • Oracle ADFデータ・ソースでUIヒントが構成されています。

  • 管理ツールOracle ADFデータ・ソースの作業用リポジトリが構成されています。

  • 「プレゼンテーション」レイヤーの列を右クリックし、「表示名の外部化」「ADFラベルの生成」を選択し、次に、「記述子の外部化」「ADFツールチップの生成」を選択して、列のすべてのツールチップ文字列を生成します。

初期化ブロックでのXMLコードの使用によるUIヒントの問合せ

初期化ブロックでSQL文のかわりに専用のXMLコードを使用して、1つのリポジトリおよびサブジェクト領域内で、UIヒントをデータ・ソースに問い合せることもできます。

「UIヒントのセッション変数ネーミング・スキームについて」を参照してください。

初期化ブロックを構成したら、該当するプレゼンテーション列について「カスタム表示名」および「カスタム説明」テキスト・フィールドにセッション変数名を手動で入力する必要があります。

分析の作成時のOracle ADFデータ・ソースのUIヒントの使用の手順に従います。ただし、最初のステップを次のステップに置き換えてください。

管理ツールでセッション初期化ブロックを作成します。「セッション変数の作成」を参照してください。

  1. 「セッション変数初期化ブロックデータ・ソース」ダイアログで、初期化文字列を入力します。
  2. 「セッション変数初期化ブロック」ダイアログで、「変数ターゲット」リストから、「行単位の初期化」を選択します。
  3. 「テスト」をクリックして、Oracle ADFデータ・ソースに対する問合せをテストします。
  4. プレゼンテーション列でカスタム表示名を構成し、説明を記述します。
  5. 物理表を右クリックし、「問合せ関連オブジェクト」「プレゼンテーション」「プレゼンテーション表」を選択します。
  6. 「問合せ関連オブジェクト」で、必要なプレゼンテーション表を選択し、「移動」をクリックします。
  7. プレゼンテーション表を開いて、プレゼンテーション列を表示します。
  8. プレゼンテーション列をダブルクリックして、「プレゼンテーション列」ダイアログを表示します。
  9. 「カスタム表示名」を選択し、次のような値を入力します。
    VALUEOF(NQ_SESSION.ADF_LABEL_MY_ORCLADF_EMPLOYEESVIEW_LASTNAME)
    
  10. 「カスタム説明」を選択し、次のような値を入力します。
    VALUEOF(NQ_SESSION.ADF_TOOLTIP_MY_ORCLADF_EMPLOYEESVIEW_LASTNAME)
  11. 「OK」をクリックします。
  12. 変更内容をリポジトリに保存し、Oracle BIサーバーを再起動します。

ADFQuery要素リファレンス

ADFQuery要素とそのmode、databaseおよびlocale属性をXMLコードで使用します。

この要素には、ゼロ個以上の子要素が必要です。要素の構文を次に示します。

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<ADFQuery mode="mode" database="database_name"
locale="VALUEOF(NQ_SESSION.WEBLANGUAGE)">
     <ViewObject><![CDATA[view_object_name]]></ViewObject>
     <Attribute>
     <ViewObject><![CDATA[attribute_view_object_name]]></ViewObject>
     <Name><![CDATA[attribute_name]]></Name>
     </Attribute>
</ADFQuery>

説明:

modeは、問い合せる内容を指定します。

  • 属性のラベルを問い合せる場合はlabel

  • 属性のツールチップを問い合せる場合はtooltip

  • 属性のラベルとツールチップを問い合せる場合はui_hints

database_nameは、Oracle ADFデータ・ソースの属性に対応する物理列が含まれている、管理ツールの物理データベース・オブジェクトの名前を指定します。

view_object_nameは、ビュー・オブジェクトの名前を指定して、その中のすべての属性のUIヒントを取得します。

attribute_view_object_nameは、属性が含まれているビュー・オブジェクトの名前を指定します。

attribute_nameは、関連付けられたビュー・オブジェクトに属する属性の名前を指定して、その属性のUIヒントを取得します。

すべてのビュー・オブジェクトのラベルの問合せ

すべてのビュー・オブジェクトのすべての属性のUIヒントを問い合せる場合、ADFQuery要素に子要素を含めないでください。たとえば、My_orclADF物理データベース・オブジェクト下のすべてのビュー・オブジェクトのすべての属性のラベルを問い合せるには、次のXMLコードを使用します。

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<ADFQuery mode="label" database="My_orclADF"
locale="VALUEOF(NQ_SESSION.WEBLANGUAGE)">
</ADFQuery>

特定のビュー・オブジェクトのツールチップの問合せ

特定のビュー・オブジェクトのすべての属性のUIヒントを問い合せる場合、ViewObjectという子要素をゼロ個以上ADFQuery要素に含めることができます。各ViewObject要素に、ビュー・オブジェクトの名前を含むテキスト・コンテンツがあります。ViewObject要素は、すべての属性のUIヒントの問合せ元のビュー・オブジェクトを指定するために使用します。たとえば、My_orclADF物理データベース・オブジェクト下のEmployeesViewおよびCustomersViewというビュー・オブジェクトのすべての属性のツールチップを問い合せるには、次のXMLコードを使用します。

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<ADFQuery mode="tooltip" database="My_orclADF"
locale="VALUEOF(NQ_SESSION.WEBLANGUAGE)">
   <ViewObject><![CDATA[EmployeesView]]></ViewObject>
   <ViewObject><![CDATA[CustomersView]]></ViewObject>
</ADFQuery>

特定の属性のUIヒントの問合せ

Attributeという子要素をゼロ個以上ADFQuery要素に含めることができます。各Attribute要素には、ViewObjectおよびNameという2つの必須の子要素があります。Attribute要素は、UIヒントの問合せ元の属性を指定するために使用します。ViewObject子要素には、ビュー・オブジェクトの名前を含むテキスト・コンテンツがあります。この要素は、属性が属するビュー・オブジェクトを指定します。Name子要素には、属性の名前を含むテキスト・コンテンツがあります。たとえば、My_orclADF物理データベース・オブジェクト下のEmployeesViewビュー・オブジェクトのFirstnameおよびLastnameという属性のラベルとツールチップを問い合せるには、次のXMLコードを使用します。

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<ADFQuery mode="ui_hints" database="My_orclADF"
locale="VALUEOF(NQ_SESSION.WEBLANGUAGE)">
   <Attribute>
      <ViewObject><![CDATA[EmployeesView]]></ViewObject>
      <Name><![CDATA[Firstname]]></Name>
   </Attribute>
   <Attribute>
      <ViewObject><![CDATA[EmployeesView]]></ViewObject>
      <Name><![CDATA[Lastname]]></Name>
   </Attribute>
</ADFQuery>