ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Edition開発者ガイド
11g Release 1 (11.1.1)
B63032-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

1 ADFアプリケーションへのビジネス・インテリジェンス・オブジェクトの埋込み

この章では、分析、ダッシュボードおよびスコアカード・コンポーネントなどのOracle BI EEオブジェクトを、Oracle ADFアプリケーションに追加する方法について説明します。また、オブジェクトを受け入れるためのADFプロジェクトの準備方法、ADFへのオブジェクトの連結、およびアプリケーション保護のための偽装ユーザーの使用について説明します。

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

1.1 アプリケーションへのビジネス・インテリジェンス・オブジェクトの埋込みの概要

ビジネス・インテリジェンス・オブジェクトを埋め込むことで、Oracle BIプレゼンテーション・カタログにアクセスし、分析やダッシュボードなどのOracle BI EEオブジェクトを選択して、ADFページに追加することができます。多くの場合、ADFページに追加するオブジェクトは、ADFページおよびアプリケーションのテーマにあわせて作成されます。ADFページにオブジェクトを追加する場合、ページにはオブジェクトへの参照が含められ、オブジェクトのコピーは含められません。オブジェクトが変更され、Oracle BIプレゼンテーション・カタログに保存されると、フォームの実行時に、変更内容がすべてADFアプリケーションに表示されます。

ビジネス・インテリジェンス・オブジェクトをADFページに追加した後、それをADFページの他のリージョンに連結できます。オブジェクトのフィルタまたはプロンプト・パラメータを設定することもできます。アプリケーションのデプロイ後、セキュリティを設定して、プレゼンテーション・サービス接続を変更することもできます。

ビジネス・インテリジェンス論理SQLビュー・オブジェクトを使用すると、Oracle Business Intelligenceサーバーにアクセスして、ネイティブのADFコンポーネントをOracle BI EEデータにバインドするADFアプリケーションを作成できます。この方法によるADFページへのビジネス・インテリジェンス・データの追加の詳細は、第4章「Oracle BI EE論理SQLビュー・オブジェクトの使用」を参照してください。

1.2 ADFページに追加できるビジネス・インテリジェンス・オブジェクト

ADFアプリケーションに追加できるビジネス・インテリジェンス・オブジェクトは、Oracle BIプレゼンテーション・カタログのフォルダに格納されています。ADFアプリケーションに追加できるのは、次のタイプのビジネス・インテリジェンス・オブジェクトです。

1.3 埋込みビジネス・インテリジェンス・オブジェクトのユース・ケース

ADFアプリケーションにビジネス・インテリジェンス・オブジェクトを埋め込む理由をよりよく理解するために、次のユース・ケースを使用します。ビジネス・インテリジェンス・オブジェクトの作成およびそれらのADFアプリケーションへの追加に関する具体的な情報は、この章の手順についてのトピックおよび『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』およびOracle Fusion Middleware Oracle Application Development FrameworkのためのFusion開発者ガイドを参照してください。

1.4 ビジネス・インテリジェンス・オブジェクトを受け入れるためのADFプロジェクトの準備

ビジネス・インテリジェンス・オブジェクトを追加するためにADFプロジェクトを適切に準備するには、必要なMDSライブラリ(MDSランタイムおよびMDSランタイム依存性)をADFプロジェクトに追加し、BI ADFコンポーネント・テクノロジ・スコープをADFプロジェクトに追加する必要があります。

1.4.1 ADFプロジェクトの準備方法

ビジネス・インテリジェンス・コンテンツを受け入れるためにADFプロジェクトを準備するには、次の手順を実行します。次のタスクを実行する前に、ビジネス・インテリジェンス・コンテンツを追加するADFプロジェクトを作成しておく必要があります。

このトピックの手順の完了後、Oracle BI Enterprise Editionプレゼンテーション・サービス接続を作成して、アプリケーションに埋め込むビジネス・インテリジェンス・オブジェクトを選択するカタログにアクセスできます。詳細は、「Oracle BI EEプレゼンテーション・サービス接続の作成」を参照してください。

1.4.1.1 インストールされているJDeveloper拡張機能の確認

Oracle JDeveloperでは、次のOracle BI EE拡張機能を提供します。

  • ビジネス・インテリジェンスADFタスク・フロー

  • ビジネス・インテリジェンスADFビュー・リージョン

  • ビジネス・インテリジェンス・コンポーザ

  • ビジネス・インテリジェンス論理SQLビュー・オブジェクト

  • ビジネス・インテリジェンスSOAP接続

必要なOracle JDeveloper 11g拡張機能およびOracle BI EE拡張機能があるかどうか不明な場合は、この手順を実行します。

  1. JDeveloperで「ヘルプ」メニューをクリックし、「バージョン情報」をクリックします。表示される「Oracle JDeveloper 11gのバージョン情報」ダイアログ・ボックスで、リリース番号を確認できます。

  2. 拡張機能」タブをクリックして、インストールされている拡張機能のリストを表示します。リストをソートするには、「名前」または「識別子」列ヘッダーをクリックします。

    Oracle BI EE拡張機能にはすべて、「bi-」接頭辞が付いています。「bi-」接頭辞で始まる拡張子がない場合、必要な拡張機能はありません。

