Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionインテグレーターズ・ガイド 11g リリース1 (11.1.1) B63033-06 |
|
![]() 前 |
![]() 次 |
この章では、Oracle BI EE Action Frameworkについて紹介し、アクション・フレームワークの有効化に必要な構成について説明します。Oracle BI EEコンテンツへのアクションの追加に必要な資格証明および権限について説明します。アクション・タイプ(「Siebel CRMにナビゲート」や「Webサービスの起動」など)別にターゲットを設定する方法について説明します。
この章の内容は次のとおりです。
アクション・フレームワークはOracle BI EEアーキテクチャのコンポーネントです。アクション・フレームワークは次の内容で構成されています。
アクションWebサービス。アプリケーション・サーバーにデプロイされるアクションの作成および起動に使用します。
プレゼンテーション・サーバーおよびスケジューラ・サービスに配置されるコンポーネント群。
プレゼンテーション層にあるアクション固有のJavaScript。アクションを作成し、特定のアクション・タイプをブラウザから直接起動するために使用します。
Oracle BIプレゼンテーション・サービスでアクション・フレームワークを使用するように準備するには、次のタスクを実行する必要があります。
アクション・フレームワークを構成します。詳細は、第5.2項 「アクション・フレームワーク構成の概要」および第5.3項 「アクション・フレームワークの構成」を参照してください。
アクションを保護します。詳細は、第5.4項 「アクション・セキュリティの概要」および第5.5 項 「アクション・フレームワークで使用する資格証明の追加および保守」を参照してください。
アクション・ターゲットを設定します。詳細は、第5.6項「アクション用のターゲット機能」を参照してください。
アクション・フレームワークは、アクションの作成、管理、起動を行うための機能を提供します。アクションが提供する機能は次のとおりです。
関連するコンテンツにナビゲートします。
外部システムの操作、関数、またはプロセスを起動します。
アクションはOracle BIプレゼンテーション・サービスのユーザー・インタフェースで作成および管理します。アクションは分析、ダッシュボード、エージェント、KPIおよびスコアカードの目標に含めることができます。アクションは、「Webページにナビゲート」、「Webサービスの起動」、および「ブラウザ・スクリプトの起動」などの、いくつかのタイプに分かれています。
アクションのタイプとその説明の一覧、およびアクションの作成方法と使用方法については、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』のアクションの使用に関する項を参照してください。
Oracle BI EEで使用可能なアクションは、関連するコンテンツにナビゲートするアクション、および、外部システムの操作、関数またはプロセスを起動するアクションの、2つのグループにカテゴリ分けされています。アクションは、それらが起動するテクノロジ(URL、Webサービスなど)に基づくアクション・タイプに、さらにカテゴリ分けされます。
各アクション・タイプの説明およびビジネス・インテリジェンス・コンテンツへのアクション・リンクの追加に関する詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』のアクションの使用に関する項を参照してください。
Oracle BI EEオブジェクトをOracle ADFに追加する際に開発者が使用できるコンテキスト・イベント・アクション・タイプの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Edition開発者ガイド』のOracle BI EEコンテキスト・イベント・アクションでBusiness Intelligenceコンテンツを渡す方法に関する項を参照してください。
表5-1「アクションを実行するシステム・コンポーネント」に、アクション・タイプおよびアクションを実行するシステム・コンポーネントを示します。特定のアクション・タイプの実行方法およびプロセスで使用される他のコンポーネントの詳細は、第5.6項「アクション用のターゲット機能」を参照してください。
一部のアクション・タイプはOracle BI EEをインストールすると自動的に使用可能になりますが、その他アクション・タイプを使用できるようにするには特定の構成が必要です。追加構成が必要なアクション・タイプの場合、アクションによって起動される機能をホストする外部システムの情報(ターゲット機能の場所やアクセス方法など)を設定する必要があります。
セキュリティ・ポリシーがアクション・ターゲット(たとえばSAMLベースのポリシーを使用してセキュリティ設定を行ったターゲットWebサービス)に適用されている場所と同じ場所に、セキュリティ・ポリシー・ファイルを作成する必要があります。
また、暗号化や署名を含むセキュリティ・ポリシーには、キーストアが必要です。セキュリティ・ポリシー・ファイルおよびキーストアの詳細は、5.4項「アクション・セキュリティの概要」を参照してください。
特定のアクションは、資格証明ストアに登録される資格証明を必要とします。これらの資格証明は、アクション・ターゲットが、アクションの作成時またはターゲット・アクションの起動時に参照するために使用します。アクション用に追加する資格証明の詳細は、第5.5項「アクション・フレームワークで使用する資格証明の追加および保守」を参照してください。
この項では、各アクション・タイプを使用するために実施する必要のある構成について要約します。表5-2「アクション・タイプ別構成要件」に、アクション・タイプおよび必要となる構成の一覧を示します。各列の説明は次のとおりです。
第1列は、Oracle BI EEインタフェースで表示される各アクション・タイプの名前です。
第2列は、Oracle BI EEプレゼンテーション・サービスのアクション・メニューにアクション・タイプを表示する場合に構成ファイルのエントリが必要となるかどうかを示します。
第3列には、Webフロントエンドでアクション・ターゲットのリストを参照できるようにするために、レジストリのエントリを構成ファイルに追加することができるかどうかを示します。
第4列には、資格証明ストアで追加の資格証明が必要となるかどうかを示します。
第5列には、様々なセキュリティ・ポリシーを実装できる(したがって、ポリシー・ファイルと、場合によっては追加のキーストア情報を必要とする)アクション・タイプを示します。
表5-2 アクション・タイプ別構成要件
アクション・タイプ | 構成エントリの必要性 | レジストリのサポート | 追加資格証明の必要性 | ポリシーの有効化 |
---|---|---|---|---|
BIコンテンツにナビゲート |
不要 |
なし(デフォルトで有効化されているナビゲーション・ターゲットを参照する) |
不要 |
不要 |
Webページにナビゲート |
不要 |
不要 |
不要 |
不要 |
EPMコンテンツにナビゲート |
必要(レジストリ) |
あり(必須) |
必要 |
不要 |
E-Business Suiteにナビゲート |
必要 |
不要 |
不要(Oracle E-Business Suiteのセキュリティとの統合が必要) |
不要 |
Siebel CRMにナビゲート |
必要 |
不要 |
不要(Oracle Siebel CRMとの統合が必要) |
不要 |
Webサービスの起動 |
不要 |
あり(オプション) |
不要(オプション) |
必要 |
Javaメソッド(EJB)の起動 |
必要(レジストリ) |
あり(必須) |
必要 |
不要 |
ブラウザ・スクリプトの起動 |
不要 |
なし(デフォルトで有効化されているナビゲーション・ターゲットを参照する) |
不要 |
不要 |
HTTPリクエストの起動 |
不要 |
不要 |
不要 |
不要 |
サーバー・スクリプトの起動 |
不要 |
不要 |
不要 |
不要 |
エージェントの起動 |
不要 |
不要 |
不要 |
不要 |
Javaジョブ |
不要 |
不要 |
不要 |
不要 |
すべてのアクションにはターゲットが必要です。ターゲットとは、何かのナビゲート先、あるいは、起動する操作、関数またはプロセス を指します。アクションを作成する前に、アクションに対するターゲットが準備されているか確認する必要があります。たとえば「Webページにナビゲート」アクションに対してターゲットのURLを使用できるようにしておき、「Webサービスの起動」アクションに対してはターゲットのWebサービスを配置しておく必要があります。
一部のアクション・タイプのターゲットはOracle Business Intelligenceシステム内にありますが(「BIコンテンツにナビゲート」など)、その他のアクション・タイプは、主に外部システムにある機能の起動やコンテンツへのナビゲートをターゲットとします(「Javaメソッドの起動」など)。いずれの場合も、アクションを作成するプロセスでは、アクションで使用する適切なターゲットの存在が前提となります。
たとえば、コンテンツ・デザイナがダッシュボードを作成していると仮定します。このダッシュボードには、ユーザーが会議室を予約する際にクリックするアクションが必要です。このタスクを実行するには、Oracle JDeveloperを使用して、bookRoomという名前の操作を含むRoom Booking Serviceという名前のWebサービスを作成し、デプロイできます。これが、アクションから起動されるターゲットWebサービスの操作です。Webサービスの作成とデプロイが終わると、コンテンツ・デザイナが「Webサービスの起動」アクションを作成できるようになります。
Oracle BI EEのインストールでは、ActionFrameworkConfig.xmlという名前の構成ファイルを使用します。この構成ファイルを手動で編集し、アクション・フレームワークの動作方法を必要に合せて指定します。この構成ファイルは、デフォルトでは次の場所にあります。
<Oracle Middleware Home>\user_projects\domains\bifoundation_domain\config\fmwconfig\biinstances\coreapplication
構成ファイルは、いくつかの要素からなります。各要素を、表5-3 「アクション・フレームワークの構成要素」で説明します。
表5-3 アクション・フレームワークの構成要素
要素名 | 説明 |
---|---|
location-alias |
固定URLではなくロケーション・エイリアスでアクションが参照できるようにするために使用します。エイリアスを設定することで、テスト・システムおよび本番システム間の移行が容易になります。この要素の詳細は、第5.3.1項「エイリアス」を参照してください。 |
registry |
Webサービス、EJBなどのための事前構成済レジストリに関する情報を指定するために使用します。これによりアクションの一連のターゲットを事前に定義します。この要素の詳細は、第5.3.2「レジストリ」を参照してください。 |
content-type |
レジストリが返す情報のコンテンツ・タイプに関する情報を指定するために使用します。この要素の詳細は、第5.3.3項「コンテンツ・タイプ」を参照してください。 |
account |
ゲートウェイのアカウントに関する情報を指定するために使用します。また、アクション・ターゲットへの認証を行う際に使用します。この要素の詳細は、第5.3.4項「アカウント」を参照してください。 |
policy |
Oracle Web Services Manager(OWSM)の場所に関する情報を指定するために使用します。この要素の詳細は、第5.3.5項「ポリシー」を参照してください。 |
proxy |
WebサービスやURLにアクセスするためのプロキシ設定に関する情報を指定するために使用します。この要素の詳細は、第5.3.6項「プロキシ」を参照してください。 |
ebusinesssuiteconfig |
カスタム・アクション「E-Business Suiteにナビゲート」をOracle BIプレゼンテーション・サービスのユーザー・インタフェース内で表示するかどうかを指定するために使用します。この要素の詳細は、第5.3.7項「ebusinesssuiteconfig」を参照してください。 |
siebelcrmconfig |
カスタム・アクション「Siebel CRMにナビゲート」をOracle BIプレゼンテーション・サービスのユーザー・インタフェース内で表示するかどうかを指定するために使用します。この要素の詳細は、第5.3.8項「siebelcrmconfig」を参照してください。 |
サンプルのアクション構成ファイルは、付録A「サンプル・ファイル」にあります。この付録に含まれるサンプルをこの項の情報と併せて使用することで、アクションの様々な構成方法を理解できます。
構成ファイルを修正した後、Oracle BI EE環境をホストしているWebLogic Serverの管理対象サーバーを再起動する必要があります。WebLogic Serverの管理対象サーバーの再起動方法に関する一般情報については、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の管理対象サーバーの実行および起動の確認に関する項を参照してください。
この項では、location-alias要素について説明します。ロケーション・エイリアスは、アクションが固定URLではなくエイリアスを参照するための置換メカニズムを提供します。エイリアスは、テスト・システムと本番システムを切り替える場合、役に立ちます。alias要素には、0個以上のlocation-alias要素を含めることが可能です。次の例を参考にしてください。
<location-alias> <alias>webservicehost</alias> <actual>myserver.mycompany.com:7001</actual> </location-alias>
Oracle BI EEユーザーは、この例のwebservicehost
というエイリアスに基づいて、次に示すWSDLによってターゲットWebサービスを起動するアクションを作成することができます。
http://msyserver.mycompany.com:7001/MyWebService/myservice.wsdl
カタログに保存されるアクションは、このWSDLへの参照を次のような形式で格納します。
http://@[webservicehost]/MyWebService/myservice.wsdl
このアクションが起動されると、アクション・フレームワークは実際の値のかわりにエイリアスを使用してサービスを起動します。
管理者はlocation-alias
要素内のactual要素の値を後から変更することができ、そのため保存されたアクションは、更新せずに別のURLを参照することができます。
エイリアスでは、サーバー・パスおよびアプリケーション・パスを参照することができます。したがって、次に示す例も有効です。エイリアスには、ターゲットWSDLへのフルパスは指定できません。
<location-alias> <alias>webservicehost</alias> <actual>myserver.mycompany.com:7001/MyWebService/</actual> </location-alias>
この項では、registry要素について説明します。レジストリは、アクション・フレームワークがどのようにアクション・ターゲットの参照可能なライブラリにアクセスするかを定義します。アクション・タイプと、それらの構成要件の詳細は、第5.2項「アクション・フレームワーク構成の概要」を参照してください。
レジストリ定義を作成すると、次に示すアクション・タイプをサポートできます。
Oracle Hyperion Enterprise Performance Management(EPM)コンテンツにナビゲート
Webサービスの起動
Javaメソッド(EJB)の起動
Hyperionレジストリは、標準のregistry要素以外の追加要素を含みません。location要素を使用して、問合せ先のHyperionのURLを定義する必要があります。Hyperionのターゲットへのアクセスに使用するアカウントを指定する必要があります。次の例は、EPMコンテンツ・アクション・タイプ用のエントリです。各要素の説明については、表5-4「レジストリ・エントリの各要素および説明」を参照してください。
<registry> <id>HDPreg</id> <name>Hyperion Directory Provider</name> <content-type> <typename>epm</typename> <displayname>Hyperion Applications</displayname> <actionType>URLActionType</actionType> </content-type> <provider-class>oracle.bi.action.registry.epm.HDPRegistry </provider-class> <description>Hyperion Financial Reports Registry</description> <location> <path>http://epms.mycompany.com:1901/workspace/browse/listXML</path> </location> <service-access> <account>EPM</account> </service-access> </registry>
次の例は、JavaメソッドのEJBレジストリ用のエントリです。custom-config要素に埋め込まれているejb-targets要素内で、EJBをホストするアプリケーション・サーバーおよびサーバーからレジストリに従って公開されるEJBについて、EJBレジストリが具体的に記述されています。
各要素の説明については、表5-4「レジストリ・エントリの各要素および説明」を参照してください。
<registry> <id>reg03</id> <name>Sample EJBs</name> <content-type>java</content-type> <provider-class>oracle.bi.action.registry.java.EJBRegistry</provider-class> <description>Custom Java classes which can be invoked as action targets</description> <location> <path/> </location> <custom-config> <ejb-targets> <appserver> <context-factory>weblogic.jndi.WLInitialContextFactory </context-factory> <jndi-url>t3://localhost:9704</jndi-url> <server-name>localhost</server-name> <account>WLSJNDI</account> <ejb-exclude>mgmt</ejb-exclude> <ejb-exclude>PopulationServiceBean</ejb-exclude> </appserver> <ejb-app> <server>localhost</server> <app-context>ActionSamplesEJB</app-context> </ejb-app> </ejb-targets> </custom-config> </registry>
次の例は、WebサービスのWSILレジストリ用のエントリです。各要素の説明については、表5-4「レジストリ・エントリの各要素および説明」を参照してください。
<registry> <id>reg1</id> <name>Sample Web Services</name> <content-type>webservices</content-type> <provider-class>oracle.bi.action.registry.wsil.WSILRegistry</provider-class> <description></description> <location> <path>http://localhost:9704/ActionSamples/inspection.wsil</path> </location> <service-access> <path>/Sample Web Services/Rating Service</path> <policy>SAMLPolicy</policy> <propagateIdentity>true</propagateIdentity> </service-access> <service-access> <path>/Sample Web Services/Customer Rating Service</path> <account>PayrollUser</account> <policy>userNamePolicy</policy> <propagateIdentity>false</propagateIdentity> </service-access> </registry>
表5-4「レジストリ・エントリの各要素および説明」に、各registry要素とその説明を示します。
表5-4 レジストリ・エントリの各要素および説明
要素 | 説明 |
---|---|
registry |
レジストリ定義を包含する最上位の要素です。 |
id |
この要素は、各レジストリに対して一意に指定する必要のある内部識別子を保持します。 |
name |
レジストリの一覧を表示する際にActionRegistryServiceによって使用される表示名です。この要素で指定した名前は、このレジストリ内のどのターゲットに対してもルート・パスとして使用されます。 |
content-type |
Oracleが提供する値のみ使用できます。この要素はcontent-typeを参照します。このcontent-typeは、アクション・フレームワーク構成ファイル内で定義されている別の要素です。この要素で指定可能なコンテンツ・タイプの詳細は、第5.3.3項「コンテンツ・タイプ」を参照してください。 この要素でEPMを指定する場合は、 |
provider-class |
Oracleが提供する値のみ使用できます。この要素に対する有効な値は、表5-5「provider-class要素の値」を参照してください。 |
description |
この要素は、今後使用するために予約されています。 |
location |
この要素は、別名の要素を含んでいる可能性のあるレジストリへのパスを指定します。例: WSILファイル。 |
service-access |
この要素はオプションです。レジストリ定義内で、0個以上のservice-access要素を定義できます。 service-access要素は、レジストリにアクセスするために必要な認証、および、定められている場合はレジストリ内のサブパスを指定します。次の点に注意してください。
|
path |
この要素はオプションです。この要素はservice-access要素内に定義し、レジストリに含まれるサービスのサブセットへのパスを指定します。このパスは物理的な位置ではありません。新しいアクションを作成する場合は、レジストリ名でパスの階層を開始し、特定のアクション・ターゲットまでノードを拡張することで、ユーザー・インタフェース内で参照できます。 |
account |
この要素はオプションです。この要素はservice-access要素内で定義され、構成ファイル内の他の場所で定義されているaccount要素のインスタンスを参照します。 account要素を1つだけ持つservice-access要素がregistry要素に含まれている場合、そのアカウントはレジストリ内のすべてのサービスにアクセスするために使用されますが、サービスは特定のパスに基づいたservice-access要素で指定されていないものに限られます。 webservicesレジストリについては、propagateIdentity要素の値がfalseの場合、ターゲット・アクションを起動するために、参照するアカウントに対して保持される資格証明がアクション・フレームワークによって使用されます。 EPMレジストリについては、EPMコンテンツを参照するために、アカウントに対して保持された資格証明がアクション・フレームワークによって使用されます。 |
policy |
この要素はオプションです。この要素は、webservicesレジストリに対してのみ使用します。この要素はservice-access要素内で定義し、構成ファイル内の他の場所にあるポリシー・セクション内で定義されたポリシーを参照します。この要素は、WSセキュリティ・ポリシーを定義しているターゲットWebサービスにアクセスする場合に必要です。 この方法でセキュリティ設定済のWebサービスを起動する場合、OWSMを正しく構成してアクションを使用する必要があります。詳細は、第5.5.3項「Oracle Web Services Managerの構成」を参照してください。 |
propogateIdentity |
この要素は、Webサービス・レジストリに対してのみ使用します。policy要素を設定する場合は、この要素を必ず設定してください。この要素はservice-access要素内で定義し、trueまたはfalseを設定します。 trueの値が有効なのは、IDをアサートするポリシー(たとえばSAMLベース・ポリシー)と併用し、最初にアクションを起動したユーザーのIDを伝搬できるようにする場合です。propagateIdentity要素をtrueに設定すると、account要素は不要となるため、かわりにターゲットWebサービスの起動には、アクションを起動(たとえばOracle BI Presentation Servicesから、または、スケジューラで実行)したユーザーのIDが使用されます。 この要素をtrueに設定し、ユーザー名/パスワード・トークン・ポリシーと併用する方法は、サポートされていません。 |
custom-config |
この要素は、Javaレジストリに対してのみ使用します。この要素は、ターゲット・アプリケーション・サーバー上のEJBへのアクセス方法を指定するために使用します。 |
ejb-targets |
この要素は、Javaレジストリに対してのみ使用します。この要素は、EJBがデプロイされるアプリケーション・サーバーをappserver要素内で定義します。また、指定した公開用のappserveにあるEJBで構成された複数のJ2EEアプリケーションをejb-app要素内で定義します。 |
appserver |
この要素は、Javaレジストリに対してのみ使用します。この要素はejb-target要素内で記述され、EJBをデプロイするアプリケーション・サーバーに接続するための接続情報および認証情報を定義します。この要素は次の各要素で構成されます。
|
ejb-app |
この要素は、Javaレジストリにのみ使用します。この要素は、EJBで構成される複数のJ2EEアプリケーションを参照します。この要素は次の要素で構成されます。
|
表5-5「provider-class要素の値」に、provider-class要素に対して有効な値を示します。provider-class要素の詳細は、表5-4「レジストリ・エントリの各要素および説明」を参照してください。
この項では、content-type要素について説明します。各content-type要素は、レジストリが接続しているサービスの種類に関するメタ情報を提供します。インストール時に設定したコンテンツ・タイプは変更できません。次の例で示すコンテンツ・タイプのみを使用できます。
<content-types> <content-type> <typename>webservices</typename> <displayname>Web Services and BPEL Processes</displayname> <actionType>WebServiceActionType</actionType> </content-type> <content-type> <typename>epm</typename> <displayname>Hyperion Applications</displayname> <actionType>URLActionType</actionType> </content-type> <content-type> <typename>misc</typename> <displayname>Mixed Services</displayname> <actionType>URLActionType</actionType> </content-type> <content-type> <typename>java</typename> <displayname>Java Actions</displayname> <actionType>JavaActionType</actionType> </content-type> </content-types>
この項では、account要素について説明します。account要素は、アクション・ターゲットに対する認証に使用されるゲートウェイのアカウントを定義します。そしてregistry要素のservice-access要素が、指定されたアカウントを参照します。レジストリ・セクションの詳細は、第5.3.2項「レジストリ」を参照してください。
次にアカウント・エントリの例を示します。表5-6「accountの各要素と説明」で、各要素について説明します。
<account> <name>SAMLTest</name> <description>Test SAML Account</description> <adminonly>false</adminonly> <credentialkey>SAMLTest</credentialkey> </account>
表5-6「accountの各要素および説明」に、それぞれのaccount要素と説明を示します。格納する資格証明に関する詳細は、表5.5「アクション・フレームワークで使用する資格証明の追加および保守」を参照してください。
表5-6 accountの各要素および説明
要素 | 説明 |
---|---|
name |
この要素はレジストリのservice-access要素内、またはJavaレジストリ用のappserver要素内で参照する名前を指定します。各accountには、アクション・フレームワーク構成内で一意となる名前を付ける必要があります。 |
description |
この要素は、今後使用するために予約されています。 |
adminonly |
この要素は今後使用するために予約されています。この要素にはfalseを設定してください。 |
credentialkey |
この要素は、Oracleの資格証明ストア・フレームワーク(CSF)内で資格証明を検索するために使用します。指定された鍵を含む資格証明の一式が、oracle.bi.actionsという資格証明マップにあるドメインの資格証明ストア内に存在する必要があります。このマップはデフォルトでは存在せず、作成する必要があることに注意してください。「アクション・フレームワークで使用する資格証明の追加および保守」を参照してください。 |
policy要素は、OWSMクライアント・ポリシー・ファイルの場所を記述するために使用します。OWSMクライアントポリシー・ファイルは、アクション・ターゲットとしてセキュリティ設定済のWebサービスにアクセスする場合に使用します。各policy要素には、ポリシーを参照するための名前を定義します。この名前は、service-access要素において、AESにポリシー・ファイルを適用するよう指定するための省略表現として使用する場合があります。このservice-access要素が対象とするアクション・ターゲットを起動する場合、指定したポリシー・ファイルが参照されます。
注意: 前述のようにセキュリティ設定済のWebサービスを起動するには、OWSMを構成してアクションを使用する必要があります。詳細は、第5.5.3項「Oracle Web Services Managerの構成」を参照してください。 |
次にpolicyエントリの例を示します。表5-7「policyの各要素および説明」で、それぞれの要素を説明します。
<policy> <name>SAMLPolicy</name> <policyfile>ActionsSAMLPolicy.xml</policyfile> </policy>
表5-7「policyの各要素および説明」に、それぞれのpolicy要素とその説明を示します。
表5-7 policyの各要素および説明
要素 | 説明 |
---|---|
name |
この要素は、service-access要素内で参照される名前を指定します。各要素には、アクション・フレームワーク構成内で一意となる名前を付ける必要があります。service-access要素の詳細は、第5.3.2.4項「registry要素の説明」を参照してください。 |
policyfile |
この要素を使用して、WSポリシーが適用されたWebサービスを、アクションから起動できるようにします。この要素には、ActionFrameworkConfig.xmlファイルと同じディレクトリに保存されたファイルの名前を指定します。このファイルは、Webサービス・アクションを実行する際にOWSMが適用するOWSMポリシーを含みます。Webサービス・アクションは、このポリシーを使用してレジストリ・パスから実行時に生成されます。service-access要素に関する詳細は、 第5.3.2.4項「registry要素の説明」を参照してください。 |
ターゲットWebサービスの保護に使用する個別のクライアント・セキュリティ・ポリシーごとに、別々のアクション・フレームワークのポリシー・ファイルを手動で作成する必要があります。アクション・フレームワークのポリシー・ファイルには、OWSMで定義されたWebサービス・クライアント・ポリシーへの参照が含まれます。その参照では、ターゲットWebサービスの起動に使用する標準的なWSポリシーのPolicyReference要素を指定します。
このようなファイルを手動で作成するか、コピーする場合は、付録A「サンプル・ファイル」にあるサンプル・ファイルを使用します。
ファイルの作成またはコピーを行った後、それらをメインとなるActionFrameworkConfig.xmlと同じフォルダに保存します。
次に示すアクション・フレームワーク・ポリシー・ファイルの記述例を参照してください。
<?xml version="1.0" encoding="UTF-8"?> <oracle-webservice-clients> <webservice-client> <port-info> <policy-references> <policy-reference uri="oracle/log_policy" category="management"/> <policy-reference uri="oracle/wss11_saml_token_with_message_ protection_client_policy" category="security"/> </policy-references> </port-info> </webservice-client> </oracle-webservice-clients>
サービス・ポリシーによってセキュリティ設定済のWebサービスを起動するために、アクション・フレームワークのポリシー・ファイルでは、適切なクライアント・ポリシーを指し示す必要があります。
たとえば、ターゲットWebサービスが、「oracle/wss11_saml_token_with_message_protection_service_policy」というポリシーでセキュリティ設定されている場合、Webサービス・クライアント(つまりこの場合、アクション・フレームワーク)は対応するクライアント・ポリシーを使用してこのWebサービスを起動する必要があります。この例の場合、適切なクライアント・ポリシーは「oracle/wss11_saml_token_with_message_protection_client_policy」です。
アクション・フレームワークのポリシー・ファイル内において、categoryに「security」を設定したpolicy-reference uri要素に対して、適切なクライアント・ポリシー名を入力する必要があります。
OWSMで使用可能なサービスおよびクライアントWebサービス・ポリシーは、Fusion Middleware Controlにおいて、WebLogicドメインから「Webサービス」を選択してから「ポリシー」を選択することで表示できます。OWSMで使用可能な事前定義済ポリシーに関する詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の事前定義済ポリシーに関する項を参照してください。
proxy要素では、プロキシ設定を指定します。プロキシ設定は、アクション・フレームワークのWebサービスがデプロイされているWebLogicサーバーが存在するネットワークからは通常アクセスすることのできない、WebサービスやURLなどのアイテムにアクセスするために使用されます。
次にproxyエントリの例を示します。表5-8「proxyの各要素および説明」で、各要素について説明します。
<proxy> <host>proxyserver.mycompany.com</host> <port>80</port> <userid>jsmith</userid> <password>johsmi</password> <nonProxyHosts>localhost|*.mycompany.com|10.1.10.78 </nonProxyHosts> </proxy>
表5-8「proxyの各要素および説明」に、それぞれのproxy要素とその説明を示します。
表5-8 proxyの各要素および説明
要素 | 説明 |
---|---|
host |
この要素では、プロキシ・サーバーが存在するサーバーのホスト名を指定します。 |
port |
この要素では、プロキシ・サーバーのポート番号を指定します。 |
userid password |
これらの要素では、プロキシ・サーバー用のユーザーIDおよびパスワードを指定します。これらの要素は、認証を必要とするプロキシに対して使用します。認証を行わないプロキシに対しては、これらの要素は空白のままにします。 |
nonProxyHosts |
この要素では、プロキシ対象から除外するサーバー、ドメイン名およびパターンを、パイプ文字(|)区切りのリストで指定することができます。システムが内部リソースへのアクセスにプロキシを使用しないようにするため、この要素を使用します。 |
ebusinesssuiteconfig要素は、Oracle E-Business Suiteシステムが使用可能であることを示します。この要素が構成ファイルに存在する場合、Oracle BIプレゼンテーション・サービスは、ユーザーが「E-Business Suiteにナビゲート」アクションを作成できるようにするメニュー・オプションを表示します。ユーザーは、Oracle BIプレゼンテーション・サービスからE-Business Suiteにアクセスするために、適切な権限を持つ必要があります。この統合の構成に関する詳細は、第10章「Oracle E-Business Suiteセキュリティとの統合」を参照してください。
ebusinesssuiteconfigエントリの例を次に示します。
<ebusinesssuiteconfig> <visible>true</visible> </ebusinesssuiteconfig>
siebelcrmconfig要素は、Oracle Siebel CRMシステムが使用可能であることを示します。この要素が構成ファイルに存在する場合、Oracle BIプレゼンテーション・サービスは、ユーザーが「Siebel CRMにナビゲート」アクションを作成できるようにするメニュー・オプションを表示します。ユーザーは、Oracle BIプレゼンテーション・サービスからSiebel CRMにアクセスするために、適切な権限を持つ必要があります。
Oracle BIプレゼンテーション・サービスから「Siebel CRMにナビゲート」アクション・タイプを起動するには、Oracle BIサーバーとSiebel CRMサーバーを統合する必要があります。この統合の詳細は、第11章「Oracle Siebel CRMへのOracle BI EEの埋込み」を参照してください。
siebelcrmconfigエントリの例を次に示します。
<siebelcrmconfig> <visible>true</visible> </siebelcrmconfig>
アクション・フレームワークおよびアクション・セキュリティは、資格証明、権限および許可によって決定されます。
資格証明は、セキュリティに関連する属性です。資格証明は、アクションなどOracle BI EEのリソースへのアクセスを要求するユーザーおよびシステムに対して、認証または権限付与を行うために使用します。アクション・ターゲットの参照またはアクションの起動に対して資格証明ストア内の資格証明を適用するため、アクション・フレームワーク内で1つ以上のレジストリを構成した場合(すなわち、ActionFrameworkConfig.xml内でaccount要素を指定した場合)、ActionFramworkConfig.xmlの各account要素と一致させるため資格証明ストアに資格証明を入力する必要があります。account要素によって参照されるすべての資格証明は、oracle.bi.actionsという資格証明マップに存在する必要があります。
たとえば、次のアカウントを構成ファイル内で定義する場合、JNDIUserに対する資格証明をoracle.bi.actionsと呼ばれるマップに入力する必要があります。
<account> <name>WLSJNDI</name> <description>Account used to access WLS JNDI.</description> <adminonly>false</adminonly> <credentialkey>JNDIUser</credentialkey> </account>
資格証明ストアへの資格証明の入力方法の詳細は、第5.5項「アクション・フレームワークで使用する資格証明の追加および保守」を参照してください。
アクション権限は、Oracle BIプレゼンテーション・サービスにおいてアクションの機能にアクセスする必要のあるユーザーの権限を管理します。Oracle BI EE管理者は、特定のアプリケーション・ロール、個別ユーザーおよびカタログ・グループに対して、権限の付与または否認を行います。アクション権限は次のとおりです。
ナビゲート・アクションの作成
起動アクションの作成
埋込みHTMLが含まれるアクションの保存
アクション権限の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のプレゼンテーション・サービス権限の管理に関する項を参照してください。
アクション・アクセス権は、アクションの所有者がユーザーまたはロールに対して行う権限付与です。アクセス権は、ユーザーがアクションで実行可能なタスク(アクションの実行など)を決定します。アクションの所有者がアクセス権をアクション・カタログ・オブジェクトに割り当てるには、Oracle BI EE管理者がアクションの所有者に対して必要な権限を付与する必要があります。アクセス権は次のとおりです。
削除
実行
読取り
書込み
カタログに格納されたアクション・オブジェクトへのアクセス権割当てに関する詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』のアクセス権の定義に関する項を参照してください。
この項では次の手順について説明します。
ActionFrameworkConfig.xmlファイル内の各account要素と整合するように、前述の手順を使用して資格証明を資格証明ストアに入力します。アクション・フレームワークでの資格証明の設定に関する詳細は、第5.4.1項「Oracle BI EEの資格証明」を参照してください。
次の手順に従って、資格証明ストアへの資格証明マップおよび資格証明キーの追加を行います。
Fusion Middleware Controlにログインします。デフォルトの場所は次のとおりです。
http://<your host name>:7001/em
ツリー・メニューを開いてドメインを表示し、ドメイン名を右クリックします。オプションのリストが表示されます。
リストから「セキュリティ」オプションを強調表示して、「資格証明」を選択します。「資格証明」ダイアログが表示されます。
「マップの作成」をクリックし、oracle.bi.actionsという新しいマップを追加します。アクションが参照できるマップはoracle.bi.actionsのみであるため、アクションで使用するには、この名前でマップを作成し、これに資格証明を追加する必要があることに注意してください。
「キーの作成」 をクリックし、作成したoracle.bi.actionsの資格証明マップに対するキーを追加します。
キーおよびマップを追加します。
次のaccount要素に注目してください。
<account> <name>SecureTest</name> <description>Test Secure Account</description> <adminonly>false</adminonly> <credentialkey>SecureTest</credentialkey> </account>
このaccount要素がActionFrameworkConfig.xml内に存在し、次の条件が成立すると仮定します。
このaccount要素は、ユーザー名/パスワード・ポリシーを使用してセキュリティ設定されたWebサービスを起動するために、レジストリから参照されます。
propagateIdentity要素にfalseが設定されています。
この場合、前述の例のaccount要素に対して、ターゲットWebサービスを起動するために有効なユーザー名とパスワードを入力する必要があります。これは、credentialkeyであるSecureTestに対して、oracle.bi.actionsという名前の資格証明マップに追加する必要があります。
次に示す手順を使用して、デフォルトの自己署名付きキーストアを作成します。デフォルト・キーストアの作成は、デモ用または開発用には適してますが、本番用には適していません。本番用には、keytoolのドキュメントに記載されているとおり、正しく署名された有効な証明書をインポートすることによって作成されたキーストアを使用する必要があります。署名または暗号を呼び出すセキュリティ・ポリシーに対しては、bifoundation_domain keystoreにも証明書を追加する必要があります。
keytoolおよびSolaris/Linuxの詳細は、次の場所にあるドキュメントを参照してください。
http://java.sun.com/javase/6/docs/technotes/tools/solaris/keytool.htm
keytoolおよびWindowsの詳細は、次の場所にあるドキュメントを参照してください。
http://java.sun.com/javase/6/docs/technotes/tools/windows/keytool.html
インストーラによってJDKのbinディレクトリがインストールされ、パスに表示されていることを確認します。例: <MIDDLEWARE_HOME>/jdk160_11/bin/
。
<MIDDLEWARE_HOME>/user_projects/domains/bifoundation_domain/config/fmwconfig
に移動して、コマンド・プロンプトを開きます。
次のコマンドを実行してデフォルトのキーストアを作成します。
keytool -genkeypair -keyalg RSA -alias orakey -keypass orakey_passphrase -keystore default-keystore.jks -storepass store_passphrase -validity 3600
このコマンドは、default-keystore.jksという名前でキーストアを作成し(存在しない場合)、「orakey」というエイリアスおよび「orakey」というパスワードを持つ新しいプライベート・キー・エントリを追加します。エイリアス、パスワードおよびコマンドのストア・パスは変更できますが、それらは第5.5.3項「Oracle Web Services Managerの構成」の手順で資格証明ストアに追加したOWSMの資格証明と一致する必要があります。
プロンプトが表示されたら質問に答えます。所属の組織に関する情報を入力します。例を参照してください。この例では、weblogicというユーザーが、インストール時に作成されたシステム管理者ユーザーを参照しています。weblogic以外のユーザーを選択する場合は、かわりにそのユーザー名を入力します。
What is your first and last name? [Unknown]: weblogic What is the name of your organizational unit? [Unknown]: J2EE Test Encryption Purposes Only What is the name of your organization? [Unknown]: Oracle What is the name of your City or Locality? [Unknown]: US What is the name of your State or Province? [Unknown]: US What is the two-letter country code for this unit? [Unknown]: US Is CN=weblogic, OU=J2EE Test Encryption Purposes Only, O=Oracle, L=US, ST=US, C=US correct? [no]: yes
次のコマンドを使用してキーストアの内容を表示し、キーストアが正しく生成されたことを確認します。
keytool -list -v -keystore default-keystore.jks -storepass welcome1
このコマンドを実行すると、次の例のような応答が返ります。
Keystore type: JKS Keystore provider: SUN Your keystore contains 1 entry Alias name: orakey Creation date: 16-Sep-2009 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=weblogic, OU=J2EE Test Encryption purposes Only, O=Oracle, L=US, ST=US , C=US Issuer: CN=weblogic, OU=J2EE Test Encryption purposes Only, O=Oracle, L=US, ST=U S, C=US Serial number: 4ab0ee4e Valid from: Wed Sep 16 14:55:26 BST 2009 until: Fri Jul 26 14:55:26 BST 2019 Certificate fingerprints: MD5: 84:0E:F4:F4:F3:30:0B:FF:4C:D4:E5:E6:BE:AE:64:DF SHA1: E4:73:80:4D:96:A6:9F:DE:06:0E:82:3B:D3:18:86:57:FE:CD:C6:37 Signature algorithm name: SHA1withRSA Version: 3 ******************************************* *******************************************
default-keystore.jksファイルが前述のパスに存在することを確認します。ファイルが存在しない場合、次のパスにコピーします。
<MIDDLEWARE_HOME>/user_projects/domains/bifoundation_domain/config/fmwconfig
次の手順に従ってOracle Web Services Manager(WSM)を構成して、アクションと連動するようにします。この手順を実行することで、Webサービスを起動するアクションを作成可能にします。ターゲットのWebサービスには、WSセキュリティ・ポリシーが適用されます。
また、署名または暗号化を含むセキュリティ・ポリシーについては、キーストアに証明書を追加する必要があります。enc-csf-key、keystore-csf-key、およびsign-csf-keyの資格証明は、keytool実行時の引数keypassおよびstorepassで与えられる、対応するpassphrasesと一致する必要があります。
Fusion Middleware Control内で、oracle.wsm.securityという名前の資格証明マップを追加します。資格証明マップの追加方法については、第5.5.1項「資格証明ストアへの資格証明マップおよび資格証明キーの追加」を参照してください。
oracle.wsm.securityマップに次のキーを追加します。
表5-9 oracle.wsm.securityマップのキー
キー名 | タイプ | ユーザー名 | パスワード |
---|---|---|---|
basic.credentials |
パスワード |
weblogic* |
welcome1 |
enc-csf-key |
パスワード |
orakey |
welcome1 |
keystore-csf-key |
パスワード |
owsm |
welcome1 |
sign-csf-key |
パスワード |
orakey |
welcome1 |
* このユーザー名は、インストール時に作成されるシステム管理者ユーザーを参照します。「weblogic」以外のユーザー名を選択する場合は、そのユーザー名をかわりに入力します。同様に、インストール時にそのアカウントに対して指定したパスワードを使用する必要があります。
マップを保存します。
この項では、外部システム内にあるターゲット機能の設定に関して詳細に説明します。ビジネス・インテリジェンス・コンテンツに追加されるアクション・リンクは、これらのターゲット機能を起動します。この項で説明するアクション・タイプは次のとおりです。
このアクション・タイプは、ユーザーがEPMリポジトリ内のターゲット・コンテンツを参照し、アクションを作成して選択したコンテンツにナビゲートできるようにします。現在は、Oracle Hyperion Financial Reportingコンテンツへのナビゲートのみをサポートしています。
プレゼンテーション・サービスにおける、このアクション・タイプの作成に関する詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』のアクションの使用に関する項を参照してください。
アクション・フレームワークがこのアクション・タイプを提供するためには、次のタスクが完了している必要があります。
構成ファイルのregistry要素が修正されている必要があります。これに必要な構成に関する詳細は、第5.3.2.1項「「EPMコンテンツにナビゲート」アクション・タイプ・レジストリの例」を参照してください。
資格証明ストアに資格証明を追加し、EPMコンテンツ機能の参照が可能となっている必要があります。詳細は、第5.4.1項「Oracle BI EEの資格証明」および第5.5項「アクション・フレームワークで使用する資格証明の追加および保守」を参照してください。
このアクション・タイプは、ユーザーによるOracle BI EEからOracle E-Business Suiteへのナビゲートを可能にします。Oracle BI EEセッションは、Oracle BI EEセッション変数にある現在のOracle E-Business Suiteの職責など、ユーザーのOracle E-Business Suiteセッションのコンテキストを保持します。
「Oracle E-Business Suiteにナビゲート」アクションには、次の2つのパラメータを使用します。
Connection Pool - このパラメータには、ターゲットとなるOracle E-Business Suite環境に接続するBI接続プールの名前を、リポジトリで定義されているとおりに指定します。
Function - このパラメータは、ナビゲート先のターゲットとなるOracle E-Business Suite機能の名前を指定します。Oracle E-Business Suite管理者は、ターゲット関数のIDを指定する必要があります。
「E-Business Suiteにナビゲート」アクションを起動するには、Oracle E-Business Suiteの接続プールに対するデータベース・リクエストを直接実行する権限を保有している必要があります。
正常に「E-Business Suiteにナビゲート」アクションを起動するには、ユーザーが現在使用しているOracle E-Business SuiteからターゲットのOracle E-Business関数にアクセス可能となっている必要があります。
このアクション・タイプで必要なセキュリティ統合の構成に関する詳細は、第10章「Oracle E-Business Suiteセキュリティの統合」を参照してください。
Oracle Forms Builderを使用してターゲット・フォームをカスタマイズし、Oracle BI EEから移入される1つ以上のカスタム・パラメータを新たに追加することができます。このタスクの実行に関する詳細は、Oracle Forms DeveloperおよびOracle E-Business Suiteのドキュメントを参照してください。
Oracle E-Business Suiteのフォーム・パーソナライズを使用して、1つまたは複数の値を、それらの新しいカスタム・パラメータからOracle E-Business Suiteがトランザクション検索で使用するフォーム・フィールドにマップすることができます。このタスクの実行に関する詳細は、Oracle E-Business Suiteのドキュメントを参照してください。
ターゲットのOracle E-Business Suite関数にナビゲートするためにアクションを作成する場合、Oracle E-Business Suiteフォームに追加したカスタム・パラメータと同じ名前を持つ新規パラメータを、手動で追加する必要があります。追加する新規パラメータは、2つのデフォルト・パラメータ(Connection PoolおよびFunction)に対して追加されます。
パラメータを追加してアクションを起動した後、Oracle BI EEはパラメータをターゲットのOracle E-Business Suiteのフォームに受渡します。受渡されたパラメータ値は最終的にフォーム・パーソナライズが受け取り、要求されたターゲット・トランザクションの取得に使用されます。
このアクション・タイプは、ユーザーによるOracle BI EEからSiebel CRMアプリケーションのビュー(機会など)へのナビゲートを可能にします。このアクション・タイプを使用することで、ユーザーはSiebel CRMアプリケーションに埋め込まれたダッシュボードからCRMアプリケーションのビューに含まれるレコードにナビゲートすることが可能になります。
「Siebel CRMにナビゲート」アクションは、次の3つのパラメータを受取ります。
View - このパラメータは、ナビゲート先のレコードを表示するビュー名を指定します。例: Opportunity List View。
Applet - このパラメータは、ナビゲート先のレコードを表示するビュー内の親アプレット名を指定します。例: Opportunity List Applet。
Pass Value - ナビゲート先のレコードの行番号を指定します。例: 3SIA-2O5VU。
ビュー名、アプレット名および行番号の決定に関する詳細は、Oracle Siebel CRMアプリケーションのドキュメントを参照してください。
「Siebel CRMにナビゲート」アクションを使用するには、Oracle Business IntelligenceをOracle Siebel CRMアプリケーションに埋め込む必要があります。詳細は、第11章「Oracle Siebel CRMへのOracle BI EEの埋込み」を参照してください。
このアクション・タイプを使用すると、ターゲットWebサービスの操作を参照して、選択したコンテンツを起動するためのアクションを作成できます。アクション・フレームワークでWebサービスのコールがどのようにサポートされるかについては、第5.6.5項「Webサービスのコールでサポートされる機能」を参照してください。
プレゼンテーション・サービスにおける、このアクション・タイプの作成に関する詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』のアクションの使用に関する項を参照してください。
アクション・フレームワークでこのアクション・タイプを使用し、「Webサービスの起動」アクションを作成するには、次のタスクが完了している必要があります。
そのWebサービスのWSDLへのURLを使用するターゲットWebサービスが存在することを確認します。
ユーザーに対してWebサービスへの参照を許可する場合、1つ以上のWSDLドキュメントを指し示すWSILドキュメントを追加しておく必要があります。WSILドキュメントは、URLを介してアクセス可能である必要があります。詳細は、 第5.6.4.2項「WSILドキュメントの例」を参照してください。
Webサービス操作の参照またはセキュリティ・ポリシーの適用を行う場合、ターゲットのWSILドキュメントを参照するように構成ファイルのregistry要素を修正しておく必要があります。必要な構成の詳細は、第5.3.2.3項「「Webサービスの起動」アクション・タイプ・レジストリの例」を参照してください。
Webサービスを起動するために、資格証明を資格証明ストアに追加する必要があるかを確認します。ターゲットWebサービスがセキュリティ設定済の場合、適切な構成を追加して、Webサービス操作の起動時に資格証明を渡す必要があります。適切なキーストアが必要となる場合もあります。詳細は、第5.4.1項「Oracle BI EEの資格証明」、第5.5項「アクション・フレームワークで使用する資格証明の追加および保守」,および第5.5.2項「デフォルト・キーストアの作成」を参照してください。
WSILでは、Webサービスの説明の参照用にXML形式を定義します。これらの参照はWSILドキュメントに含まれ、Webサービスの説明(WSDLファイルなど)およびWebサービスの他の集合(別のWSILドキュメントまたはUDDIレジストリなど)を参照します。次のWSILの例を参考にしてください。
<?xml version="1.0" encoding="UTF-8"?> <inspection xmlns="http://schemas.xmlsoap.org/ws/2001/10/inspection/"> <service> <abstract>Web Service: Order Services</abstract> <name>Order Service</name> <description referencedNamespace="http://schemas.xmlsoap.org/ wsdl/"location="http://localhost:9704/ActionSamples/ OrderProcessPort?wsdl"/> </service> </inspection>
次の手順に従って、Webサービスを起動する場合のトラブルシューティングを行います。
JDeveloperのHTTPアナライザなどのテスト・クライアントから、ターゲットWebサービスが起動可能であることを確認します。
ターゲットWebサービスにセキュリティ・ポリシーが設定されている場合は、ActionFrameworkConfig.xmlファイルで、Action Execution Service(AES)が適切なクライアント・ポリシーを使用していることを確認します。
Fusion Middleware Controlに移動し、アクション・サービスのログおよび診断を確認します。ログ・ファイルにアクセスするには、Fusion Middleware Control上で「Business Intelligence」ナビゲーション・ツリーにアクセスし、coreapplicationsを選択してOracle BIインスタンスに関する情報を表示します。「診断」タブを選択し、「ログ・メッセージ」サブ・タブを選択します。「ログ・ファイルの表示/検索」エリア内で、「アクション・サービス・ログ」をクリックします。
次のエントリをstartWebLogic.cmd/*.shファイル内のJAVA_OPTIONS変数に追加することで、WebLogicに関する詳細なロギングが可能になります。JAVA_OPTIONS変数を修正した後、WebLogicを再起動する必要があります。
-Doracle.multitenant.enabled=true -Dweblogic.wsee.verbose=* -Dweblogic.log.RedirectStdoutToServerLogEnabled=true -Dweblogic.webservice.client.verbose=true"
ActionFrameworkConfig.xmlファイルに誤りや不足がないかを確認します。
関連するポリシー・ファイルをよく確認し、それらが正しい場所に配置されていることを確認します。
ターゲットWebサービスがメッセージ保護または暗号化を含むセキュリティ・ポリシーを適用している場合は、資格証明ストア内に追加したOWSM資格証明をよく確認します。
この項では、アクション・フレームワークがWebサービスを起動する際に使用する、サポート対象のテクノロジと制限事項について説明します。
次の項目に留意してください。
アクション・フレームワークは、アクションによるWSDL参照およびWebサービスのコールの両方に対して、HTTPをサポートします。
アクション・フレームワークは、WebサービスのWSDL参照に対して、HTTPSをサポートします。
アクション・フレームワークは、AESおよびターゲットWebサービス間のセキュアなチャネル上でのメッセージ送信に対して、HTTPSをサポートします。ただし、AEServiceおよびターゲットWebサービス間での認証に対するデジタル証明書の使用については、アクション・フレームワークは現在サポートしていません。
次の項目に留意してください。
アクション・フレームワークからコールされるWebサービスは、SOAPベースである必要があります。
アクション・フレームワークは同期型のリクエスト/レスポンス・メッセージをサポートします。
アクション・フレームワークはWSアドレスをサポートしていません。
アクション・フレームワークは、SOAP 1.1および1.2のメッセージの送信および受信において、次のデータ・タイプをサポートします。
SOAPの送信メッセージでは、1つのパラメータに複数の値を入力できないことに注意してください。ベースとなるスキーマが、パラメータが(配列またはコレクションなど)複数の値を受け入れるように指定している場合も同様です。
xsd:any
xsd:base64Binary
xsd:string
xsd:date
xsd:time
xsd:dateTime
xsd:double
xsd:decimal
xsd:int
xsd:short
xsd:long
xsd:byte
xsd:Boolean
xsd:float
SOAPの応答ドキュメントは、ユーザー・インタフェースで使用可能となっており、XPATH形式およびhtml形式を適用することが可能です。ドキュメントから、同じパラメータの検索により複数の出現を取り出すことができますが、各出現は特定のXPATHパラメータにマップされている必要があります。
このアクション・タイプによって、ユーザーはEnterprise Java Beans (EJB)にデプロイされたターゲットJavaメソッドを参照し、アクションを作成して選択したメソッドを起動することが可能になります。
プレゼンテーション・サービスにおける、このアクション・タイプの作成に関する詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』のアクションの使用に関する項を参照してください。
アクション・フレームワークでこのアクション・タイプを使用し、Javaメソッド(EJB)の起動アクションを作成するには、次のタスクが完了している必要があります。
ターゲットEJBをURLとともに、そのEJB用のJNDIロケーションに追加します。アクション・フレームワークでは、EJBがデフォルトのロケーション/ejb
にデプロイされることが前提となる点に注意してください。
構成ファイルのregistry要素を、ターゲットEJBを参照するように変更します。これに必要な構成の詳細は、第5.3.2.2項「「Javaメソッドの起動」アクション・タイプ・レジストリの例」を参照してください。
EJBメソッドを起動するために、資格証明ストアに資格証明を追加します。EJBメソッドの起動時に資格証明を渡すために、適切な構成を追加する必要があります。詳細は、第5.4.1項「Oracle BI EEの資格証明」および第5.5項「アクション・フレームワークで使用する資格証明の追加および保守」を参照してください。
アクション・フレームワークは、公開されたJavaメソッドをEJBのリモート・インタフェースによって検索します。公開されたメソッドのパラメータは、アクション用のパラメータとなります。
EJBメソッドをデプロイする場合、Actionframework-common.jarにあるoracle.bi.action.annotation.OBIActionParameterクラスをインポートできますが、変更はできません。このクラスは、Oracle Business Intelligenceのインストールとともにデプロイされるため、アクションの作成時にこのクラスを使用して、アクション・フレームワークが使用するパラメータに注釈を付けることができます。
次の例は、ArchiveReportという名前のメソッドを公開するリモート・インタフェースを定義するためのコードを示しています。oracle.bi.action.annotation.OBIActionParameterのインポート文、および
@ OBIActionParameterというアノテーションを参考にしてください。このアノテーションによって、アクションの作成時に表示するパラメータ名およびプロンプト値を指定することができます。
package project1; import java.io.FileNotFoundException; import java.io.IOException; import javax.activation.DataHandler; import javax.ejb.Remote; import oracle.bi.action.annotation.OBIActionParameter; @Remote public interface ArchiveReport { String ArchiveReport( @OBIActionParameter (name = "Filename", prompt = "Enter filename location:") String filename, @OBIActionParameter (name = "Analysis", prompt = "Report to Archive:") DataHandler document) throws FileNotFoundException, IOException; }
カタログからEJB内のJavaメソッドに、ドキュメントを送信することができます。ドキュメントに含まれるバイナリ・データは、特定のJavaデータ・タイプを使用して送信されます。そのため、分析をパラメータで受け取るJavaメソッドを作成する場合、そのJavaメソッドのパラメータに特定のJavaデータ・タイプ(javax.activation.DataHandler)を含める必要があります。アクション・フレームワークは、このデータ・タイプを、サポート済エクスポート・フォーマット(PDF、HTMLなど)のドキュメントのうちの1つが受信可能なデータ・タイプと認識します。
このアクション・タイプによって、ユーザーはターゲットのJavaScript関数を参照し、アクションを作成して選択した関数を起動することが可能になります。
プレゼンテーション・サービスにおける、このアクション・タイプの作成に関する詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』のアクションの使用に関する項を参照してください。
次の情報を使用すると、JavaScript関数の作成に便利です。
アクションで「ブラウザ・スクリプトの起動」のコールに使用されるターゲットJavaScript関数は、次の場所にあるUserScripts.jsファイル内にあります。
MW_HOME/user_projects/domains/bifoundation_domain/servers/bi_server1/tmp/_WL_user/analytics_11.1.1.2.0/<installation dependent folder>/war/res/b_mozilla/actions/UserScripts.js
サンプルのUserScript.jsファイルは、付録A「サンプル・ファイル」にあります。
UserScripts.jsファイルを使用してユーザー定義のJavaScript関数を追加し、クライアント側のスクリプト・アクションから起動することができます。
カスタム関数は、関数名が製品のコードと競合しないようにするとともに、アクションの作成時にアクション・フレームワークが関数を識別できるようにするために、USERSCRIPTというネームスペースを使用する必要があります。
パッチまたはアップグレードする度に、UserScripts.jsファイルをバックアップして元に戻す必要があります。そうしないと、ファイルはデフォルトのファイルに置き換えられ、カスタムのJavaScript関数が失われます。
ユーザー定義のJavaScript関数をUserScripts.jsファイルに追加したら、プレゼンテーション・サーバーと、analyticsを実行しているWeblogic Serverを再起動し、ブラウザ・キャッシュをクリアする必要があります。
UserScripts.jsファイル内のカスタム関数群は、アクション起動時にコールされる実際のコードを記述した関数からなります。またオプションで、アクション・フレームワークがアクションの作成時に関数を参照するとともに、関数のパラメータに値をマッピングするために使用する、関数に関連付けられた「publish」オブジェクトがファイルに含まれます。
この例では、アクションからのコールが可能なJavaScript関数、USERSCRIPT.example_displayParametersを示します。ターゲット関数は、1つのパラメータと名前付き(パラメータ名で索引付けされた)の値の配列を受け取ります。
/** This is an example function to display all parameters that are received * @params {Array} aParams an array of values indexed by the parameter name */ USERSCRIPT.example_displayParameters = function(aParams) { var sArgs = ""; for( args in aParams ) { var argName = args; var argValue = aParams[argName]; sArgs += "Parameter name: " + argName + " Value: " + argValue; sArgs += "\n"; } alert( sArgs.length == 0 ? "No Parameters" : sArgs ); };
USERSCRIPT.parameterオブジェクトは、UserScripts.jsファイルの先頭で定義されます。このオブジェクトは、「ブラウザ・スクリプトの起動」アクションの作成時に使用するカスタムJavaScript関数内のパラメータを定義するため、アクション・フレームワークによって使用されます。各パラメータ・オブジェクトには、名前、アクション作成時にパラメータに対して表示されるテキストを保持するプロンプト値、および、デフォルト値が含まれます。
/** This is the parameter object you can create to supply default parameters on creation of Script action. * See the 'displayParameters' example below for usage. * @param {String} sName is the unique name of parameter. * @param {String} sPrompt is the display text used to prompt for the parameter value. * @param {String} sValue (Optional) is the default value for the parameter. */ USERSCRIPT.parameter = function(sName, sPrompt, sValue) { this.name = sName; this.prompt = sPrompt; this.value = sValue; };
この例では、アクション・フレームワークのためのパラメータを定義する「publish」オブジェクトの定義を示します。「publish」オブジェクトを含めUSERSCRIPTネームスペース内のすべての関数は、アクション作成時に参照して選択することが可能です。publishオブジェクトは、アクションによってターゲットJavaScript関数に渡されるパラメータの配列を定義します。関連付けられた「publish」オブジェクトを持たない関数もアクションから起動することは可能ですが、アクション・フレームワークはそのようなプライベート関数を参照することができません。その場合は、パラメータを手動でアクション定義に追加する必要があります。
USERSCRIPT.example_displayParameters.publish = { // The existence of this 'publish' object causes the 'USERSCRIPT.example_displayParameters' function to be // shown when browing the available user script functions (during creation of a Script action). // If you wish the Script function to have parameters automatically created on selection of the function, // create a 'parameters' object as shown below. // You can have any number of parameters, with each parameter requiring a unique name, prompt and an // optional value. parameters : [ new USERSCRIPT.parameter( 'p1', 'Enter value for Param 1', 'p1 default value' ), new USERSCRIPT.parameter( 'p2', 'Enter value for Param 2', 'p2 default value' ), new USERSCRIPT.parameter( 'p3', 'Enter value for Param 3' ) ] // If no generated parameters are required, either create an empty array // parameters : [] // or don't declare the 'parameters' object at all. };
このアクション・タイプは、現在のエージェントの完了時に、カスタム・スクリプトのファイル名を指定して(Microsoft Windows上で)実行できます。カスタム・スクリプトのタイプは、JavaScriptまたはVBScriptのどちらかが可能です。デフォルトでは、スクリプトは次のディレクトリに保存されます。
ORACLE_INSTANCE\bifoundation\OracleBISchedulerComponent\coreapplication_obischn\scripts\common
例:
D:\OBI11g\instances\instance1\bifoundation\OracleBISchedulerComponent\coreapplication_obisch1\scripts\common
ただし、管理者はこのデフォルト・パスを変更できます。このデフォルト・パスを制御する構成の設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のエージェントの構成および管理に関する項、および『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionジョブ・スケジューリング・ガイド』のOracle BI Schedulerの導入に関する項を参照してください。
このアクション・タイプの設定時に、スクリプトに結果を渡すかどうか選択できるほかに、フォーマットを指定できます。追加パラメータを手動で追加することも可能です。渡されるコンテンツ・タイプ(条件付きリクエストまたは配信コンテンツのどちらか)に応じて、次のいずれかのフォーマットで結果を渡すことができます。
MHTML (電子メールで使用されるMIME HTML)
プレーン・テキスト
XML
CSV
Excel
Powerpoint
「サーバー・スクリプトの起動」アクションを作成するには、カスタム・スクリプト・ファイルがOracle BIデリバー・サーバー(スケジューラ)と同じサーバー上に存在しているかどうか確認する必要があります。スクリプトがデフォルトで保存されるディレクトリの詳細は、前述の項を参照してください。
エージェントは、データが条件を満たすかどうかに応じてアクションを実行できます。エージェント、エージェント作成手順、およびエージェントへのアクションの追加に関する概念的な詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』のコンテンツの配信に関する項およびアクションの使用に関する項を参照してください。
「エージェントの起動」アクションをエージェントに追加し、次の条件が該当する場合、親エージェントの結果から生成されたフィルタの値を使用して子エージェントが1回起動されます。
「エージェントの起動」アクションの追加先となる親エージェントは、自らのコンテンツを配信し、関連付けられたアクションを実行するかどうかを決定する際に条件を使用します。
「エージェントの起動」アクションは子エージェントを起動し、子エージェントもまた、自らのコンテンツを配信し、関連付けられたアクションを実行するかどうかを決定する際に条件を使用します。そして、その条件は、列プロンプトによって自身のデータをフィルタする分析に基づきます。
たとえば、次のものがあるとします:
地域、地区、市および合計(売上)の列を使用する分析に基づく条件を使用する親エージェント。
地域、地区、市および合計(売上)の列を使用し、地域と市をフィルタする分析に基づく条件を使用する子エージェント。
そして、親エージェントを実行した場合、次の結果が生成されるとします:
地域 | 地区 | 市 | 合計(売上) |
---|---|---|---|
中央 | A | C1 | 100 |
西部 | B | C2 | 200 |
子エージェントは、親エージェントの結果によって生成されたフィルタの値(地域=中央かつ市=C1、または、地域=西部かつ市=C2)を使用して、1回実行されます。
Oracle BI EE 10gでは、カスタムJavaプログラムをiBotの終了時にWindowsおよびUNIX上で実行するよう指定することができます。最新のOracle BI EEに移行する場合、これらのアクションは読取り専用のJavaジョブ・アクションにアップグレードされます。
新規アクションを作成してJavaメソッドを実行しようとする場合、Javaメソッド(EJB)を起動アクション・タイプを使用する必要があります。10gからアップグレードしたJavaジョブ・アクションを使用するためには、ターゲットJavaクラスを含むJARファイルを、Oracle BI JavaHostで指定されたとおり、デフォルトのユーザーJARファイル・パスにコピーする必要があります。ターゲットJavaクラスがOracle BI EEのクラスをインポートしている場合、11gのOracle BI EEのクラスをクラスパスで参照しながらターゲットJavaクラスを再コンパイルする必要があります。また、ターゲットJavaクラスの起動時に11gのOracle BI EEのクラスが使用可能であることを確認します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionジョブ・スケジューリング・ガイド』のOracle BIスケジューラの導入に関する項を参照してください。