Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド 12c (12.2.1.3.0) E90110-03 |
|
前 |
次 |
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 (ビュー・オブジェクト)が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_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ビジネス・コンポーネントを構成する方法について説明します。
「システム要件と動作保証」を参照してください。
この項では、次の項目について説明します。
Oracle Business Intelligenceとともに使用するADFビジネス・コンポーネントを構成するには、WebLogic Server、Oracleアプリケーション・コア(Webapp)およびOracle JRFをサポートするADFビジネス・コンポーネントのWebLogicドメインを作成する必要があります。
ドメイン・ディレクトリのコマンドライン・スクリプトを使用して、そのドメインのOracle WebLogic Serverを起動および停止できます。たとえば、Windowsの場合は次のコマンドを使用します。
BI_DOMAIN\bin\startWebLogic.cmd
BI_DOMAIN\bin\stopWebLogic.cmd
Business Intelligenceとともに使用するADFビジネス・コンポーネントを構成するには、OBIEEBrokerをインストールし、その物理ファイルまたはディレクトリをOracle WebLogic Serverに認識させ、起動する必要があります。
このプロセスは、OBIEEBrokerライブラリをOracle WebLogic Serverの共有ライブラリとしてデプロイします。
ライブラリをインストールして起動すると、デプロイされた他のモジュールはライブラリを参照できます。OBIEEBroker共有ライブラリは、Oracle Business Intelligenceのインストールの一部としてインストールされます。
Oracle Business Intelligenceとともに使用するADFビジネス・コンポーネントを構成するには、アプリケーションEARファイルをJDeveloperからOracle WebLogic Serverにデプロイする必要があります。
この手順を開始する前に、次の条件を満たしていることを確認してください。
Oracle Business Intelligenceに公開するApplicationModules
とビュー・オブジェクトを含むADFモデル・プロジェクトを作成しています。
OBIEEBroker
をOracle WebLogic Serverの共有ライブラリとしてデプロイしています。「共有ライブラリとしてのOBIEEBrokerのデプロイ」を参照してください。
Oracle WebLogic Serverが実行中です。
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」をクリックします。
「プロジェクト」ウィンドウでモデル・プロジェクトを右クリックし、「デプロイ」から「your_deployment_profile_nameのデプロイ」を選択するか、「ファイルにデプロイ」を選択してデプロイメント・ウィザードを使用します。
プロジェクトがデプロイされると、モデル・プロジェクトのデプロイ・ディレクトリに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ファイルのデプロイメント・プロファイルを開きます。
左ペインで「プロファイルの依存性」を選択してから、右ペインでモデル・プロジェクトの共通および中間層デプロイメント・プロファイルを選択します。
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_deployment_profile_nameのデプロイ」を選択して、グローバル・アプリケーションによってEARファイルをOracle WebLogic Serverにデプロイします。
表示されるダイアログで「アプリケーション・サーバーへのデプロイ,」を選択し、ウィザードの指示に従います。
アプリケーションがデプロイされていることを確認するには、WebLogic Server管理コンソールにログインし、デプロイされたリソースの下の「デプロイメント」をクリックします。リストにアプリケーション(例: app__name)が表示されていることを確認します
Oracle Business Intelligenceで使用する予定のADFビジネス・コンポーネントを構成する必要があります。
Oracle Business Intelligenceとともに使用するADFビジネス・コンポーネントを構成するには、アプリケーションに対してOracle WebLogic ServerでJDBCデータ・ソースを設定する必要があります。
BI_DOMAIN\bin\startWebLogic.cmd
を実行します。http://localhost:7001/console
に移動します。java:comp/env
コンテキスト接頭辞は付けません(例: jdbc/ApplicationDBDS
)。また、ウィザードを終了する前に、データ・ソースをデプロイするターゲットを必ず選択してください。ADFデータ・ソースからOracle Business Intelligenceにメタデータをインポートする各種の方法があります。
ADFソースからメタデータをインポートする前に、ADFデータ・ソースの設定のステップを完了する必要があります
この項では、次の項目について説明します。
メタデータのインポート・ウィザードを使用して、Oracle Application Development Framework (ADF)データ・ソースから初期インポートを実行できます。
メタデータのインポート・ウィザードで、「検索」にキーワードを入力して、特定のアイテムを検索できます。
すでにインポートされているオブジェクトを含め、すべてのオブジェクトを表示するには、「完全な構造の表示」を使用します。このオプションの選択を解除すると、インポート可能なオブジェクトのみが表示されます。このオプションを選択した場合、すでにインポートされているオブジェクトはグレー表示されます。
このインポートでデータ・ソースへの新しい接続が作成される場合、「データソース・ビュー」から「リポジトリ・ビュー」リストに項目を移動すると、「接続プール」ダイアログが開き、メタデータのインポート・ウィザードの「データ・ソースの選択」ページで入力した値が表示されます。SQL Bypass Database」フィールドの名前を指定できます。
「論理モデルへのフレックス・オブジェクト変更の自動マッピング」を参照してください。
「JDeveloperからOracle WebLogic ServerへのアプリケーションEARファイルのデプロイ」の、アプリケーション・モジュールの構成を新しく作成する方法を参照してください。
「SQL Bypassデータベースの指定について」を参照してください。
ADFアプリケーション内のフレックスフィールドを変更した場合、Oracle BI管理ツールのメタデータのインポート・ウィザードを使用して、Oracle BIリポジトリの物理レイヤーに変更を増分インポートできます。
メタデータのインポート・ウィザードには、ADFデータ・ソースの同期機能が含まれており、これにより、オブジェクトに加えられた変更のみをインポートすることができます。同期機能は、新たに結合されたディメンション(KFF)や新規属性(DFFおよびEFF)などの、変更されたオブジェクトを検出し、それらを検索する必要なく、自動的に追加できるようにします。
同期機能により、次のものが検出されます。
列内の変更
表および列の追加や削除
キーと外部キーの追加
新たに結合された表
既存の表に結合された新しい表がインポートされるのは、「メタデータ・オブジェクトの選択」画面で「欠落した結合オブジェクトを自動的に含める」オプションが選択された場合のみです。
インポート後、ADFデータは、表に示されているようにモデル化されます。
ADFメタデータ | インポートされたBIメタデータ |
---|---|
ルート・アプリケーション・モジュール |
データベース |
ビュー・オブジェクト |
物理表 |
ビュー・オブジェクト属性 |
物理列 |
ビュー・オブジェクト・キー |
物理キー |
ビュー・リンク |
物理結合 |
注意:
データが増分インポートされると、属性のプロパティへの変更が検出されて伝播されます。たとえば、属性でそのデータ型が変更された場合、その変更は物理レイヤー・オブジェクトに伝播されます。
メタデータを物理レイヤーの既存のデータベースにインポートする場合、COUNT_STAR_SUPPORTEDオプションが「データベース・プロパティ」ダイアログの「機能」タブで選択されていることを確認します。COUNT_STAR_SUPPORTEDオプションを選択しないでメタデータをインポートすると、「行数の更新」オプションがデータベースの物理表の右クリック・メニューに表示されなくなります。
「論理モデルへのフレックス・オブジェクト変更の自動マッピング」を参照してください。ADFアプリケーション内のフレックスフィールドへの変更をインポートした後、Oracle BI管理ツールのメタデータのインポート・ウィザードの「論理モデルへのマップ」画面を使用して、「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーに変更を自動的に伝播できます。
デフォルトのマッピングの動作をオーバーライドするには、論理表の名前を変更するか、ビュー・オブジェクトを複数の表に分割するか、複数のビュー・オブジェクトを単一の論理表に結合します。
「マッピングの動作のカスタマイズ」を参照してください。
デフォルトの動作のままにすることも、ニーズに合せて動作をカスタマイズすることもできます。たとえば、「ビジネス・モデルとマッピング」レイヤーの表と列の名前を変更したり、既存の論理表にマップしたり、論理列を複数のソース列にマップしたりすることができます。「列マッピング」グリッドには、通常の列に加えて別名列も表示されるので、別名列を含むカスタマイズ済マッピングを処理できます。「表のマッピング」グリッドにより、単一の物理表を複数の論理表に、およびその逆にマップすることが可能になります。
「表のマッピング」グリッドには、「VOタイプ」列が含まれています。オプションには、「標準」、「ETLのみ」および「問合せのみ」があります。「ETLのみ」のビュー・オブジェクトは、ETLマッピングの拡張のためにのみ存在し、問合せには使用されません。このタイプのインポート済ビュー・オブジェクトを参照する論理表ソースは、「ビジネス・モデルとマッピング」レイヤーでは無効としてマークされます。「問合せのみ」のビュー・オブジェクトは、問合せでのみ使用され、データ・ウェアハウスへの拡張のためにBI拡張機能に渡されることはありません。
「表のマッピング」グリッドには、階層に使用する「階層」列も含まれています。
インポート済の表が、「論理モデルへのマップ」のステップで作成される新しいビジネス・モデルにマップされる場合は、「論理結合の作成」を選択します。論理結合を必要なだけ使用している場合は、誤って複数の論理結合が作成されないように、「論理結合の作成」オプションを選択しないでください。
増分インポートを使用したフレックス・オブジェクト変更の伝播を参照してください。
論理モデルに自動マッピングを設定する場合、「論理モデルへのマップ」画面に表示されるマッピングに対するカスタム要件を指定する一連の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ユーティリティを使用して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および双方向SSLを構成できます。
この項では、次の項目について説明します。
一方向SSLは、Oracle Business IntelligenceとOracle WebLogic Server間の通信を適切に保護するために必要です。
双方向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
一部のADFアプリケーションには、EFFECTIVE_DATEやTREE_VERSIONなど、ApplicationModuleで定義されたカスタム・プロパティがあります。
これらのカスタム・プロパティをアプリケーション問合せに含めると、Oracle BIサーバーからOracle ADFアプリケーションにカスタム・プロパティが渡されます。
この機能を使用して、すべてのカスタム・プロパティをOracle ADFアプリケーションに渡せるわけではありません。EFFECTIVE_DATE
やTREE_VERSION
などの特定のカスタム・プロパティのみがサポートされています。
カスタム・プロパティをリポジトリ変数として登録したら、それらの変数を問合せに含めることができます。例:
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データ・ソース内にある場合、データ・ソースに問い合せて、翻訳されたデータにアクセスできます。分析を作成する際に使用するようにプレゼンテーション列を構成するには、管理ツールを使用します。
この項では、次の項目について説明します。
UIヒントを伝播すると、Oracle BI管理ツールのプレゼンテーション列でラベルとツールチップをそれぞれカスタム表示名およびカスタム説明として使用できます。
ラベルは、プロンプトや表ヘッダーで使用され、データ項目の値の前に表示されます。ツールチップは、ユーザーが項目の上に移動したときに表示されるテキストです。ビュー・オブジェクトの各属性には、ラベルとツールチップが関連付けられています。ビュー・オブジェクトは、開発者がSQL問合せの結果を簡単に操作できるようにするためのOracle ADFコンポーネントです。
この図は、JDeveloperの「属性の編集」ダイアログにある「ラベル・テキスト」および「ツールチップ・テキスト」オプションを示しています。
セッション変数ネーミング・スキームについて学習します。
セッション変数名は、Oracle WebLogic ServerでOracle BI EEブローカ・サーブレットによって次の形式で生成されます。
ADF_UI Hint Type_Database Name_View Object Name_Attribute's Name
説明:
UI Hint TypeはLABELまたは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ヒントの問合せ」を参照してください。
セッション変数が作成される時期について学習します。
「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データ・ソースの作業用リポジトリが構成されています。
初期化ブロックでSQL文のかわりに専用のXMLコードを使用して、1つのリポジトリおよびサブジェクト領域内で、UIヒントをデータ・ソースに問い合せることもできます。
「UIヒントのセッション変数ネーミング・スキームについて」を参照してください。
初期化ブロックを構成したら、該当するプレゼンテーション列について「カスタム表示名」および「カスタム説明」テキスト・フィールドにセッション変数名を手動で入力する必要があります。
分析の作成時のOracle ADFデータ・ソースのUIヒントの使用の手順に従います。ただし、最初のステップを次のステップに置き換えてください。
管理ツールでセッション初期化ブロックを作成します。「セッション変数の作成」を参照してください。
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>