1.4.1.2 必要なJDeveloper拡張機能のインストール

必要な拡張機能をインストールするには、次の手順を実行します。

  1. JDeveloperの「ヘルプ」メニューから、「更新の確認」を選択します。

  2. ウィザードの手順に従って、Oracle BI EE拡張機能を検索、ダウンロードおよびインストールします。Oracle BI EEと統合するWebCenterポータル・アプリケーションを作成する場合は、WebCenterポータル・フレームワークもインストールする必要があります。

    使用可能なOracle BI EE拡張機能のリストは、「インストールされているJDeveloper拡張機能の確認」を参照してください。

1.4.1.3 ADFアプリケーションでのOracle BI EEのパーソナライズについて

ADFアプリケーションでパーソナライズが構成されている場合、ダッシュボード、ダッシュボード・ページ、分析およびビューのパーソナライズは自動的に保存されます。パーソナライズは、ユーザー・レベルまたはグループ・レベルで保存できます。

次のアイテムがADFページのダッシュボード・リージョンに存在する場合、パーソナライズできます。

  • ダッシュボード・プロンプトの値

  • プレゼンテーション変数の値(これらの変数は通常、プロンプトにより設定されます)

  • 列セレクタの値

  • ビューのドリル、ソートおよびピボット/入替え

次のビジネス・インテリジェンス・コンテンツ・タイプはパーソナライズできません。

  • ダッシュボード・ページ

  • スタンドアロン・スコアカード・コンポーネント

1.4.1.4 MDSライブラリの追加およびMDSカスタマイズの有効化

プロンプト値などのサイトおよびユーザー・アプリケーション・パーソナライズを保存するには、次のライブラリをADFプロジェクトに追加し、MDSカスタマイズが適切に有効化されていることを確認する必要があります。MDSはアプリケーション・メタデータを格納し、ADFアプリケーション内の様々なレベルでカスタマイズを格納および取得します。

MDSライブラリをADFプロジェクトに追加するには:

  1. JDeveloperで「プロジェクト」ペインに移動し、MDSライブラリを追加するプロジェクトを右クリックして「プロジェクト・プロパティ」を選択します。

  2. ライブラリとクラスパス」を選択します。

  3. ライブラリの追加」ボタンをクリックし、MDSランタイムおよびMDSランタイム依存を強調表示して「OK」をクリックします。

  4. 「プロジェクト・プロパティ」ダイアログの左ペインで、「ADFビュー」を選択します。

  5. 次のオプションが選択されていることを確認します。

    • ユーザー・カスタマイズの有効化

    • MDSを使用したセッション間

    • シード・カスタマイズの有効化

  6. 「プロジェクト・プロパティ」画面で、「OK」をクリックします。

1.4.1.5 ADFテクノロジ・スコープの追加

ADFプロジェクトに適切なテクノロジ・スコープを追加するには、この手順を実行します。

テクノロジ・スコープは、プロジェクトに使用される様々なテクノロジを識別するための、ADFプロジェクトの属性です。BI ADFコンポーネント・テクノロジ・スコープを選択すると、ADF Faces、Java、JSF、JSPおよびサーブレット・テクノロジ・スコープがADFプロジェクトに追加されます。

ADFプロジェクトにADFテクノロジ・スコープを追加するには:

  1. JDeveloperで「プロジェクト」ペインに移動し、テクノロジ・スコープを追加するプロジェクトを右クリックして「プロジェクト・プロパティ」を選択します。

  2. テクノロジ・スコープ」を選択します。

  3. 「使用可能なテクノロジ」リストで「BI ADFコンポーネント」を選択し、「追加」ボタンをクリックします。JDeveloperにより、必要なBIテクノロジが「選択済のテクノロジ」リストに追加されます。

  4. OK」をクリックします。

1.5 Oracle BI EEプレゼンテーション・サービス接続の作成

ADFアプリケーションにビジネス・インテリジェンス・オブジェクトを追加する前に、SSLを構成し、証明書をエクスポートおよびインポートし、Oracle BI EEプレゼンテーション・サービスへのデータ接続を作成する必要があります。

1.5.1 SSLを構成してOracle BI EEプレゼンテーション・サービス接続を作成する方法

SSLを構成し、証明書をエクスポートおよびインポートし、Oracle BI EEプレゼンテーション・サービスへの接続を作成するには、次の手順を実行します。次のタスクを実行する前に、まずADFプロジェクトを作成し、ビジネス・インテリジェンス・コンテンツを受け入れるための準備を行う必要があります。プロジェクトの準備の詳細は、「ビジネス・インテリジェンス・オブジェクトを受け入れるためのADFプロジェクトの準備」を参照してください。


注意:

アプリケーションの使用時に証明書エラーが表示された場合、ブラウザへのクライアント証明書のインポートが必要になる場合があります。


1.5.1.1 SSLの構成

セキュアな通信を可能にするには、SSLを介して通信するようにOracle BI EEプレゼンテーション・サービスを構成する必要があります。

SSLの詳細およびOracle Business Intelligenceでの構成方法については、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。

1.5.1.2 クライアント証明書のエクスポートとインポート

SSLの構成後、キーストアからWebアプリケーション・クライアント証明書をエクスポートして、JDeveloperにインポートする必要があります。

