Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド 11g リリース1 (11.1.1) B63028-05 |
|
前 |
次 |
この章では、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フレームワークに基づいて作成されたアプリケーションと業務レポートを簡単に統合できます。
この章には次のトピックが含まれます:
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データ・ソースに関連する構成も格納します。
Oracle Business IntelligenceとADFビジネス・コンポーネントの統合を使用することで、アプリケーション内のデータに関するレポートを生成できます。たとえば、経費アプリケーションに入力された経費レポート・データに基づいてレポートを生成できます。
そのためには、まず、管理ツールを使用して経費アプリケーションのメタデータをOracle BIリポジトリにインポートし、物理レイヤーからビジネス・モデルとマッピング・レイヤーにデータをマップします。Oracle BIサーバーを再起動し、Oracle BIプレゼンテーション・サービスにメタデータをリロードしたら、Oracle BIアンサーにログインし、列をドラッグ・アンド・ドロップして経費アプリケーションのデータに関するレポートを生成できます。たとえば、列を選択して、カテゴリ別にまとめた経費のレポートを表示できます。
インポート時に、必要な物理表および複合結合が自動的に作成されます。インスタンス(ViewObjectおよびViewLink)が、Oracle Business Intelligenceにインポートされます。問合せ実行時、これらのインスタンスから取得された定義を使用してCompositeVOが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定義の名前を指定します。
また、ApplicationModuleでカスタム・プロパティが定義されている場合、Oracle Business Intelligenceにおける異なるApplicationModuleのビュー・オブジェクト間の結合は、ADFからのインポート時に作成されます。次の点に注意してください。
プロパティ名の形式は、BI_VIEW_LINK_property_nameです。
プロパティ値のフォーマットはsource_view_object_instance_name、ViewLink_definition_name、destination_view_object_instance_nameです。
必ず、ソースおよび宛先ビュー・オブジェクトの完全修飾ビュー・オブジェクトのインスタンス名とViewLink定義の完全修飾パッケージ名を使用してください。
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機能が有効になります。
この項では、Oracle Business Intelligenceで使用するようにADFビジネス・コンポーネントを構成する方法について説明します。
サポートされるバージョンについては、「システム要件と動作要件」を参照してください。
この項には次のトピックが含まれます:
WebLogic Server、Oracleアプリケーション・コア(Webapp)およびOracle JRFをサポートする、ADFビジネス・コンポーネントのWebLogicドメインを作成します。
必要なコンポーネントをサポートするWebLogicドメインを作成するには:
WebLogic構成ウィザードを起動します。たとえば、Windowsの場合は、MW_HOME\wlserver_10.3\common\bin\config.cmdを実行します。
「新しいWebLogicドメインの作成」を選択し、「次へ」をクリックします。
「ドメイン・ソースの選択」画面で、基本WebLogic Serverドメイン、Oracle JRFおよびOracleアプリケーション・コア(Webapp)が選択されていることを確認します。
ウィザードの残りのステップに従って、環境に適した値を入力します。
「構成のサマリー」画面で、「作成」をクリックしてドメインを作成します。
ドメイン・ディレクトリのコマンドライン・スクリプトを使用して、そのドメインのOracle WebLogic Serverを起動および停止できます。たとえば、Windowsの場合は次のコマンドを使用します。
MW_HOME\user_projects\domains\domain_name\bin\startWebLogic.cmd
MW_HOME\user_projects\domains\domain_name\bin\stopWebLogic.cmd
OBIEEBroker共有ライブラリは、Oracle Business Intelligenceのインストールの一部としてインストールされます。OBIEEBrokerライブラリをOracle WebLogic Serverの共有ライブラリとしてデプロイするには、ライブラリをインストールし(その物理ファイルまたはディレクトリをOracle WebLogic Serverに認識させ)、起動します。ライブラリをインストールして起動すると、デプロイされた他のモジュールはライブラリを参照できます。
OBIEEBrokerをOracle WebLogic Serverの共有ライブラリとしてデプロイするには:
Oracle WebLogic Serverが実行中であることを確認します。実行中でない場合は、起動してください。たとえば、Windowsの場合は、MW_HOME\user_projects\domains\your_domain\bin\startWebLogic.cmdを実行します。
WebLogic Server管理コンソールを開きます。たとえば、Oracle WebLogic Serverがポート7001上でローカルで実行されている場合、http://localhost:7001/console
に移動します。
WebLogicドメインの設定時に作成した資格証明を使用して、WebLogic Server管理コンソールにログインします。
「チェンジ・センター」で、「ロックして編集」をクリックします。
ホーム・ページの左ペインで、「デプロイメント」をクリックします。
右ペインで、「インストール」をクリックします。
アプリケーション・インストール・アシスタントを使用して、OBIEEBroker EARファイルを探します。このファイルは、次の場所にあります。
ORACLE_HOME\bifoundation\javahost\lib\obisintegration\adf\
oracle.bi.integration.adf.ear
「次へ」をクリックします。
「このデプロイメントをライブラリとしてインストールする」を選択し、「次へ」をクリックします。
OBIEEBrokerライブラリをデプロイするサーバーまたはクラスタを選択します。必ず、ライブラリを参照するモジュールまたはアプリケーションがデプロイされているすべてのサーバーおよびクラスタを選択してください。
「次へ」をクリックします。
オプションで、デプロイメントに関する設定を更新できます。通常は、デフォルト値で問題ありません。詳細を参照するには、「ヘルプ」をクリックしてください。
「次へ」をクリックし、「終了」をクリックしてインストールを終了します。
チェンジ・センターで、変更のアクティブ化をクリックします。
JDeveloperからOracle WebLogic ServerにアプリケーションEARファイルをデプロイするには、この項で説明する手順を実行します。この手順を開始する前に、次の条件を満たしていることを確認してください。
Oracle Business Intelligenceに公開するApplicationModulesとビュー・オブジェクトを含むADFモデル・プロジェクトを作成しています。
OBIEEBrokerをOracle WebLogic Serverの共有ライブラリとしてデプロイしています。詳細は、「Oracle WebLogic Serverの共有ライブラリとしてのOBIEEBrokerのデプロイ」を参照してください。
Oracle WebLogic Serverが実行中です。
JDeveloperからOracle WebLogic ServerにアプリケーションEARファイルをデプロイするには:
JDeveloperを起動します。たとえば、Windowsの場合は、MW_HOME\jdeveloper\jdev\bin\jdev.exeを実行します。
「ファイル」を選択し、「開く」を選択して、ADFビジネス・コンポーネントが格納されたプロジェクトをJDeveloperで開きます。メッセージが表示されたら、最新バージョンへのプロジェクトの移行を許可します。
次の手順に従って、アプリケーション・モジュールの構成を新しく作成します。
モデル・プロジェクトで、アプリケーション・モジュールをダブルクリックし、そのアプリケーション・モジュールの「構成」タブをクリックします。
次の特性を持つ構成を新しく作成します。
「接続タイプ」として「JDBCデータソース」を選択します。
デフォルトのデータソース名(例: java:comp/env/jdbc/ApplicationDBDS)をそのまま使用します。
この後の手順でOracle WebLogic ServerでJDBCデータ・ソースを設定する際に、Oracle WebLogic Serverで必要なJNDI名としてこのデータ・ソース名の一部を使用します。JNDI名は、java:comp/envコンテキスト接頭辞を含まないデータ・ソース名(例: jdbc/ApplicationDBDS)です。
次の手順に従って、ビジネス・コンポーネント・アーカイブ・デプロイメント・プロファイルを作成します。
「プロジェクト」ウィンドウで、モデル・プロジェクトを右クリックし、「新規」を選択します。
左ペインで「一般」の下の「デプロイメント・プロファイル」を選択し、右ペインで「ビジネス・コンポーネント・アーカイブ」を選択して、「OK」をクリックします。
デプロイメント・プロファイルの名前(例: MyApplication_Archive)を入力し、「OK」をクリックします。
「デプロイメント」ページで、「OK」をクリックします。
「プロジェクト」ウィンドウで、モデル・プロジェクトを右クリックし、「デプロイ」→デプロイメント・プロファイル名→「デプロイ」を選択するか、「ファイルにデプロイ」を選択してデプロイメント・ウィザードを使用します。
プロジェクトがデプロイされると、モデル・プロジェクトのデプロイ・ディレクトリに2つのjarファイルが作成されます(例: MyApplication_Archive_Common.jarとMyApplication_Archive_MiddleTier.jar)。
次の手順に従って、アプリケーションのWebプロジェクトを新しく作成します。
グローバル・アプリケーションを右クリックし、「新規プロジェクト」を選択します。
左ペインで「プロジェクト」を選択し、右ペインで「Webプロジェクト」を選択します。
プロジェクト名(例: OBIEEBroker)を入力します。
「Webプロジェクト・プロファイル」ページが表示されるまで、「次へ」をクリックします。
「Java EEコンテキスト・ルート」を、アプリケーションを適切に表す名前(例: MyApplication)に変更します。
この値によって、Oracle Business Intelligenceからアプリケーションに接続する際に使用するURL(例: http://localhost:7001/MyApplication/obieebroker)が決まります。
次の手順に従って、WARデプロイメントのプロファイルの依存性を編集します。
作成したWebプロジェクト(例: OBIEEBroker)を右クリックし、「プロジェクト・プロパティ」を選択します。
左ペインで「デプロイメント」を選択します。次に、右ペインでWARファイルのデプロイメント・プロファイルを開きます。
左ペインで「プロファイルの依存性」を選択します。次に、右ペインで、モデル・プロジェクトの共通および中間層デプロイメント・プロファイルを選択します。
この手順を実行すると、モデル・プロジェクトのビジネス・コンポーネント・アーカイブがWARファイルに含まれるようになります。
Webプロジェクトを開き、web.xmlを開きます。次に、ファイルのソース・ビューに移動します。
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>
次の手順に従って、アプリケーションのEARデプロイメント・プロファイルを作成します。
グローバル・アプリケーションを右クリックし、「アプリケーションのプロパティ」を選択します。
左ペインで「デプロイメント」を選択し、右ペインで「新規」をクリックして、新しいデプロイメント・プロファイルを作成します。
「アーカイブ・タイプ」として「EARファイル」を選択します。次に、デプロイメント・プロファイルの名前(例: MyApplication)を入力します。
このデプロイメント・プロファイル名は、Oracle WebLogic Serverのデプロイメントのリストに表示される名前として使用されます。
左ペインで「アプリケーション・アセンブリ」を選択します。次に、右ペインで、Webプロジェクトのwebappデプロイメント・プロファイルを選択します。
この手順を実行すると、WebプロジェクトのWarファイルがEARファイルに含まれるようになります。
「アプリケーション・リソース」で、「ディスクリプタ」→「META-INF」→「weblogic-application.xml」を選択します。
左側で、「ライブラリ」タブを選択します。
次の手順に従って、新しい共有ライブラリ参照を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>
グローバル・アプリケーションを右クリックし、「デプロイ」→EARデプロイメント・プロファイル名を選択して、EARファイルをOracle WebLogic Serverにデプロイします。表示されるダイアログで「アプリケーション・サーバーへのデプロイ」を選択し、ウィザードの指示に従います。
アプリケーションがデプロイされていることを確認するには、WebLogic Server管理コンソールにログインし、デプロイされたリソースの下の「デプロイメント」をクリックします。リストにアプリケーション(例: obieebroker_app_name)が表示されていることを確認します。
Oracle WebLogic ServerでアプリケーションのJDBCデータ・ソースを設定する必要があります。
Oracle WebLogic ServerでJDBCデータ・ソースを設定するには:
Oracle WebLogic Serverが実行中であることを確認します。実行中でない場合は、起動してください。たとえば、Windowsの場合は、MW_HOME\user_projects\domains\your_domain\bin\startWebLogic.cmdを実行します。
WebLogic Server管理コンソールを開きます。たとえば、Oracle WebLogic Serverがポート7001上でローカルで実行されている場合、http://localhost:7001/console
に移動します。
WebLogicドメインの設定時に作成した資格証明を使用して、WebLogic Server管理コンソールにログインします。
ホーム・ページで、「JDBC」を選択し、「データ・ソース」を選択します。
「新規」をクリックします。
データ・ソースに関する情報を入力します。「名前」および「JNDI名」については、アプリケーションのアプリケーション・モジュールの構成で指定したデータ・ソース名を入力します。ただし、java:comp/envコンテキスト接頭辞は付けません(例: jdbc/ApplicationDBDS)。また、ウィザードを終了する前に、データ・ソースをデプロイするターゲットを必ず選択してください。
JDBCデータ・ソースの設定を入力し終わったら、「終了」をクリックします。
アプリケーションがデプロイされたサーバーのログ・ファイル(server_name-diagnostic.log)には、デプロイされたアプリケーションに関する情報が記録されます。このファイルは、ドメイン内のサーバー固有のディレクトリにあります。たとえば、Windowsの場合、AdminServerのログ・ファイルは次の場所にあります。
MW_HOME\user_projects\domains\your_domain\servers\AdminServer\logs
デプロイされたアプリケーションのログ・レベルを設定するには:
編集のためにOracle WebLogic Serverファイルlogging.xmlを開きます。このファイルは次の場所にあります。
MW_HOME\user_projects\domains\your_domain\config\fmwconfig\servers\server_name
<loggers>
要素内に、次の子要素を追加します。
<logger name="oracle.bi.integration.adf" level="LOG_LEVEL"/> <logger name="oracle.bi.integration.adf.v11g.obieebroker" level="LOG_LEVEL"/>
ログ・レベルには、SEVERE
、WARNING
、INFO
、CONFIG
、FINE
、FINER
およびFINEST
があります。ログ・レベルについては、Oracle WebLogic Serverのドキュメントを参照してください。
ファイルを保存して閉じます。
Oracle WebLogic Serverを再起動します。
この項では、ADFデータ・ソースの別のインポート・シナリオについて説明します。ADFデータ・ソースからメタデータをインポートする前に、「ADFデータ・ソースの設定」に記載されている手順を実行しておく必要があります。
この項には次のトピックが含まれます:
この項では、メタデータのインポート・ウィザードを使用してADFデータ・ソースから初期インポートを実行する方法について説明します。
ADFデータ・ソースからメタデータをインポートするには:
管理ツールで、「ファイル」を選択し、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが表示されます。
注意: 既存のADFデータ・ソースおよび接続プールをすでに定義している場合は、物理レイヤーの接続プールを右クリックし、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが開き、情報があらかじめ入力された「データ・ソースの選択」画面が表示されます。 |
図6-1に、メタデータのインポート・ウィザードを示します。
「データ・ソースの選択」画面の「接続タイプ」フィールドでOracleADF_HTTPを選択します。続いて、次の値を指定します。
「新規接続」を選択します。そのデータ・ソースの接続プールがすでにある場合は、「既存の接続」を選択します。「参照」をクリックして、既存の接続プールを探して選択します。「既存の接続」を選択した場合、「データ・ソース」、「AppModuleの定義」、「AppModuleの構成」および「URL」フィールドには情報を入力しません。「ユーザー名」および「パスワード」フィールドには事前に情報が入力されます。
「データ・ソース」フィールドは空白のままにして、アプリケーション・モジュールで構成されているデフォルトのJDBCデータ・ソースを使用します。データ・ソース情報(jdbc/nWindORA05のようなJDBCデータ・ソース名)を入力する必要があるのは、アプリケーション・モジュールで設定されているデータ・ソースとは異なるデータ・ソースを使用する場合のみです。
「AppModuleの定義」フィールドには、oracle.apps.fii.receivables.model.RootAppModule
やsnowflakesales.SnowflakeSalesApp
など、接続先のルート・アプリケーション・モジュールの完全修飾Javaパッケージ名を入力します。
「AppModuleの構成」フィールドには、RootAppModuleShared
やSnowflakeSalesAppLocal
など、接続で使用する構成の名前を入力します。詳細は、「JDeveloperからOracle WebLogic ServerへのアプリケーションEARファイルのデプロイ」のステップ3を参照してください。
「URL」フィールドには、Oracle Business Intelligenceブローカ・サーブレットのURLを次の形式で入力します。
http://host:port/APP_DEPLOYMENT_NAME/obieebroker
例:
http://localhost:7001/MyApp/obieebroker
URLでは大/小文字が区別されます。
「ユーザー名」および「パスワード」フィールドには、Oracle ADFアプリケーションの有効なユーザー名とパスワードを入力します。ユーザー名とパスワードは、Oracle WebLogic Serverセキュリティ・レルムで設定され、認証されている必要があります。
「データ・ソースの選択」画面で情報を入力し終わったら、「次へ」をクリックします。「メタデータ・オブジェクトの選択」画面が表示されます。
インポートするオブジェクトを「データソース・ビュー」で選択し、「>」(選択対象をインポート)ボタンまたは「>>」(すべてインポート)ボタンを使用して「リポジトリ・ビュー」に移動します。「<」(選択対象を削除)ボタンおよび「<<」(すべて削除)ボタンを使用して、「リポジトリ・ビュー」から「データソース・ビュー」にオブジェクトを戻すこともできます。
特定の項目を検索するには、「検索」ボックスにキーワードを入力し、「下方検索」または「上方検索」をクリックします。
すでにインポートされているオブジェクトを含め、すべてのオブジェクトを表示するには、「完全な構造の表示」を選択します。このオプションの選択を解除すると、インポート可能なオブジェクトのみが表示されます。このオプションを選択した場合、すでにインポートされているオブジェクトはグレー表示されます。
このインポートでデータ・ソースへの新しい接続が作成される場合、「データソース・ビュー」から「リポジトリ・ビュー」リストに項目を移動すると、「接続プール」ダイアログが開き、メタデータのインポート・ウィザードの「データ・ソースの選択」画面で入力した値が表示されます。オプションで、「接続プール」ダイアログの「その他」タブをクリックし、「SQL Bypass Database」フィールドにSQL Bypassデータベースの名前を入力します。次に、「OK」をクリックします。SQL Bypassデータベースを指定しない場合は、「取消」をクリックしてください。
詳細は、「SQL Bypassデータベースの指定について」を参照してください。
「終了」をクリックしてウィザードを閉じるか、「次へ」をクリックして「論理モデルへのマップ」画面に進みます。詳細は、「論理モデルへのフレックス・オブジェクト変更の自動マッピング」を参照してください。
インポートが正常に完了したことを確認するには、物理レイヤーのADFデータ・ソースのデータベース・オブジェクトを開きます。次に、物理表を右クリックし、「データの表示」をクリックします。適切なデータが表示されていれば、インポートは正常に完了しています。
ADFアプリケーション内のフレックスフィールドを変更した場合、管理ツールのメタデータのインポート・ウィザードを使用して、Oracle BIリポジトリの物理レイヤーに変更を増分インポートすることができます。
メタデータのインポート・ウィザードには、ADFデータ・ソースの同期機能が含まれており、これにより、オブジェクトに加えられた変更のみをインポートすることができます。同期機能は、新たに結合されたディメンション(KFF)や新規属性(DFFおよびEFF)などの、変更されたオブジェクトを検出し、それらを検索する必要なく、自動的に追加できるようにします。
注意: EFFインポートはOracle BI EE 11.1.1.7.10以降のバージョンには適用されますが、それより前のバージョンでは使用できない場合があります。Oracle BI EE 11.1.1.7.10の詳細は、「11.1.1.7.10の新機能」を参照してください。 |
同期機能により、次のものが検出されます。
列内の変更
表および列の追加や削除
キーと外部キーの追加
新たに結合された表
既存の表に結合された新しい表がインポートされるのは、「メタデータ・オブジェクトの選択」画面で「欠落した結合オブジェクトを自動的に含める」オプションが選択された場合のみであることに注意してください。
インポート後、ADFデータは、表6-1に示されているようにモデル化されます。
表6-1 Oracle BIリポジトリでADFメタデータがどのようにモデル化されるかを示す説明
ADFメタデータ | インポートされたBIメタデータ |
---|---|
ルート・アプリケーション・モジュール |
データベース |
ビュー・オブジェクト |
物理表 |
ビュー・オブジェクト属性 |
物理列 |
ビュー・オブジェクト・キー |
物理キー |
ビュー・リンク |
物理結合 |
データが増分インポートされると、属性のプロパティへの変更が検出されて伝播されることに注意してください。たとえば、属性でそのデータ型が変更された場合、その変更は物理レイヤー・オブジェクトに伝播されます。
ADFデータ・ソースのメタデータを増分インポートするには:
管理ツールで、物理レイヤーのADF OLTPソースの接続プールを右クリックし、「メタデータのインポート」を選択します。
メタデータのインポート・ウィザードが表示されます。手順3の「メタデータ・オブジェクトの選択」から開始されます。
図6-2に、メタデータのインポート・ウィザードの「メタデータ・オブジェクトの選択」画面を示します。
「同期化」をクリックして、インポートする最新の変更をすべて見つけて、自動的に選択します。「同期化」ボタンは、画面の右上隅(「リポジトリ・ビュー」の上)にあります。
選択されたメタデータを確認して、新しい属性を見つけます。
「終了」をクリックしてウィザードを閉じるか、「次へ」をクリックして「論理モデルへのマップ」画面に進みます。詳細は、「論理モデルへのフレックス・オブジェクト変更の自動マッピング」を参照してください。
ADFアプリケーション内のフレックスフィールドへの変更をインポートした後、管理ツールのメタデータのインポート・ウィザードの「論理モデルへのマップ」画面を使用して、「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーに変更を自動的に伝播することができます。
必要な場合は、この手順で、論理表の名前を変更したり、ビュー・オブジェクトを複数の表に分割したり、複数のビュー・オブジェクトを単一の論理表に結合したりすることで、デフォルトのマッピングの動作をオーバーライドできます。
XMLファイルを使用して、この画面に表示されるマッピングの動作を自動化する方法については、「マッピングの動作のカスタマイズ」も参照してください。
フレックス・オブジェクトの変更を論理モデルに自動的にマップするには:
管理ツールで、物理レイヤーのADF OLTPソースの接続プールを右クリックし、「メタデータのインポート」を選択します。
「メタデータ・オブジェクトの選択」画面での入力を完了し、「次へ」をクリックします。この画面の詳細は、「増分インポートを使用したフレックス・オブジェクト変更の伝播」を参照してください。
「論理モデルへのマップ」画面の「表のマッピング」グリッドと「列マッピング」グリッドには、デフォルトのドラッグ・アンド・ドロップの結果が表示されます。デフォルトの動作のままにすることも、ニーズに合せて動作をカスタマイズすることもできます。たとえば、「ビジネス・モデルとマッピング」レイヤーの表と列の名前を変更したり、既存の論理表にマップしたり、論理列を複数のソース列にマップしたりすることができます。
「列マッピング」グリッドには、通常の列に加えて別名列も表示されるので、別名列を含むカスタマイズ済マッピングを処理することができます。「表のマッピング」グリッドにより、単一の物理表を複数の論理表に、およびその逆にマップすることが可能になります。
「表のマッピング」グリッドには、「VOタイプ」列が含まれています。オプションには、「標準」、「ETLのみ」および「問合せのみ」があります。「ETLのみ」のビュー・オブジェクトは、ETLマッピングの拡張のためにのみ存在し、問合せには使用されません。このタイプのインポート済ビュー・オブジェクトを参照する論理表ソースは、「ビジネス・モデルとマッピング」レイヤーでは無効としてマークされます。「問合せのみ」のビュー・オブジェクトは、問合せでのみ使用され、データ・ウェアハウスへの拡張のためにBI拡張機能に渡されることはありません。
「表のマッピング」グリッドには、「階層」列も含まれています。階層型のオブジェクトの場合は、このオプションを選択します。
インポート済の表が、「論理モデルへのマップ」の手順で作成される新しいビジネス・モデルにマップされる場合は、「論理結合の作成」を選択します。つまり、インポート済の論理結合がまだ存在していないときは、このオプションを選択します。必要な論理結合がすでにあるビジネス・モデルに対しては、このオプションを選択しないでください。選択すると、誤って複数の論理結合が作成されてしまいます。
図6-3に、「論理モデルへのマップ」画面を示します。
「終了」をクリックして、ウィザードを閉じます。
「論理モデルへのマップ」画面に表示されるマッピングに対するカスタムのマッピング要件を指定する一連のXMLファイルを作成できます。管理ツールは、それらのXMLファイルを読み取り、指定されたロジックに従ってKFF、DFFおよびEFFセグメントを自動的にマップします。各XMLファイルには、ファイルの適用先のアプリケーションを指定する、appName属性を持つトップレベルの要素があります。
XMLスキーマ・ファイルapp_segment_rule.xsdおよびmapping_rules.xsd内のロジックに従ってXMLファイルを作成する必要があります。これらのファイルは次の場所にあります。
ORACLE_HOME\bifoundation\javahost\lib\obisintegration\biextender
このディレクトリ内の、接頭辞がmapping_rulesおよびapp_segment_rulesであるすべてのXMLファイルは、管理ツールによって、ADFデータ・ソースに対して解析されます。
このディレクトリ内の既存のapp_segment_rules_*.xmlおよびmapping_rules_*.xmlをサンプルとして使用することができます。
app_segment_rule.xsdおよびmapping_rules.xsd XMLスキーマ・ファイルの詳細は、付録H「ADFマッピングのカスタマイズのためのXMLスキーマ・ファイル」を参照してください。
メタデータのインポート・ウィザードの論理マッピングの手順をスキップし、かわりに「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーに物理オブジェクトをドラッグ・アンド・ドロップすることができます。管理ツールでは、ADFデータ・ソースの増分ドラッグ・アンド・ドロップがサポートされています。これにより、物理データベースおよびスキーマ・オブジェクトを既存のビジネス・モデルにドラッグ・アンド・ドロップすることができ、その結果、増分変更に対してのみ更新を行うことが可能になります。
以前のリリースでは、ドラッグ・アンド・ドロップされたすべての物理オブジェクトに対して新しい論理オブジェクトが作成されていたことに注意してください。現行ロジックには、たとえば論理ディメンションおよび階層の自動作成を可能にするなどの、データ・ソース固有のデフォルト・ルールが含まれています。
biserverextender
ユーティリティを使用してADFソースからFlexオブジェクト変更をインポートし、それを「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーにマップできます。この機能は管理ツールを必要としないため、管理ツールを使用できないLinuxシステムおよびUNIXシステムでFlexオブジェクト変更をマップする場合に特に便利です。
biserverextender
ユーティリティを使用するには、既存のADFデータ・ソースの接続プールが含まれているXMLパラメータ・ファイルを先に作成しておく必要があります。biserverextender
ユーティリティでは、既存のADF接続プール名をパラメータ・ファイルから取得し、ADFデータ・ソースを同期化し、ソース内のデプロイ済オブジェクトを更新し、さらに、次のディレクトリにあるデフォルト・ルール・ファイルに基づいて物理メタデータを「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーにマップします。
ORACLE_HOME/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を指定した場合は、ADFソースのデータベース・プロパティに基づいてすべてのDFF、KFFおよびEFFオブジェクトがADFソースから再インポートされ、Oracle BIリポジトリが再同期化されます。
-Sにより、app_segment_rules.xml rulesファイルの次の変更も取り込まれます。
新しいマッピング・ルールのセグメント
新しい別名表の作成
新しい「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>
この項では、一方向および双方向SSLの構成方法について説明します。内容は次のとおりです。
一方向SSLは、Oracle Business IntelligenceとOracle WebLogic Server間の通信を適切に保護するために必要です。
Oracle WebLogic Serverで一方向SSLを構成する手順は次のとおりです。
WebLogic Server管理コンソールのホームページから、「環境」ヘッダー下で「サーバー」をクリックします。
サーバー表で、管理するサーバーの名前を選択します。さらに、「構成」タブの「一般」サブタブで「SSLリスニング・ポート有効」を選択します。
管理ツールを使用して「物理」レイヤーで適切な接続プール・オブジェクトを更新して、URLでhttps:// instead of http://が使用されるようにします。また、SSLポートを使用するポート番号を更新します(デフォルトでは7002)。
オプションとして、双方向SSLを設定して、Oracle Business IntelligenceとOracle WebLogic Server間の通信を保護できます。
双方向SSLを設定してテストする手順は次のとおりです。
クライアント証明書がまだ設定されていない場合は、Oracle BIサーバーにクライアント証明書を作成します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のOracle Business Intelligenceでの証明書とキーの作成に関する項を参照してください。
SSL接続を受け入れて相互SSLを実行するようにADF Oracle WebLogic Serverを変更します。これを行うには、Oracle WebLogic Serverの管理コンソールで次の手順を実行します。
管理コンソールにログインし、「環境」ヘッダー下の「サーバー」をクリックして、サーバー名(例: AdminServer)をクリックします。
「チェンジ・センター」で、「ロックして編集」をクリックして構成の変更を有効にします。
「一般」タブで「SSLリスニング・ポート有効」を選択して、「SSLリスニング・ポート」番号を記録します。次に、「保存」をクリックします。
「SSL」タブを選択し、「詳細設定」を選択します。双方向クライアント証明書の動作に対して、クライアント証明書のリクエストと施行を選択します。次に、「保存」をクリックします。
「キーストア」タブを選択して、使用している信頼キーストアを記録します。たとえば、Demo信頼キーストアが使用されている場合は、その場所とファイル名を記録します。
「変更のアクティブ化」をクリックします。
Oracle BIサーバーのクライアント証明書の認証局(CA)がADF Oracle WebLogic Serverによって信頼されていることを確認します。これを実行するには、次の手順に従います。
Oracle BIサーバーのコンピュータで、クライアント証明書のCAファイルを検索します。手順1で参照した指示を使用してファイルが生成されている場合、そのファイルは「cacert.pem」であり、次の場所にあります。
ORACLE_HOME/user_projects/domains/bifoundation_domain/config/fmwconfig
/biinstances/coreapplication/ssl
このファイルを既知の場所にコピーします。
ADF Oracle WebLogic Serverのコンピュータでコマンド・ウィンドウを開いて、信頼キーストアの場所に移動します。この値は手順2で記録しています。例:
/scratch/user_name/view_storage/user_name_fmw/fmwtools/mw_home/wlserver_10.3/server/lib
前の手順で保存したクライアントCAファイル(たとえば、cacert.pem)をこの場所にコピーします。
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
ADF Oracle WebLogic Serverを再起動します。
Oracle BIリポジトリの「物理」レイヤーを次のように更新します。
管理ツールで、「物理」レイヤーで最初のADF接続プール・オブジェクトを開いて、「その他」タブを選択します。
「URL」フィールドを、httpsプロトコルとステップ2でメモしておいたSSLポートを使用するように更新して、「OK」をクリックします。
ADF接続プール・オブジェクトを追加するたびに、前の2つの手順を繰り返します。
リポジトリを保存して、Oracle BIサーバーを再起動します。
SSLを使用するようにOracle BI ServerのODBC DSNを構成します。たとえば、Windowsの場合は次のようにします。
「ODBC Data Source Administrator」を開いて、「System DSN」タブを選択します。
Oracle BIサーバーのDSNをダブルクリックします。このDSNは「coreapplication_OH」で始まります。
「SSLの使用」を選択します。
「次へ」をクリックし、再度「次へ」をクリックして「終了」をクリックします。
選択したOracle BI Serverクライアント(nqcmdなど)を使用して、ADFに対して問合せを実行します。これで、Oracle BI Serverが相互SSL/クライアント証明書を使用してADF Oracle WebLogic Serverと通信するようになります。
一部のADFアプリケーションには、EFFECTIVE_DATEやTREE_VERSIONなど、ApplicationModuleで定義されたカスタム・プロパティがあります。これらのカスタム・プロパティをアプリケーション問合せに含めると、Oracle BIサーバーからADFアプリケーションにカスタム・プロパティが渡されます。この機能を有効にするには、管理ツールを使用して、カスタム・プロパティを静的リポジトリ変数として登録する必要があります。
この機能を使用して、すべてのカスタム・プロパティをADFアプリケーションに渡せるわけではありません。EFFECTIVE_DATEやTREE_VERSIONなどの特定のカスタム・プロパティのみがサポートされています。
カスタム・プロパティを登録するには:
管理ツールでリポジトリを開きます。
「管理」を選択し、「変数」を選択します。
「アクション」→「新規」→「リポジトリ」→「変数」を選択します。
「名前」フィールドにADF_PARAM_LISTと入力します。変数の名前としてカスタム・プロパティの名前を入力しないでください。
「タイプ」が「静的」であることを確認します。
「デフォルトのイニシャライザ」フィールドに、カスタム・プロパティの名前を文字列として入力します。カスタム・プロパティが複数ある場合は、カンマ区切りリストとして入力してください。例:
'PARAM_EFFECTIVE_DATE'
'PARAM_EFFECTIVE_DATE, ApplicationIdBind, KeyFlexfieldCodeBind'
「OK」をクリックします。
リポジトリを保存して閉じます。
カスタム・プロパティをリポジトリ変数として登録したら、それらの変数を問合せに含めることができます。例:
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データ・ソース内にある場合、データ・ソースに問い合せて、翻訳されたデータにアクセスできます。分析を作成する際に使用するようにプレゼンテーション列を構成するには、管理ツールを使用します。
この項には次のトピックが含まれます:
ラベルは、プロンプトや表ヘッダーで使用され、データ項目の値の前に表示されます。ツールチップは、ユーザーが項目の上にマウス・ポインタを移動したときに表示されるテキストです。ビュー・オブジェクトの各属性には、ラベルとツールチップが関連付けられています。ビュー・オブジェクトは、開発者がSQL問合せの結果を簡単に操作できるようにするためのOracle Application Development Frameworkコンポーネントです。UIヒントを伝播すると、管理ツールのプレゼンテーション列でラベルとツールチップをそれぞれカスタム表示名およびカスタム説明として使用できます。
図6-4に、Oracle JDeveloperの「属性の編集」ダイアログの「ラベル・テキスト」および「ツールチップ・テキスト」オプションを示します。
図6-4 ラベルおよびツールチップ・オプションに関連するJDeveloperの「属性の編集」ダイアログ
セッション変数名は、Oracle WebLogic ServerでOracle BI Enterprise Editionブローカ・サーブレットによって次の形式で生成されます。
ADF_UI Hint Type_Database Name_View Object Name_Attribute's Name
説明:
UI Hint Typeは、セッション変数が表すUIヒントのタイプに応じて、LABELまたはTOOLTIPです。
Database Nameは、XML問合せのADFQuery要素の「database」属性の値です。一重引用符(')、二重引用符(")、スペースなどの特殊文字はアンダースコア文字に置き換えられます。
View Object Nameは、属性が属するビュー・オブジェクトの名前です。Oracle ADFでは、名前に特殊文字およびスペースを使用することは禁止されています。
Attribute's Nameは、セッション変数が表す属性の名前です。Oracle ADFでは、名前に特殊文字およびスペースを使用することは禁止されています。
セッション変数名はすべて大文字です。たとえば、例6-3の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つの論理列が複数の物理列にマップされている場合があります。無効になっていない論理表ソースのみが検索されます。
非トリビアルな式(物理列名だけでないもの)を使用して、論理列をマップする論理表ソースを検索しないでください。論理表ソースが検索されない場合、物理列は見つかりません。
論理表ソースの残りの順序付きリストから、最初の論理表ソースによってマップされている物理列を調べます。物理列はビュー・オブジェクト属性にマップされている必要があります。つまり、物理列は、タイプOracleADF11gの物理データベースの一部である必要があります。
この条件を満たす場合、UIヒントを取得するための物理列が見つかります。
この条件を満たさない場合、ビュー・オブジェクト属性にマップされている物理列が見つかるまで、引き続き、次の論理表ソースによってマップされている物理列を調べます。
すべての論理表ソースを検索しても条件を満たさなかった場合、物理列は見つかりません。
これらのルールを使用して、UIヒントを取得するための物理列が見つかると、事前に決定されたネーミング・スキームに基づく名前を持つセッション変数がカスタム表示名またはカスタム説明に移入されます。詳細は、「UIヒントのセッション変数ネーミング・スキームについて」を参照してください。
これらのルールを使用して、UIヒントを取得するための物理列が見つからなかった場合、「ADFラベルの生成」および「ADFツールチップの生成」オプションは、無効になった状態で右クリック・メニューに表示されます。
これらのルールを使用して見つかった物理列を使用するかわりに、初期化ブロックでXMLコードを使用して、独自のセッション変数をADF UIヒントで初期化することもできます。その場合、「カスタム表示名」および「カスタム説明」フィールドにこれらのセッション変数を手動で入力する必要があります。詳細は、「初期化ブロックでのXMLコードの使用によるUIヒントの問合せ」を参照してください。
「表示名の外部化」→「ADFラベルの生成」および「記述子の外部化」→「ADFツールチップの生成」オプションを使用してOracle ADFのUIヒントのセッション変数名が正常に生成されると、Oracle BIプレゼンテーション・サービスがセッション中に問合せを実行したときに、セッション変数が作成され、初期化されます。パフォーマンス上の理由から、セッションのログオン段階では、変数の作成と初期化は行われません。かわりに、「遅延実行の許可」機能を使用して、セッション内で特定の問合せで必要になったときに、変数が作成され、初期化されます。
プレゼンテーション・サービスがODBC経由でカスタム表示名およびカスタム説明を問い合せると、Oracle BIサーバーによって、関連するセッション変数が作成されているかどうかがチェックされます。それらが作成されていなければ、Oracle BIサーバーによって適切なXML問合せが動的に生成されて(「初期化ブロックでのXMLコードの使用によるUIヒントの問合せ」を参照)、Oracle ADFデータ・ソースのUIヒントが問い合されます。そのUIヒントを使用して、セッション変数が作成され、初期化されます。最適化として、Oracle BIサーバーはビュー・オブジェクトごとにUIヒントを問い合せます。つまり、Oracle BIサーバーがビュー・オブジェクトの属性のUIヒントを必要とする場合、そのビュー・オブジェクトの下にある全属性のUIヒントに対して問合せが行われ、セッション変数を通して伝播されます。
次の例では、分析の作成時にOracle ADFデータ・ソースのUIヒントを使用する方法について説明します。
次の前提条件を満たしている必要があります。
Oracle ADFデータ・ソースでUIヒントが構成されています。
管理ツールでOracle ADFデータ・ソースの作業用リポジトリが構成されています。
分析の作成時にOracle ADFデータ・ソースのUIヒントを使用するには:
「LastName」というプレゼンテーション列がリポジトリに含まれているとします。また、「プレゼンテーション列」ダイアログの「一般」タブで、「カスタム表示名」および「カスタム説明」フィールドは選択されていません。
プレゼンテーション・レイヤーの列を右クリックし、まず「表示名の外部化」→「ADFラベルの生成」を選択し、次に「記述子の外部化」→「ADFツールチップの生成」を選択して、「カスタム表示名」および「カスタム説明」フィールドに移入する文字列を生成します。
プレゼンテーション表の右クリック・メニューからこれらのオプションを使用して、その表のすべての列について文字列を生成することもできます。
UIヒントを表示します。
Oracle Business Intelligenceにサイン・インします。
UIヒントを取得したサブジェクト・エリアを使用して、新しい分析を作成します。
「サブジェクト・エリア」ペインで、Employeeフォルダを開いて、Oracle ADFデータ・ソースから伝播されたUIヒントを表示します。
LastName列は、「Last Name」(Oracle ADFデータ・ソースのラベル値)と表示されます。その列の上にマウス・ポインタを移動すると、「This is the employee's last name」(Oracle ADFデータ・ソースのツールチップ値)というヒントが表示されます。
分析の作成については、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』を参照してください。
前の項で説明した自動化されたシステムを使用する方法とは別に、初期化ブロックでSQL文のかわりに専用のXMLコードを使用して、1つのリポジトリおよびサブジェクト・エリア内で、UIヒントをデータ・ソースに問い合せることもできます。mode、databaseおよびlocaleという3つの属性を持つADFQuery要素を使用します。この要素には、ゼロ個以上の子要素が必要です。要素の構文は次のとおりです。
<?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ヒントを取得します。
例6-1 すべてのビュー・オブジェクトのラベルの問合せ
すべてのビュー・オブジェクトのすべての属性の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>
例6-2 特定のビュー・オブジェクトのツールチップの問合せ
特定のビュー・オブジェクトのすべての属性の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>
例6-3 特定の属性の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>
初期化ブロックを構成したら、該当するプレゼンテーション列について「カスタム表示名」および「カスタム説明」テキスト・フィールドにセッション変数名を手動で入力する必要があります。
「分析の作成時にOracle ADFデータ・ソースのUIヒントを使用する例」の手順に従います。ただし、最初の手順を次の手順に置き換えてください。
管理ツールでセッション初期化ブロックを作成します。
セッション変数初期化ブロック・データ・ソースダイアログで、初期化文字列を入力します。
この例では、初期化ブロックは、EmployeesViewというビュー・オブジェクトのすべての属性のラベルとツールチップを問い合せます。図6-5に、適切なOracle ADF UIヒントの問合せを含むセッション変数初期化ブロックの設定を示します。"My_orclADF"."Connection Pool"は、Oracle ADFデータ・ソースの接続プールです。
図6-5 Oracle ADF UIヒントの問合せを含むセッション変数初期化ブロック・データ・ソースの設定
「セッション変数初期化ブロック」ダイアログで、変数ターゲットとして「行単位の初期化」を選択します。
「テスト」をクリックして、Oracle ADFデータ・ソースに対する問合せをテストします。
結果ウィンドウの最初の列には、ネーミング・スキームを使用して生成されたセッション変数名が表示されます。2番目の列には、Oracle ADFデータ・ソースのラベル値およびツールチップ値が表示されます。
ネーミング・スキームについては、「UIヒントのセッション変数ネーミング・スキームについて」を参照してください。
プレゼンテーション列のカスタム表示名と説明を構成します。
EmployeesViewビュー・オブジェクトのUIヒントを使用できるプレゼンテーション表を検索するために、この例では、管理ツールの「リポジトリの問合せ」機能を使用します。
物理表(EmployeesViewなど)を右クリックし、メニューから「問合せ関連オブジェクト」→「プレゼンテーション」→「プレゼンテーション表」を選択します。
「問合せ関連オブジェクト」ダイアログに、関連するすべてのプレゼンテーション表が表示されます。
この例では、Employeeプレゼンテーション表の列のカスタム表示名とカスタム説明を設定します。
必要なプレゼンテーション表を選択し、「移動」をクリックします。
選択したプレゼンテーション表が表示されます。
プレゼンテーション表を開いて、プレゼンテーション列を表示します。
LastNameプレゼンテーション列をダブルクリックして、「プレゼンテーション列」ダイアログを表示します。
「カスタム表示名」を選択し、次のような値を入力します。
VALUEOF(NQ_SESSION.ADF_LABEL_MY_ORCLADF_EMPLOYEESVIEW_LASTNAME)
「カスタム説明」を選択し、次のような値を入力します。
VALUEOF(NQ_SESSION.ADF_TOOLTIP_MY_ORCLADF_EMPLOYEESVIEW_LASTNAME)
「OK」をクリックします。
変更内容をリポジトリに保存し、Oracle BIサーバーを再起動します。