Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド 11g リリース1 (11.1.1) B63028-01 |
|
前 |
次 |
Oracle Business Intelligenceでは、データ・ソースとしての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 Presentation Servicesにメタデータをリロードしたら、Oracle BIアンサーにログインし、列をドラッグ・アンド・ドロップして経費アプリケーションのデータに関するレポートを生成できます。たとえば、列を選択して、カテゴリ別にまとめた経費のレポートを表示できます。
インポート時には、必要な物理表と複合結合が自動的に作成されます。インスタンス(ViewObjectおよびViewLink)がOracle Business Intelligenceにインポートされます。問合せの実行時に、これらのインスタンスから取得された定義を使用して、ADFでCompositeVOが作成されます。これらの複合結合は「ダミー結合」で、Oracle Business Intelligenceでは実行されません。これらは、ADFモデルでビュー・オブジェクトのペアを接続するViewLinkインスタンスを示します。物理表と複合結合の名前は、それぞれViewObjectインスタンスとViewLinkインスタンスの完全修飾名に対応します。この変換によって、ADFモデルでApplicationModuleの任意のネストが可能になります。
ADFデータ・ソースの「複合結合」ダイアログの「外部式」フィールドには、意味のない任意の式が表示されます。このフィールドは、将来のリリース用に予約されています。
自動的に生成される結合の名前は、ViewObjectName1_ViewObjectName2(例: AppModuleAM.AP_VO1_AppModuleAM_BU_VO1)のようなネーミング規則に従います。ViewLinkインスタンスの名前は、「複合結合」ダイアログの「ViewLink名」フィールドに表示されます。
複合結合が自動的に作成されるのは、ViewLinkインスタンスが使用可能な場合のみです。ViewLink定義について作成されるわけではありません。ViewLink定義を使用する結合は、手動で作成する必要があります。そのためには、「複合結合」ダイアログの「ViewLink名」フィールドでViewLink定義の名前を指定します。
また、ApplicationModuleでカスタム・プロパティが定義されている場合、Oracle Business Intelligenceにおける個々のApplicationModuleのVO間の結合は、ADFからのインポート時に作成されます。次の点に注意してください。
プロパティ名の形式は、BI_VIEW_LINK_property_nameです。
プロパティ値の形式は、source_VO_instance_name, ViewLink_definition_name, destination_VO_instance_nameです。
必ず、ソースおよび宛先VOの完全修飾VOインスタンス名とViewLink定義の完全修飾パッケージ名を使用してください。
Oracle BIサーバーでは実行時にコンポジット・ビュー・オブジェクトを自動的に作成できるため、非定型のBI問合せはADFレイヤーの複数のビュー・オブジェクトを参照できます。パフォーマンスを向上させるため、BI問合せに必要なプロジェクション列、フィルタおよび結合が組み込まれたSQL Bypass問合せが生成されます。
SQL Bypass機能はデータベースに直接問い合せるため、可能な場合は集計やその他の変換がプッシュ・ダウンされ、Oracle Business Intelligenceにストリームされて処理されるデータの量が削減されます。SQL Bypassデータベースを使用すると、Oracle BIサーバーはADFビジネス・コンポーネント・データ・ソースからVO問合せを取得し、集計とともに論理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に公開するAMとVOを含む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>要素内の内容を次の内容に置き換えます。
<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サーブレットが使用されるようになります。
次の手順に従って、アプリケーションの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ビジネス・コンポーネント・データ・ソースおよび接続プールをすでに定義している場合は、物理レイヤーの接続プールを右クリックし、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが開き、情報があらかじめ入力された「データ・ソースの選択」画面が表示されます。 |
図5-1に、メタデータのインポート・ウィザードを示します。
メタデータのインポート・ウィザードの「論理モデルへのマップ」画面および「ウェアハウスに公開」画面は、今後のリリースで使用するために予約されています。これらの画面の機能の更新については、Oracle Fusion Middlewareリリース・ノートの「Oracle Business Intelligence」の章を参照してください。
「データ・ソースの選択」画面の「接続タイプ」フィールドで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アプリケーションには、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ビジネス・コンポーネント・データ・ソース内にある場合、データ・ソースに問い合せて、翻訳されたデータにアクセスできます。分析を作成する際に使用するようにプレゼンテーション列を構成するには、管理ツールを使用します。
この項の項目は次のとおりです。
ラベルは、プロンプトや表ヘッダーで使用され、データ項目の値の前に表示されます。ツールチップは、ユーザーが項目の上にマウス・ポインタを移動したときに表示されるテキストです。ビュー・オブジェクト(VO)の各属性には、ラベルとツールチップが関連付けられています。ビュー・オブジェクトは、開発者がSQL問合せの結果を簡単に操作できるようにするためのOracle Application Development Frameworkコンポーネントです。UIヒントを伝播すると、管理ツールのプレゼンテーション列でラベルとツールチップをそれぞれカスタム表示名およびカスタム説明として使用できます。
図5-2に、Oracle JDeveloperの「属性の編集」ダイアログの「ラベル・テキスト」および「ツールチップ・テキスト」オプションを示します。
図5-2 ラベルおよびツールチップ・オプションに関連するJDeveloperの「属性の編集」ダイアログ
セッション変数名は、Oracle WebLogic ServerでOracle BI Enterprise Editionブローカ・サーブレットによって次の形式で生成されます。
ADF_UI Hint Type_Database Name_VO's Name_Attribute's Name
説明:
UI Hint Typeは、セッション変数が表すUIヒントのタイプに応じて、LABELまたはTOOLTIPです。
Database Nameは、XML問合せのADFQuery要素の「database」属性の値です。一重引用符(')、二重引用符(")、スペースなどの特殊文字はアンダースコア文字に置き換えられます。
VO's Nameは、属性が属するビュー・オブジェクトの名前です。Oracle ADFでは、名前に特殊文字およびスペースを使用することは禁止されています。
Attribute's Nameは、セッション変数が表す属性の名前です。Oracle ADFでは、名前に特殊文字およびスペースを使用することは禁止されています。
セッション変数名はすべて大文字です。たとえば、例5-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つの論理列が複数の物理列にマップされている場合があります。無効になっていない論理表ソースのみが検索されます。
非トリビアルな式(物理列名だけでないもの)を使用して、論理列をマップする論理表ソースを検索しないでください。論理表ソースが検索されない場合、物理列は見つかりません。
論理表ソースの残りの順序付きリストから、最初の論理表ソースによってマップされている物理列を調べます。物理列はVO属性にマップされている必要があります。つまり、物理列は、タイプOracleADF11gの物理データベースの一部である必要があります。
この条件を満たす場合、UIヒントを取得するための物理列が見つかります。
この条件を満たさない場合、VO属性にマップされている物理列が見つかるまで、引き続き、次の論理表ソースによってマップされている物理列を調べます。
すべての論理表ソースを検索しても条件を満たさなかった場合、物理列は見つかりません。
これらのルールを使用して、UIヒントを取得するための物理列が見つかると、事前に決定されたネーミング・スキームに基づく名前を持つセッション変数がカスタム表示名またはカスタム説明に移入されます。詳細は、「UIヒントのセッション変数ネーミング・スキームについて」を参照してください。
これらのルールを使用して、UIヒントを取得するための物理列が見つからなかった場合、「ADFラベルの生成」および「ADFツールチップの生成」オプションは、無効になった状態で右クリック・メニューに表示されます。
これらのルールを使用して見つかった物理列を使用するかわりに、初期化ブロックでXMLコードを使用して、独自のセッション変数をADF UIヒントで初期化することもできます。その場合、「カスタム表示名」および「カスタム説明」フィールドにこれらのセッション変数を手動で入力する必要があります。詳細は、「初期化ブロックでのXMLコードの使用によるUIヒントの問合せ」を参照してください。
「表示名の外部化」→「ADFラベルの生成」および「記述子の外部化」→「ADFツールチップの生成」オプションを使用してOracle ADFのUIヒントのセッション変数名が正常に生成されると、Oracle BI Presentation Servicesがセッション中に問合せを実行したときに、セッション変数が作成され、初期化されます。パフォーマンス上の理由から、セッションのログオン段階では、変数の作成と初期化は行われません。かわりに、「遅延実行の許可」機能を使用して、セッション内で特定の問合せで必要になったときに、変数が作成され、初期化されます。
プレゼンテーション・サービスがODBC経由でカスタム表示名およびカスタム説明を問い合せると、Oracle BIサーバーによって、関連するセッション変数が作成されているかどうかがチェックされます。セッション変数が作成されていれば、適切なXML問合せが動的に生成されて(「初期化ブロックでのXMLコードの使用によるUIヒントの問合せ」を参照)、Oracle ADFデータ・ソースのUIヒントが問い合されます。そのUIヒントを使用して、セッション変数が作成され、初期化されます。最適化として、Oracle BIサーバーでは、VOごとにUIヒントが問い合されます。つまり、Oracle BIサーバーがVOの属性のUIヒントを必要とする場合、そのVOのすべての属性の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[{VO Name}]]></ViewObject> <Attribute> <ViewObject><![CDATA[{Attribute VO Name}]]></ViewObject> <Name><![CDATA[{Attribute Name}]]></Name> </Attribute> </ADFQuery>
説明:
{Mode}では、問い合せる内容を指定します。
属性のラベルを問い合せる場合はlabel
属性のツールチップを問い合せる場合はtooltip
属性のラベルとツールチップを問い合せる場合はui_hints
{Database Name}
Oracle ADFデータ・ソースの属性に対応する物理列を含む、管理ツールの物理データベース・オブジェクトの名前を使用します。
{VO Name}
すべての属性のUIヒントを取得する場合、ビュー・オブジェクトの名前を使用します。
{Attribute VO Name}
属性を含むビュー・オブジェクトの名前を使用します。
{Attribute Name}
属性のUIヒントを取得する場合、関連するビュー・オブジェクトに属する属性の名前を使用します。
例5-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>
例5-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>
例5-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というビュー・オブジェクトのすべての属性のラベルとツールチップを問い合せます。図5-3に、適切なOracle ADF UIヒントの問合せを含むセッション変数初期化ブロックの設定を示します。"My_orclADF"."Connection Pool"は、Oracle ADFデータ・ソースの接続プールです。
図5-3 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サーバーを再起動します。