クライアント証明書をエクスポートおよびインポートするには:

  1. サーバーのキーストアの場所を識別します。このパスは通常、ORACLE_HOME/oraclebi/wlserver_10.3/server/lib/DemoIdentity.jksです。

  2. サーバーのキーストアの場所を使用して、次のコマンドを実行します。

    cd %ORACLE_HOME%/oraclebi/wlserver_10.3/server/lib/

    %JAVA_HOME%\bin\keytool -export -alias wlscertgencab -file my.crt -keystore DemoTrust.jks -storepass DemoTrustKeyStorePassPhrase

  3. クライアント証明書をJDeveloperにインポートします。この手順により、Oracle Business Intelligenceプレゼンテーション・サービス接続の作成時にSOAPエラーの発生を防ぐことができます。

    1. 証明書をJDeveloperのJREにコピーします。場所は、jdev\jdk\jre\lib\securityまたはoracle\jdk\jre\lib\securityです。

    2. 次のコマンドを実行して、証明書をインポートします。Javaデフォルト・キーストア・ファイル$JAVA_HOME/lib/security/cacertsのデフォルト・パスワードは、changeitです。

      keytool -v -import -file my.crt -keystore cacerts

  4. クライアント証明書をJDeveloperのJREにインポートします。この手順により、https://server:port/analytics/saw.dll?privateWSDLのSOAPリクエストをSSLモードで送信する際に、エラーの発生を防ぐことができます。

    1. JDeveloperを起動して-Djavax.net.ssl.trustStoreパラメータを探します。たとえば、-Djavax.net.ssl.trustStore= C:\ADE\jdevmain3\oracle\wlserver_10.3\server\lib\DemoTrust.jksなどです。

      このパラメータには、クライアントのトラストストアの場所が含まれており、クライアントがサーバーの証明書の検証に使用するキーと証明書が格納されています。

    2. 次のコマンドを実行して、証明書をこのクライアント・トラストストアにインポートします。

      %ORACLE_HOME%\oracle\jdk\bin\keytool -import -alias test -file <client_cert_filename> -keystore <keystorefile> -keypass <key_password>

1.5.1.3 接続の作成

プレゼンテーション・サービスの1つ以上のインストールに、接続を追加できます。接続を作成および保存した場所によって、接続名はリソース・パレットの「IDE接続」パネル内またはアプリケーション・ナビゲータの「アプリケーション・リソース」パネル内に表示されます。

接続名を開くと、JDeveloperによりOracle BIプレゼンテーション・カタログのフォルダおよびフォルダに格納されているオブジェクトが表示されます。フォルダでは、リソース・パレットからADFページにビジネス・インテリジェンス・オブジェクトをドラッグ・アンド・ドロップできます。

この接続は、カタログごとに1度だけ作成する必要があります。ただし、接続の作成後は、設計時にJDeveloper内でパラメータを編集できます。


注意:

ADFアプリケーションのデプロイ時またはデプロイ後に、プレゼンテーション・サービス接続を追加または変更できます。詳細は、「デプロイメント後のプレゼンテーション・サービス接続の追加または変更」を参照してください。


接続を作成するには:

  1. JDeveloperで、接続を使用する場所を選択します。すべてのJDeveloperアプリケーションで使用可能な接続を作成するには、次のサブステップを実行します。

    1. リソース・パレットに移動して、「新規」ボタンをクリックします。

    2. リストから、「BIプレゼンテーション・サービス」を選択します。「BIプレゼンテーション・サービス接続の作成」ウィザードが表示されます。


    注意:

    JDeveloperでは、保存されている接続をリソース・パレットから「アプリケーション・リソース」ペインにドラッグ・アンド・ドロップできます。


  2. 現在のアプリケーションで使用可能な接続を作成するには、次のサブステップを実行します。

    1. 「アプリケーション・ナビゲータ」タブ→「アプリケーション・リソース」ペインに移動し、「接続」フォルダを右クリックして「接続の作成」を選択し、「BIプレゼンテーション・サービス」を選択します。「BIプレゼンテーション・サービス接続の作成」ウィザードが表示されます。

    2. 接続」フォルダを右クリックして、「接続の作成」を選択します。

    3. BIプレゼンテーション・サービス」を選択します。「BIプレゼンテーション・サービス接続の作成」ウィザードが表示されます。

  3. カタログ接続を識別する、一意のわかりやすい名前を入力します。接続作成の終了後に、この名前を変更することはできません。

  4. 次へ」をクリックします。

  5. Oracle Business Intelligenceプレゼンテーション・サービスの場所を入力し、次のアイテムを選択します。

    • プロトコル- ドロップダウン・リストから「http」または「https」を選択します。

    • BIプレゼンテーション・サービス・ホスト- Oracle Business Intelligenceがインストールされているサーバーの場所を入力します(abc12345.mycompany.comなど)。

    • BIプレゼンテーション・サービス・ポート- ホストのポート番号を入力します。通常は、9704です。

    • BIプレゼンテーション・サービスの仮想ディレクトリ- analyticsと小文字で入力します。

    • WSDLコンテキスト- WSDLアプリケーションをデプロイするコンテキストを入力します。システム管理者がデフォルトのコンテキストを「analytics-ws」から別の値に変更した場合にのみ、このフィールドを変更します。たとえば、mycompanyname-wsに変更できます。このフィールドに指定されたコンテキストはSOAP接続で使用されます。

    • 静的リソースのモード- 静的リソースの取得元を指定します。

      すべてのリクエストをOracle BIプロキシではなくOracle BIプレゼンテーション・サービスに送るには、「自動」を選択します。「自動」を選択すると、パフォーマンスが著しく向上します。「自動」モードで最もよいパフォーマンスが得られるのは、Oracle WebLogic ServerがOracle HTTP ServerまたはApache HTTP Serverの内側にあり、Oracle WebLogic Serverをバイパスして静的ファイルを提供する場合です。

      リクエストを別の場所に送るには、「手動」を選択します。「手動」を選択する場合、「静的リソースの場所」フィールドでURLを指定する必要があります。

    • 静的リソースの場所- (オプション)「静的リソースのモード」フィールドで「手動」を選択した場合、デプロイした静的リソースの場所を入力します(Oracle BIインストール内に配置されていない場合)。URLの書式はhttp://host:port/analyticsにします。静的リソースの例としては、.cssや.javascripなどがあります。Oracle BIがファイアウォールの内側にあり、ADFインスタンスへのポートがファイアウォールの外側にある場合、このフィールドは空白のままにします。静的リソースの設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle BI Webクライアントのパフォーマンスの向上に関する項を参照してください。

  6. 次へ」をクリックします。

  7. プレゼンテーション・サービス接続のユーザー名とパスワードを指定します。


    注意:

    アプリケーションでADFセキュリティが有効化されている場合、アプリケーションをデプロイする前に、ユーザー名とパスワードを偽装ユーザーの資格証明に変更する必要があります。詳細は、「偽装ユーザーの作成および使用方法」を参照してください。


  8. アプリケーションでADFセキュリティが有効化されている場合は、「セキュリティが有効な場合に偽装を実行」フィールドを「False」に設定して、偽装ユーザーの資格証明を無効にします。このフィールドを「False」に設定した場合は、この画面の「ユーザー名」および「パスワード」フィールドで必要な資格証明を指定する必要があります。資格証明の詳細は、「Oracle BIプレゼンテーション・カタログに接続するための資格証明」を参照してください。

    アプリケーションでADFセキュリティが有効化されていて、偽装ユーザーの資格証明を使用する場合は、このフィールドを「True」に設定したままにします。

    アプリケーションでADFセキュリティが有効化されていない場合、このフィールドを変更する必要はありません。このフィールドは、ADFセキュリティが有効化されているアプリケーションでのみ使用します。

  9. 次へ」をクリックします。

  10. 接続のテスト」をクリックして、接続情報が正しいことを確認します。テスト接続に失敗した場合、問題のトラブルシューティングに役立つエラー・メッセージがJDeveloperで表示されます。

  11. 終了」をクリックして、接続を作成します。

1.6 ADFページへのOracle Business Intelligenceオブジェクトの追加

フィルタまたはパラメータを含むビジネス・インテリジェンス・オブジェクトをJSPXページにドラッグ・アンド・ドロップすると、JDeveloperにより<adfbi:content>要素が挿入されます。このタグは、次のEL式を使用して、ページ定義ファイルのbiContent要素を参照します。

<adfbi:content id="myBIRegion" value="#{bindings.biContent}"/>

実行時、この要素は選択したビジネス・インテリジェンス・コンポーネントのマークアップを返し、リージョンが入力として受け入れることのできるパラメータを定義します。基礎となる分析のプロンプトごとに1つのパラメータが存在するか、基礎となるダッシュボードの基礎となるフィルタまたはプロンプトごとに1つのパラメータが存在します。biContent要素にはデフォルト値が含まれ、これらのパラメータの値を編集して、式言語(EL)またはリテラルに置き換えることができます。これにより、JDeveloperの式言語を使用して、パラメータをページ上の他のコンポーネントに関連付けることができます。

biContent要素はsetParameters ADFコンテキスト・イベントも受け入れます。このイベントのペイロードを、pagedefファイルのダッシュボード・リージョンで公開されるパラメータにマップできます。例:

<eventMap xmlns="http://xmlns.mycompany.com/adfm/event">
   <event name="setParameters">
    <producer region="doInputs">
     <consumer handler="biExecBinding1">
      <parameters>
       <parameter name="Products.Brand" value="${payLoad.input1}"/>
       <parameter name='Periods."Year"' value="${payLoad.input2}"/>
      </parameters>
     </consumer>
    </producer>
   </event>
</eventMap>

ダッシュボードまたはダッシュボード・ページにプレゼンテーション変数を使用する分析が含まれていて、ダッシュボードにこれらの変数を設定する表示プロンプトがない場合、ダッシュボード設計者は変数を設定する非表示プロンプトを追加する必要があります。ADFページにダッシュボードが含まれている場合、非表示プロンプトをコンテキストの引渡しに使用できます。

1.6.1 ADFページへのビジネス・インテリジェンス・オブジェクトの追加方法

ADFページに追加するすべてのビジネス・インテリジェンス・オブジェクトは、現在のADFスキンのスタイルを継承します。

次のタスクを実行する前に、まずADFプロジェクトを作成し、ビジネス・インテリジェンス・コンテンツを受け入れるための準備を行い、サーバー接続を作成する必要があります。これらのタスクの詳細は、「ビジネス・インテリジェンス・オブジェクトを受け入れるためのADFプロジェクトの準備」および「Oracle BI EEプレゼンテーション・サービス接続の作成」を参照してください。

ADFページにビジネス・インテリジェンス・オブジェクトを追加して、フィルタまたはプロンプト・パラメータを指定するには:

  1. JDeveloperでリソース・パレットに移動して、データ接続を選択し、ADFページに追加するビジネス・インテリジェンス・コンテンツを参照します。

  2. ページにアイテムをドラッグ・アンド・ドロップします。


    注意:

    新規または更新済のビジネス・インテリジェンス・コンテンツがOracle BIプレゼンテーション・カタログに保存されている場合、JDeveloperカタログ接続をリフレッシュして、すべての新規および更新済のビジネス・インテリジェンス・コンテンツを使用可能にします。


  3. アイテムにプロンプトまたはフィルタが含まれる場合、分析またはダッシュボードのプロンプトおよびフィルタを示す「パラメータ」画面が表示されます。パラメータのオーバーライド値を指定するには、カーソルを「」フィールドに置いて、パラメータ値を入力します。

  4. 式を作成するか、コンテンツ・アイテムをマネージドbeanにバインドするには、省略記号ボタンをクリックします。ELウィンドウが表示されます。EL式の作成またはEL画面でのデータ・バインディングの詳細は、Oracle Fusion Middleware Oracle Application Development FrameworkのためのFusion開発者ガイドを参照してください。

  5. JSPXページを保存します。

  6. 左ペインにある「プロジェクト」エリアで、作業中のページのファイル名を検索し、右クリックして「実行」を選択します。

    アプリケーションになんらかのタイプのセキュリティが設定されている場合、ユーザー名とパスワードの入力を求めるメッセージが表示されます。

1.7 Oracle BI EEコンテキスト・イベント・アクションでのビジネス・インテリジェンス・コンテンツの引渡し

Oracle BI EE ADFコンテキスト・イベント・アクションはOracle BI EEに付属しており、Oracle BI EEアクション・フレームワークを使用しています。分析設計者がこのアクション・タイプを組込み可能になる前に、管理者はADFコンテキスト・イベント・アクションを使用可能にして、プレゼンテーション・サービス内の「新しいアクション・リンク」メニューに表示されるようにする必要があります。このアクション・タイプを使用可能にするには、Oracle BI EEのinstanceconfig.xmlファイルが次のパラメータを含むよう、管理者が変更する必要があります。

<ActionLinks>
     <EnableADFContextualEvent>True</EnableADFContextualEvent>
</ActionLinks>

instanceconfig.xmlの変更の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のプレゼンテーション・サービスの詳細構成の変更に関する項を参照してください。

分析設計者は設計時に、Oracle BI EE ADFコンテキスト・イベント・アクションを組み込む列を決定し、「新しいアクション・リンク」メニューから、「ADFコンテキスト・イベント」を選択します。実行時に、Oracle BI EE ADFコンテキスト・イベント・アクションは、ビジネス・インテリジェンス・オブジェクト(分析)からADFページの他のリージョンまたはADFページの他のADFコンテキスト・イベントに、コンテンツを渡します。

Oracle BI EE ADFコンテキスト・イベント・アクションはパラメータをとらず、条件付きでレンダリングできます。ユーザーがADFページにアクセスして、Oracle BI EE ADFコンテキスト・イベント・アクションを含むデータ・セルをクリックするか、セルが条件に関連付けられていて、条件のしきい値が満たされている場合は、セルの修飾データ参照(QDR)をペイロードとして持つOracle BI EE ADFコンテキスト・イベント・アクションが生成されます。

ADF設計者が、以前の3つの従業員評価で「優れている」と査定されている従業員を自動的に昇進させる機能を持つビジネス・インテリジェンス・リージョンを、ADFページに作成したいと考えているとします。これを実現するために、ビジネス・インテリジェンス・コンテンツ設計者は、分析の従業員名列にOracle BI EE ADFコンテキスト・イベント・アクションを組み込み、「昇進」ラベルを追加します。

1.7.1 QDRの定義とは

次に、QDRの定義を示します。

/**
   * String representation of QDR with use of internal Ids
   * <pre>
   *  qdr
   *   : '{"_m":' memberGroups (',"_q":'  qdrQualifier)? '}'
   *  memberGroups
   *   : '[' memberGroup (',' memberGroup)* ']'
   *  qdrQualifier
   *   : '{' ('"_t":[' scalarMember ']') | ('"_p":[' ('true' | 'false') ']') '}'
   *  memberGroup
   *   : '"_g":{' dimensionMembers (',"_l":'  groupQualifier)? '}'
   *  groupQualifier
   *   : '"' ('M' | 'G') '"' 
   *  dimensionMembers
   *   : '"' IDENT '":' ('[]' | arrayMembers | hierarchyLevelsMembers)
   *  hierarchyLevelsMembers
   *   : '{' hierarchyLevelMembers (, hierarchyLevelMembers)* '}' 
   *  hierarchyLevelMembers
   *   : '"' IDENT '":' ('[]' | arrayMembers) 
   *  arrayMembers
   *   : '[' member (',' member)* ']'
   *  member
   *   : scalarMember | arrayMembers | qualifiedMember
   *  scalarMember
   *   : string | number | datetime
   *  datetime
   *   : string 
   *  qualifiedMember
   *   : '{"_v":' scalarMember ',"_s":"' ('A' | 'E' | 'T' | 'P') '"}'
   *  IDENT 
   *   : ('a' .. 'z' | 'A'..'Z' | '0' .. '9')+ 
   *  
   *  _m: member groups
   *  _q: QDR qualifier; _t or _p
   *  _t: target; column identifier
   *  _p: measure target; true or false
   *  _g: member group
   *  _l: member group qualifier; 'M' or 'G'
   *  _v: member value
   *  _s: member special value; 'A', 'E', 'T' or 'P'
   *  
   *  Group Qualifiers:
   *  M - Measure Dimension
   *  G - Selection Group Dimension
   *  For such dimensions, the dimension identifier is irrelevant; we 
      typically make it "_"
   *  For measure dimension, members are measure columns 
   *  For selection group dimension, members are group Id Strings
   *  
   *  Qualified Members: Members that are qualified by a special value 
      qualifier such as:
   *  A - All
   *  E - Every
   *  T - Display Total Id
   *  P - Path to catalog object
   *  
   *  Dimension identifier for hierarchical columns is of the form:
      "dimensionId:hierarchyId"
   *
   *  <b>
   *  Examples:
   *  </b>
   *  
   *  Region (id "c0") West, East
   *  Year (id "c1") 2000 
   *  {'_m':[{'_g':{'c0':['West','East']}}, {'_g':{'c1':[2000]}}]}
   *  
   *  Region (id "c0") West, East
   *  Year (id "c1") 2000
   *  Target  Region
   *  {'_m':[{'_g':{'c0':['West','East']}}, {'_g':{'c1':[2000]}}], '_q':
       {'_t':['c0']}}
   *  
   *  Geog dimension (id "d1"), Default hierarchy (id "h1"), State Level 
      (id "l1")  CA, WA
   *  {'_m':[{'_g':{'d1:h1':{'l1':['CA','WA']}}}]}
   *  
   *  Geog dimension (id "d1"), Default hierarchy (id "h1"), State Level 
      (id "l1") and City Level (id "l2") CA, WA, SJC
   *  {'_m':[{'_g':{'d1:h1':{'l1':['CA','WA'], 'l2':['SJC']}}}]}
   *  
   *  Region (id "c0") West, East
   *  Measures Sales (id "c3"), Profit (id "c4")
   *  {'_m':[{'_g':{'c0':['West','East']}}, {'_g':{'_':['c3','c4']}, '_l':'M'}]}
   *  
   *  Region (id "c0") West, East
   *  Year (id "c1") 2007, MyFavYears
   *  {'_m':[{'_g':{'c0':['West','East']}}, {'_g':{'c1':[2007,{'_v':
       'MyFavYears', '_s':'P'}]}}]}
   *  
   *  Geog dimension (id "d1"), Default hierarchy (id "h1"), 
       State Level (id "l1") CA, WA and City Level (id "l2") MyFavCities
   *  {'_m':[{'_g':{'d1:h1':{'l1':['CA','WA'], 'l2':[{'_v':'MyFavCities', 
       '_s':'P'}]}}}]}
   *  
   *  Region (id "c0") West, East
   *  Measures Sales (id "c3")
   *  Measure Target
   *  {'_m':[{'_g':{'c0':['West','East']}}, {'_g':{'_':['c3']}, '_l':'M'}], '
        _q':{'_p':true}}
   *  </pre>
   *
   * @param propIdExprMap          Map of column expressions key'ed by column Id
   */

1.7.2 QDRのシグネチャとは

次に、QDRのシグネチャを示します。

public static QDR fromString(String qdrStr) throws BISvsException

1.7.3Oracle BI EE ADFコンテキスト・イベントの検出方法

次の手順を使用して、Oracle BI EE ADFコンテキスト・イベントを検出するADFオブジェクトを含むページ定義に、イベントの詳細を追加します。ページ定義ファイルの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。

1.7.3.1 ADFコンテキスト・イベントの検出

  1. JDeveloperで、<ページ名>PageDef.xmlファイルを探して開きます。

  2. </pageDefinition>タグを探し、その後に次のイベント詳細を追加して、イベント名およびコンシューマ・ハンドラ名を指定します。

    <eventMap xmlns="http://xmlns.mycompany.com/adfm/event">
      <event name="Event Name">
       <producer region="*">
        <consumer handler="Handler Name">
         <parameters>
          <parameter name="qdr" value="${payLoad}"/>
         <parameters>
        </consumer>
       </producer>
      </event>
    </eventMap>
    
  3. </bindings>タグを探し、その前に次のメソッドのアクションの詳細を追加します。

    <methodAction id="setOutput" InstanceName="Output.dataProvider"
              DataControl="Output" RequiresUpdateModel="true"
              Action="invokeMethod" MethodName="setOutput"
              IsViewObjectMethod="false"
    
    ReturnName="Output.methodResults.setOutput_Output_dataProvider_setOutput_result">
         <NamedData NDName="output" NDType="java.lang.String"/>
    </methodAction>
    

1.8 デプロイメント後のプレゼンテーション・サービス接続の追加または変更

Oracle BI EEには、デプロイしたBI ADFまたはWebCenter Portal: Spacesアプリケーションに新しい接続を追加するためのADF Mbeanが用意されています。デプロイしたアプリケーションの既存の接続を変更することもできます。MBeanはアプリケーションとともにデプロイされ、デプロイメント後にFusion Middleware Controlを使用してアクセスできます。

設計時にSSLを構成しなかった場合は、デプロイメント後に構成できます。詳細は、「SSLを構成してOracle BI EEプレゼンテーション・サービス接続を作成する方法」を参照してください。

1.8.1 プレゼンテーション・サービス接続を追加または変更する方法

デプロイしたアプリケーションで使用されるプレゼンテーション・サービス接続を追加または変更するには、次の手順を実行します。

1.8.1.1 プレゼンテーション・サービス接続の追加または変更

アプリケーションのデプロイ後に接続を構成するには、次の手順を実行します。

  1. Fusion Middleware Controlを開き、WebLogicドメインを選択します。

  2. アプリケーションがBI ADFドメインにデプロイされている場合は、アプリケーション・デプロイメント <your domain>ツリー・ノードを選択します。

    アプリケーションがWebCenter Portal: Spacesドメインにデプロイされている場合は、「Web Center」ツリー・ノード→「WebCenter Spaces」ツリー・ノード→webcenter (WLS_Spaces)ツリー・ノードを選択します。

  3. リストから、「システムMBeanブラウザ」を選択します。「システムMBeanブラウザ」ペインが「Fusion Middleware Control」ページに表示されます。

  4. 「システムMBeanブラウザ」ペインで、次のパスをたどって「ADF接続」ツリー・ノードに移動します。

    1. アプリケーション定義のMBean」ツリー・ノードを選択します。

    2. oracle.adf.share.connections」ツリー・ノードを選択します。

    3. サーバー: <サーバー名>」ツリー・ノードを選択します。たとえば、「サーバー:DefaultServer」または「サーバー:WLS_Spaces」などです。

    4. アプリケーション:<アプリケーション名>」ツリー・ノードを選択します。たとえば、「アプリケーション:Application2」または「アプリケーション:webcenter」などです。

    5. ADF接続」ツリー・ノードを選択します。

    6. ADF接続」ツリー・ノードを選択します。対応するMBean情報が、「アプリケーション定義のMBean」ペインに表示されます。

  5. 「アプリケーション定義のMBean」ペインで「操作」タブをクリックし、「createConnection/findOrCreateConnection」をクリックして、プレゼンテーション・サービス接続を作成します。「操作: createConnection」ダイアログが表示されます。

  6. 接続に必要な値を指定します。接続タイプの「」フィールドに、BISoapConnectionと入力します。接続名の「」フィールドに名前を入力します。「呼出し」をクリックして、接続を作成します。

  7. 「システムMBeanブラウザ」ペインで、「リフレッシュ」をクリックしてツリーをリフレッシュし、新しい接続を表示します。

  8. 接続を変更するには、「システムMBeanブラウザ」ペインでこれを検索してクリックします。接続の情報が、「アプリケーション定義のMBean」ペインに表示されます。

  9. 属性」タブをクリックして、BISoap接続情報を入力します。「適用」ボタンをクリックして、変更内容を適用します。

  10. 操作」タブをクリックし、「保存」をクリックして接続を保存します。

1.9 Oracle BIプレゼンテーション・カタログに接続するための資格証明

設計時に、Oracle BIプレゼンテーション・カタログに接続するための資格証明を指定する必要があります。これらの資格証明を使用して、ビジネス・インテリジェンス・オブジェクトのリスト(分析、ダッシュボードおよびスコアカード・コンポーネントなど)をOracle BIプレゼンテーション・カタログから取得します。

このプロセスにより、プレゼンテーション・サーバーへのログインはアプリケーションの現行ユーザーと同じになり、現行ユーザーとしてアクセス・チェックが実行され、現行ユーザーとしてデータがフェッチされるようになります。ADFページにユーザーがアクセスできないビジネス・インテリジェンス・オブジェクトが含まれる場合、オブジェクトへの適切な権限を持っていないことを知らせるメッセージが返されます。

1.9.1 偽装ユーザーの作成および使用方法

BIImpersonateUserユーザーを作成および使用して、Oracle BIプレゼンテーション・サービス接続を利用し、Oracle BI EEオブジェクトを含むアプリケーションを保護するには、次の手順を実行します。偽装ユーザーの資格証明をOracle BI EEプレゼンテーション・サービス接続に適用するには、事前にアプリケーションでADFセキュリティが有効になっている必要があります。

偽装ユーザー機能は、Oracle BI EEとADFがOracle Internet Directory (OID)を共有していない場合に、Oracle BI EEオブジェクトを含むアプリケーションを保護します。偽装ユーザーの作成および使用プロセスを開始する前に、使用環境でこの機能が構成されていることを確認する必要があります。

1.9.1.1 BIImpersonateUserの作成

この手順を実行する前に、WebLogic ServerのOracle BI EEレルムでユーザーを作成し、このレルムの各ユーザーにBIConsumerロールを割り当てておく必要があります。

WebLogic Serverコンソールを使用してBIImpersonateUserユーザーを作成するには、次の手順を実行します。

  1. Oracle BI EEインスタンスのためにWebLogic Serverを開きます。

  2. 「ドメイン構造」ペインを検索して、「セキュリティ・レルム」を選択します。「レルム」ペインが表示されます。

  3. 「レルム」ペインで、「<myrealm>」を選択します。「設定」ダイアログが表示されます。

  4. 「設定」ダイアログで、「ユーザーとグループ」タブを選択します。

  5. 「ユーザー」タブが表示されていることを確認して、「新規」をクリックします。

  6. ユーザー名にBIImpersonateUserを指定して、パスワードを入力します。

  7. 「OK」をクリックします。

1.9.1.2 BIImpersonateUserへの権限の付与

Fusion Middleware Controlを使用してBIImpersonateUserユーザーに権限を付与するには、次の手順を実行します。

  1. Oracle BI EEインスタンスのFusion Middleware Controlを開きます。

  2. bifoundation_domainを検索して選択します。「bifoundation_domain」ペインが表示されます。

  3. 「bifoundation_domain」ペインで「WebLogicドメイン」リストをクリックし、「セキュリティ」を強調表示して「アプリケーション・ポリシー」を選択します。「検索」ペインが表示されます。

  4. 検索するアプリケーション名の選択」フィールドのリストで、「obi」を選択します。

  5. 作成」をクリックします。「権限の追加」ダイアログが表示されます。

  6. 権限クラス」フィールドで、「oracle.security.jps.ResourcePermission」を選択します。「リソース名」フィールドで、「oracle.bi.server.impersonateUser」を選択します。「OK」をクリックします。

  7. 「権限受領者」ペインで、「ユーザーの追加」を選択します。「ユーザーの追加」ダイアログが表示されます。

  8. 「使用可能なユーザー」リストで「BIImpersonateUser」を選択し、「移動」をクリックして「選択したユーザー」リストに移動します。「OK」をクリックします。

  9. 「bifoundation_domain」ペインで、「OK」をクリックします。

1.9.1.3 サーバーの再起動

変更内容が表示されない場合は、次の手順を実行します。

  1. 次のサーバーを停止して再起動します。

    • Oracle BI EEサーバー

    • Oracle BI EEプレゼンテーション・サーバー

    • WebLogic Server

1.10 スタンドアロンWebLogic Serverへの資格証明のデプロイ

OPSSを使用するJava EEアプリケーションで推奨される、手動による構成およびパッケージ化の詳細は、Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイドの第21章「OPSSを使用するためのJava EEアプリケーションの構成」を参照してください。

アプリケーション・レベルでパッケージ化された資格証明は、weblogic-application.xml内のリスナーの構成の指定どおりに、ドメイン・レベルの資格証明ストアに移行されます。例:

<listener>
  <listener-class>oracle.security.jps.wls.listeners.Jps
   ApplicationLifecycleListener</listener-class>
</listener>

開発モードのデフォルトでは、資格証明の移行パラメータは、weblogic-application.xmlでOVERWRITEに設定されています。本番モードでは、OVERWRITEを使用できないことに注意してください。次に開発モード用の資格証明移行パラメータの設定例を示します。

<application-param>
   <param-name>jps.credstore.migration</param-name>
   <param-value>OVERWRITE</param-value>
</application-param>

1.10.1 資格証明の移行

この手順を使用して、アプリケーション・レベルからドメイン・レベルへ資格証明を自動的に移行することができます。

資格証明の移行パラメータの詳細は、『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』の動作による資格証明パラメータの構成に関する項を参照してください。

資格証明を移行するには

動作中のモード(開発モードまたは本番モード)に応じ、次のいずれかのオプションを使用して、アプリケーション・レベルからドメイン・レベルへ資格証明を自動的に移行することができます。

  • 開発モードで動作中の場合、jps.app.credential.overwriteがtrueに設定された、資格証明の上書き移行操作でWebLogic Serverが起動されていることを確認します。例:

    jps.app.credential.overwrite.allowed=true
    
  • 本番モードで動作中の場合、weblogic-application.xmlを開いてjps.credstore.migrationパラメータをMERGEに変更します。ファイルを保存してEARファイルを再パッケージ化してから、ファイルをスタンドアロンのWebLogic Serverにデプロイします。

    この作業を完了しても、アプリケーション・レベルの資格証明がドメイン・レベルのストアに移行されるのは、ドメイン・レベルのストアに資格証明が存在しない場合のみであることに注意してください。たとえば、次のデータベースの資格証明を使用して、アプリケーションをパッケージ化したとします。

    • ユーザー名 – User1

    • パスワード – Pass1

    これらの資格証明(User 1およびPass1)は、資格証明が初めて移行されるため、移行されます。

    パスワードがPass1からPass2に変更された場合、jps.credstore.migrationパラメータがMERGEに設定されているため、Pass1はPass2で上書きされません。