ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebCenter Portalの管理
11gリリース1 (11.1.1.8.3)
E51441-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

25 パーソナライズの管理

この章では、Oracle WebCenter Portalのパーソナライズを構成および管理する方法について説明します。

この章には次の項が含まれます:


権限:

この章のタスクを実行するには、Oracle WebLogic Server管理コンソールでWebLogic ServerのAdminロール、デプロイされたアプリケーションでAdministratorロールが付与されている必要があります。

  • WebCenter Portal: Administratorロール。ポータル・ビルダー管理から付与します。

  • Portal Frameworkアプリケーション: Administratorロール。管理コンソールから付与します。

ロールと権限の詳細は、第1.8項「管理操作、ロールおよびツールの理解」を参照してください。


25.1 Oracle WebCenter Portalのパーソナライズについて

Oracle WebCenter Portalのパーソナライズを使用すると、ポータル・アプリケーションのユーザー・エクスペリエンスを動的に導出できます。パーソナライズは、定義された入力データ・ソースを評価し、その評価に基づいてデシジョンを生成し、この情報を宣言的に定義されたパーソナライズ・シナリオに適用します。パーソナライズでは、たとえば、人事管理データベース内のユーザーに関する情報に基づいてコンテンツを返したりアプリケーション・フローを変更することで、その特定のユーザー向けのアプリケーション・エクスペリエンスを提供できます。

パーソナライズは、WC_Utilitiesサーバーのwc_domainにアプリケーションとしてインストールされます。クライアント・アプリケーションは、リモートからHTTP経由でRESTfulサービスを使用してパーソナライズにアクセスします。デザインタイムJDeveloperツールを使用してプロパティ・サービスおよびコンダクタのアーティファクトを作成し、それをリモートからRESTコールで実行できます。パーソナライズは、アプリケーションを最初に作成するときに、JDeveloper統合ドメインでパーソナライズ・テクノロジ・ライブラリを含むプロジェクトにも使用できます。評価目的および反復開発において、このドメインはパーソナライズを最もすばやく簡単に探索できる手段です。パーソナライズのアーキテクチャとサービスの詳細は、『Oracle Fusion Middleware Oracle WebCenter PortalおよびOracle Jdeveloperでのポータルの開発』の「Oracle WebCenter Portalアプリケーションのパーソナライズ」を参照してください。

25.2 パーソナライズの前提条件と制限事項

この項では、パーソナライズのシステム要件と依存性について説明します。

25.2.1 パーソナライズのインストール要件

パーソナライズ・コンダクタ・シナリオでCMIS (Content Management Interoperability Services)データ・プロバイダ、アクティビティ・グラフ・データ・プロバイダまたはピープル・コネクション・ロケータを使用している場合は、Oracle WebCenter Portalをインストールする必要があります。高可用性環境にかぎり、Coherenceも必要です。

25.2.2 パーソナライズREST APIの構成要件

パーソナライズREST APIは、第24.2項「RESTの有効化に必要な手動構成の実行」で説明するサーバー側の2つの構成を実行した後で使用できるようになります。 セキュリティ・トークンの詳細は、『Oracle Fusion Middleware Oracle WebCenter PortalおよびOracle Jdeveloperでのポータルの開発』のWebCenter Portal REST APIのセキュリティに関する考慮事項に関する項も参照してください。

25.2.3 パーソナライズの構成要件

CMISプロバイダ、アクティビティ・グラフ・プロバイダ、ピープル・コネクション・ロケータまたはカスタム・プロバイダを使用する場合は、これらを第25.4項「プロバイダの構成」の説明に従って構成する必要があります。

ポータルまたはPortal Frameworkアプリケーションでコンテンツ・プレゼンタを使用してコンテンツを表示する場合は、第25.6項「コンテンツ・プレゼンタの構成」の説明に従ってコンテンツ・プレゼンタを構成して、シナリオの結果が表示されるようにする必要もあります。

パーソナライズでは、WebCenter Portalドメイン内の様々な管理対象サーバー間のシングル・サインオン(SSO)を実現するためにトラスト・サービスが使用されます。user_projects/applications/wc_domainディレクトリにあるWLSTスクリプトのconfigureTrustWCPS.pyconfigureConnectionsWCPS.pyを使用して、トラスト・サービスを構成する必要があります。JDeveloperの統合ドメインの場合は、DefaultDomain/scrpts-wcpsディレクトリにある単一のスクリプト(configureWCPS.py)のみを使用します。このスクリプトによるトラスト・サービスおよびシングル・サインオンの構成の詳細は、第25.7項「シングル・サインオンの構成」を参照してください。

25.2.4 パーソナライズのセキュリティ

パーソナライズは、WLSセキュリティ・レルム内で構成されているどのユーザー認証サービスのソースとも互換性があります。したがって、ドメインのデフォルトのアイデンティティ・ストアおよびポリシー・ストアと資格証明ストアを使用できます。

ピープル・コネクション・ロケータまたはアクティビティ・グラフ・データ・プロバイダを使用している場合、各ユーザーがWebCenter Portalユーザーとしても構成されている必要があります。

パーソナライズRESTサービスには、事前構成されたパーソナライズWebアプリケーションを介してアクセスしますが、このアプリケーションはresourceIndexを除くすべてのリソース(すべてのURI)に対して認証アクセスを要求します。これらの制約を変更して、匿名アクセスが必要なシナリオを実行する際のセキュリティを下げたり、新しいシナリオを作成できないようにセキュリティを強化したりできます。デフォルトのセキュリティ設定の変更については、第25.8項「デフォルトのセキュリティ設定のオーバーライド」を参照してください。

WebCenter Portalでは、トラスト・サービスがパーソナライズRESTコールにシングル・サインオンを提供します。このため、WLS TrustServicesIdentityAsserterを構成する必要があります(事前構成されていません)。これは、WLSコンソールを使用するか、user_projects/applications/wc_domainディレクトリにあるWLSTスクリプトのconfigureTrustWCPS.pyconfigureConnectionsWCPS.pyを使用して手動で実行できます。JDeveloperの統合ドメインの場合は、DefaultDomain/scrpts-wcpsディレクトリにある単一のスクリプト(configureWCPS.py)を使用します。

必要に応じて、WebCenter Portalアプリケーションからパーソナライズ・サーバーおよびシングル・サインオンを指定したパーソナライズ・プロバイダへの接続を保護することもできます。シングル・サインオンの構成の詳細は、第25.7項「シングル・サインオンの構成」を参照してください。アプリケーションによってプロパティ・サービス・データへのアクセスも制限するには、フィルタ(IPropertyPermission)を使用して、プロパティ・データへのアクセスを事前に認可します。

各シナリオでは、基本ロール評価およびテストをサポートするデフォルトの関数ライブラリを使用して、シナリオへのアクセスを認証できます。

25.2.5 パーソナライズの制限事項

デフォルトでは、パーソナライズは管理対象サーバーに有効範囲が設定されたキャッシュを使用します。つまり、管理対象サーバー外にキャッシュされたデータに変更が加えられた場合、その変更はパーソナライズの追加インストールでは認識されません。パーソナライズのクラスタ化された(複数の)デプロイでは、キャッシュがクラスタに対応するようにCoherenceを構成できます。

25.2.6 パーソナライズの構成オプション

この項では、WebCenter Portalのパーソナライズのデフォルトのプロバイダとその他のオプションの拡張について、およびそれらをパーソナライズ・プロジェクトに統合するために必要な構成について説明します。

デフォルトのパーソナライズ・データ・プロバイダを使用すると、既存のWebCenter Portalツールに基づいてシナリオを記述したり、プロファイル・データにアクセスしたりできます。これらのWebCenter Portalツールは、RESTful Webサービスを介してデータを公開します。パーソナライズ・データ・プロバイダは、これらのWebサービスのRESTクライアントとして機能するので、こうした外部データ・リソースに基づくシナリオをJDeveloper内で簡単に作成できます。独自のデータ・プロバイダおよびプロパティ・ロケータの実装を用意して、独自の外部データ・ソースを統合することもできます。

CMISプロバイダ

CMISプロバイダは、パーソナライズ・プロジェクトでオプションのデータ・ソースとして使用できるデフォルトのプロバイダです。WebCenter Portalコンテンツ・サービスは、CMIS (Content Management Interoperability Services)標準を使用して公開されます。CMIS RESTサービスはWC_Spacesサーバー上で稼働し、(別途の構成の選択に基づいて)Oracle WebCenter Content Serverへのアクセスを提供します。

パーソナライズ・ユーザーがポータル・ユーザーでもある場合は、ポータルを通して格納されているユーザー・コンテンツにシナリオからアクセスできます。Content Serverの詳細は、第9章「コンテンツ・リポジトリの管理」を参照してください。CMISプロバイダの構成の詳細は、第25.4.2項「CMISプロバイダの構成」を参照してください。

アクティビティ・グラフ・データ・プロバイダ

アクティビティ・グラフ・データ・プロバイダは、パーソナライズ・プロジェクトでオプションのデータ・ソースとして使用できるデフォルトのプロバイダです。ポータルまたはPortal Frameworkアプリケーションからのアクティビティ・ストリーム情報は、アクティビティ・グラフを通じて公開されます。アクティビティ・グラフRESTサービスはWC_Spacesサーバー上で稼働し、アクティビティ・グラフによって作成された、アクティビティ・ストリームに基づく推奨へのアクセスを提供します。

パーソナライズ・ユーザーがポータル・ユーザーでもある場合、アクティビティ関連の推奨(ポータルのContent-type用)にシナリオからアクセスできます。アクティビティ・グラフ・サービスの詳細は、第10章「アクティビティ・グラフの管理」を参照してください。アクティビティ・グラフ・プロバイダの構成の詳細は、第25.4.3項「アクティビティ・グラフ・プロバイダの構成」を参照してください。

Oracle People Connectionsロケータ

ピープル・コネクション・ロケータは、パーソナライズ・プロジェクトでオプションのデータ・ソースとして使用できるロケータです。ピープル・コネクションの情報は、ピープルWebサービスを通じて公開されます。ピープル・コネクションRESTサービスはWC_Spacesサーバー上で稼働し、ポータルのコンテキストに作成されたソーシャル・プロファイル・データへのアクセスを提供します。パーソナライズ・ユーザーがポータル・ユーザーでもある場合、ピープル・プロファイル・データにシナリオからアクセスできます。ピープル・コネクションの詳細は、『Oracle Fusion Middleware Oracle WebCenter PortalおよびOracle Jdeveloperでのポータルの開発』の「ピープル・コネクションの統合」の章を参照してください。他のデフォルトのデータ・プロバイダとは異なり、ピープル・コネクションWebサービスには、汎用のプロパティ・サービス・データ・プロバイダを介したIPropertyLocator拡張インタフェースを使用してアクセスします。ピープル・コネクション・プロバイダの構成の詳細は、第25.4.4項「Oracle People Connectionsロケータの構成」を参照してください。

25.3 WebCenter OPSSトラスト・サービスの構成

パーソナライズでは、OPSS (Oracle Platform Security Services)の新機能をシングル・サインオンに利用します。パーソナライズの最も単純なユースケースを除くすべてのユースケースで、この機能をここで説明する構成手順に従って有効化する必要があります。

次の場合は、OPSSトラスト・サービスを構成する必要がありません。

次の場合は、OPSSトラスト・サービスを構成する必要があります。

この項には次のサブセクションが含まれます:

25.3.1 Oracle WebCenter Portalドメインでのトラスト・サービスの構成

デフォルトのOracle WebCenter Portalインストールにはパーソナライズ・ドメイン拡張テンプレートが含まれており、このテンプレートは2つのWLST Pythonスクリプト(configureTrustWCPS.pyconfigureConnectionsWCPS.py)を次のドメイン・ホームにインストールします。

oracle/user_projects/applications/wc_domain/scripts

これらのスクリプトおよび関連するconfigureWCPS.propertiesファイルには、使用方法の説明が記載されています。これらはサンプル・スクリプトであり、実行する前にプロパティ・ファイルを編集して、少なくともocs.server名(通常はContent Server)、spaces.server.host名およびfmwconfig.locationを指定する必要があります。これらの値はOracle WebCenter Portalインストールごとに一意のものなので、編集する必要があります。それ以外の値もローカル環境に応じて変更が必要な場合があります(たとえば、マシン・ポート番号はそれぞれ異なる可能性があります)。

configureConnectionsWCPS.pyスクリプトは、デフォルトのパーソナライズ接続情報(つまり、アクティビティ・グラフ、CMISおよびピープル・コネクションの接続情報)を設定します。このスクリプトはWCPS.pyライブラリを使用しますが、このライブラリはOracle WebCenter Portalドメインにのみインストールされています(統合WLSドメインにはインストールされていません)。ただし、Oracle WebCenter PortalドメインでconfigureConnectionsWCPS.pyを実行して、(t3 URLを使用して)統合WLSドメインを指すようにさせることができます。


注意:

configureTrustWCPS.pyによって設定されるトラスト・サービスの構成は、リモートから適用しないでください。このスクリプトは、WebCenter Portalドメイン(wc_domain)からのみ実行してください。


WCP_ORACLE_HOME/common/bin/wlst.shコマンド・ファイル($WCP_ORACLE_HOME/common/bin/wlst.sh configureconnectionsWCPS.pyなど)を使用して、これらのスクリプトの環境変数を正しく設定する必要があります。

各スクリプトを実行したら、管理サーバーを含むドメイン内の全サーバーを再起動します。

構成のテスト

トラスト・サービスのシングル・サインオンの動作を確認するには、カスタムJEE Webアプリケーションから(パーソナライズ・クライアント・ライブラリを使用して)コンダクタまたはプロパティ・サービスを呼び出すか、パーソナライズ接続(アクティビティ・グラフまたはCMISデータ・プロバイダなど)を使用するシナリオを実行するか、ピープル・コネクション・ロケータを使用してピープル・コネクションのプロパティにアクセスする必要があります。

前述のいずれかを実行すると、次のようなデフォルトのログ・エントリがWC_Utilities-diagnostic.logに記録されます。

[2010-11-10T07:30:40.362-08:00] [WC_Utilities] [NOTIFICATION] [] [oracle.jps.trust] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)']
[ecid: 0000IkqQG4NBh49LJeCCyf1CqfXw000008,0] [APP: wcps-services#11.1.1.4.0] Token issue operation

また、WC_Spaces-diagnostic.logにも次のようなデフォルトのログ・エントリが記録されます(そこでサービスにアクセスしている場合)。

[2010-11-10T07:30:40.236-08:00] [WC_Spaces] [NOTIFICATION] [] [oracle.jps.trust] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)']
[ecid: d461d36d4a552b90:-1fe62a5d:12c365bb19b:-8000-000000000000002c,0] [APP: webcenter#11.1.1.4.0] Token validate operation.

25.3.2 統合WLSドメインでのトラスト・サービスの構成

JDeveloperインストーラには、次のディレクトリにある統合WLSドメインを構成するための別のPythonスクリプトも付属しています。

DefaultDomain\scrpts-wcps\

このスクリプトは、手動でもJDeveloperの「外部ツール」機能を使用しても実行できます。

デフォルト以外のユーザーまたはパスワードを使用している場合は、プロパティ・ファイルを編集してください。統合WLSドメインを作成して起動したら、scrpts-wcpsディレクトリからスクリプトを実行します。

Oracle\MiddlewareRC8\oracle_common\common\bin\wlst.cmd configureWCPS.py configureWCPS.properties

注意:

configureTrustWCPS.pyスクリプトは、「ツール」メニューから「WCPSトラスト・サービスの構成」を選択すると呼び出されます。デフォルトでは、このスクリプトは統合WebLogic Serverのポート7101を参照します。なんらかの理由で、デフォルトの統合WebLogic Serverのポート番号が変更されている場合は、configureWCPS.propertiesファイルを正しいポート番号で更新する必要があります。このスクリプトとプロパティのファイルは、次のドメイン内に配置されています。

\system*\DefaultDomain\scrpt-wcps\configureWCPS.properties

\system*\DefaultDomain\scrpt-wcps\configureWCPS.py

configureWCPS.propertiesファイルで、次の行を変更する必要があります。

admin.url=t3://localhost:7101


統合WLSドメインを再起動します。

構成のテスト

トークン発行操作およびトークン検証操作を確認するには、デフォルトのロギング・レベルでは不十分です。次に示すように、JDeveloperの「Oracle Diagnostic Loggingの構成」機能を使用して、oracle.jps.trustロガーに移動し、レベルをFinestに設定します。

  1. 「表示」メニューの「アプリケーション・サーバー・ナビゲータ」を選択します。

  2. 「アプリケーション・サーバー」を開きます。

  3. 「IntegratedWeblogicServer」を右クリックして、「Oracle Diagnostic Loggingの構成」を選択します。

  4. ロギング・レベルをFinestに設定します。

コンダクタまたはプロパティ・サービスを呼び出すカスタムJEE Webアプリケーションを含むシナリオを実行します。

25.3.3 ドメイン間トラストの構成

トラスト・サービスはドメイン間トラストをサポートしています。つまり、複数の異なるWLSドメインにキーストアが作成されている場合、クライアントはドメイン「A」でトークンを割り当て、そのトークンを使用したHTTPリクエストをドメイン「B」に対して発行し、シングル・サインオンによるドメイン「B」でのユーザー/リクエストの検証および認証をアイデンティティ・アサータに実行させることができます。ただし、重要な前提として、ドメイン「A」内のユーザーと同じユーザーがドメイン「B」に存在する必要があります。

デフォルトでは、統合WLSドメインでconfigureWCPS.pyスクリプトを実行すると、extDomain.cerという名前の証明書が生成されます。統合WLSドメインとOracle WebCenter Portalドメインの間のドメイン間トラストを有効にする手順は次のとおりです。

extDomain.cerをOracle WebCenter Portalドメイン(wc_domain)インストールにコピーして、そこでインポートします。extDomain.cerファイルをscriptsディレクトリにコピーします。

oracle/user_projects/applications/wc_domain/scripts

次のコマンドを入力して証明書をインポートします。

keytool -importcert -alias orakey1 -file extDomain.cer -keystore ../../../../wlserver_10.3/wc_domain/config/fmwconfig/default-keystore.jks -storepass weblogic

Oracle WebCenter Portalドメイン内の各サーバーを再起動します。

構成のテスト

ドメイン間トラストを検証する最も簡単な方法は、まず、WebCenter PortalドメインのWC_Spacesサーバーを指すピープル・コネクション・パーソナライズ接続を統合WLSドメインに作成します。次に、ピープル・コネクションのプロパティ値を取得する簡単なシナリオを作成して、統合WLSドメインにデプロイします。最後に、前述の「トークン検証操作」というメッセージがWC_Spacesサーバーのログに記録されていることを確認します。

25.4 プロバイダの構成

WebCenter Portalのパーソナライズには、アクティビティ・グラフ用およびContent Server用のデフォルトのプロバイダと、ピープル・コネクション用のロケータが用意されています。これらのプロバイダのいずれかを使用するシナリオでは、次の各項の説明に従って、WLSTスクリプトのconfigureWCPS.pyを使用してプロバイダを構成する必要があります。カスタムのプロバイダまたはロケータを使用している場合は、カスタム・プロバイダの構成に関する項の説明に従って、それらも構成する必要があります。シナリオでプロバイダやロケータを使用していない場合は、プロバイダやロケータを構成する必要はありません。

デフォルトのプロバイダを使用しないシナリオや、カスタムのプロバイダまたはOracle Technology Network (OTN)からダウンロードしたプロバイダのみを使用するシナリオも開発できます。また、JDeveloper統合ドメイン内のみで開発する場合は、通常、これらのWC_Spacesベースのサービスにはアクセスできません(WebCenter Portalは統合ドメイン内では稼働しないため)。拡張構成(configureWCPS.pyでもサポートされています)を使用すれば、WC_Spacesドメイン内のWebCenter Portalサービスに統合ドメインのパーソナライズ・サーバーからアクセスできます。これにはドメイン間トラストを使用するので、プロバイダ接続を構成する必要があります。WC_Spacesドメイン内にあるconfigureTrustWCPS.pyスクリプトとconfigureConnectionsWCPS.pyスクリプトを使用するか、DefaultDomain/scrpts-wcpsドメイン・ディレクトリにあるJDeveloperの統合WLSドメイン用のconfigureWCPS.pyスクリプトを使用して、適切なWLS管理サーバーをポイントすることにより、対応するドメインを構成します。

25.4.1 プロバイダ接続設定の作成または変更

この項では、WLSTおよびFusion Middleware Controlを使用して、接続情報を作成または変更する方法について説明します(wcps-connections.xmlに格納)。また、カスタム・プロバイダを構成するためのカスタム構成クラスを記述する方法についても説明します。

この項には次のサブセクションが含まれます:

25.4.1.1 パーソナライズ接続情報の理解

パーソナライズ接続情報は、ドメイン・ディレクトリ内の次の場所にあるwcps-connections.xmlに保持されています。

<domain directory>/config/fmwconfig/wcps-connections.xml

このファイルを直接編集することはお薦めできませんが、接続情報を変更するには、次のように複数の方法があります。

  • WLST: WLSTコマンドを使用してスクリプトを作成することにより、接続構成を表すシステムMBeansにアクセスできます。WLSTコマンドを使用して接続設定を構成する方法の詳細は、第25.4.1.3項「WLSTを使用した接続の構成」を参照してください。

  • Fusion Middleware Control: Fusion Middleware Controlを使用して、パーソナライズとともにデプロイされたJMX MBeansを表示または編集できます。Fusion Middleware Controlを使用して接続設定を構成する方法の詳細は、第25.4.1.4項「Fusion Middleware Controlを使用した接続の構成」を参照してください。

25.4.1.2 接続構成の属性

接続プロパティは、次の形式でwcps-connections.xmlに保持されています。

        <properties>
            <property>
                <name>{property name}</name>
                <value>{property val}</value>
            </property>

WLSTまたはFusion Middleware Controlを使用して変更できる接続プロパティと属性を次に示します。各接続プロパティは、接続に使用されるプロバイダまたはロケータに固有のものです。たとえば、CMISプロバイダでは、アクティビティ・グラフ・プロバイダとは異なる接続プロパティが使用されます。

  • <connection-name>: この接続の一意の名前。接続は名前によって取得できます。

  • <connection-type>: この接続の一意のタイプ。接続はタイプによって取得できます。connection-typeを指定する必要があるのは、カスタム接続の場合のみです。デフォルトのデータ・プロバイダの場合、このフィールドは内部的に設定されています。

  • <namespace>: 一般的に、アクセスするシナリオがデプロイされるネームスペースに一致する必要があります。ネームスペースでは、特定のシナリオに対する適切な<connection>を検索する方法をコンダクタが決定します。ワイルドカードの「*」を使用すると、この接続要素をすべてのネームスペースで使用可能にできます。WLSTスクリプト内で指定されない場合、namespaceのデフォルトは「*」になります。

  • <name>isDefault</name>: この接続をデフォルトの接続としてマークします(複数が定義されている場合)。これは接続プロパティなので、次の形式になっている必要があります。

    <properties>
                <property>
                    <name>isDefault</name>
                    <value>true</value>
                </property>
    </properties>
    

    複数の接続の「isDefault」フラグをtrueに設定できます。この場合、どのデフォルト接続を返すかは個々のプロバイダ次第です。

25.4.1.3 WLSTを使用した接続の構成

プロバイダ接続を簡単に構成できるように、一連のパーソナライズWLSTコマンドが用意されています。これらのコマンドを組み合せてスクリプトを作成できます。スクリプトの例が用意されており、これをカスタマイズしたり、直接使用することができます。このサンプル・スクリプトは、プロバイダ接続を設定し、さらにトラスト・サービスを初期化します。

パーソナライズWLSTコマンドはWCP_ORACLE_HOME/common/wlst/WCPS.pyにインストールされており、WCP_ORACLE_HOME/common/bin/wlst.sh (cmd)スクリプトを使用して呼び出します。

初期状態の各データ・プロバイダは、次の各項で説明する特定のWLSTコマンドでサポートされています。カスタムのデータ・プロバイダについては、汎用のWLSTコマンドを使用して接続を構成します。例:

createWCPSCustomConnection('customConnectionName', 'connectionType', properties={ 'name1': 'value1', 'name2': 'value2' })

パーソナライズWLST接続およびその他のコマンドの全リストは、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』のパーソナライズに関する項を参照してください。

25.4.1.4 Fusion Middleware Controlを使用した接続の構成

Fusion Middleware Controlを使用して、パーソナライズとともにデプロイされたJMX MBeans (アクティビティ・グラフ、Content Serverおよびピープル・コネクションの接続構成MBeans)を表示または編集できます。

接続構成MBeansを表示または編集する手順は次のとおりです。

  1. Fusion Middleware Controlを開き、「パーソナライズ・サービス(Personalization Services)」に移動します。

  2. 「WCPS-Services」をクリックします。

  3. 「アプリケーション開発」ドロップダウン・メニューから、「システムMBeanブラウザ」を選択します。

  4. 「アプリケーション定義のMBean」の下の「MBeanブラウザ」でoracle.wcps.connectionsを選択し、変更する接続情報までドリルダウンします。

  5. 「属性」タブで、「プロパティ」を選択して接続属性の現在の値を表示します。

  6. 「操作」タブで、「setProperty」を選択し、「起動」をクリックして名前/値ペアを変更します。

25.4.1.5 カスタム構成クラスの記述

カスタム構成クラス(@ConnectionConfigurationという注釈付きのクラス)を実装するには、独自のデータ・プロバイダを記述します。これにより、カスタム・データ・プロバイダがパーソナライズ接続フレームワークを使用して、パーソナライズWLSTスクリプトによって構成された接続情報を取得できるようになります。

データ・プロバイダのカスタム構成クラスについては、『Oracle Fusion Middleware Oracle WebCenter PortalおよびOracle Jdeveloperでのポータルの開発』の「カスタム・データ・プロバイダの実装: 概要」で詳細に説明されています。

25.4.2 CMISプロバイダの構成

統合WLSドメイン以外(つまり、WC_Spacesドメイン内)で作業している場合、CMISプロバイダをシナリオで使用するには、まずその接続設定を構成する必要があります。

CMISプロバイダの接続設定は、wc_domainコンダクタ拡張ディレクトリにあるwcps-connections.xmlに保持されています(ドメインが有効範囲)。このファイルを直接編集することはお薦めできませんが、接続設定を変更するには、次のように複数の方法があります。第25.4.1項「プロバイダ接続設定の作成または変更」で説明している方法のいずれかを使用して、CMISプロバイダの接続設定を構成してください。

接続要素およびプロパティの説明

<connection-name>: この接続の一意の名前。接続は名前によって取得できます。

<connection-type>cmis.provider.connection</connection-type>: CMISプロバイダの接続タイプを定義します。

<namespace>: 一般的に、アクセスするシナリオがデプロイされるネームスペースに一致する必要があります。ネームスペースでは、特定のシナリオに対する適切な<connection>を検索する方法をコンダクタが決定します。ワイルドカードの「*」を使用すると、この接続要素をすべてのネームスペースで使用可能にできます。

<name>isDefault</name>: この接続をデフォルトの接続としてマークします(複数の接続が定義されている場合)。

<name>repositoryId</name>: 使用環境内のコンテンツ・リポジトリと一致するように、このプロパティを変更する必要があります。

<name>path</name>: 使用環境内のコンテンツ・リポジトリと一致するように、このプロパティを変更する必要があります。指定しない場合のデフォルトは/api/cmis/repository/repositoryIdです。

<name>scheme</name>: CMIS RESTサービスにアクセスするプロトコル(HTTPまたはSSL用のHTTPS)。明示的に指定しない場合、デフォルトはHTTPに設定されています。

<name>host</name>: CMIS RESTサービスをホストするマシンの名前。これは、WC_Spaces管理対象サーバーのマシン名です。

<name>port</name>: CMIS RESTサービスをホストするマシンのポート番号。これは、WC_Spaces管理対象サーバーのマシンのポート番号です。

<name>pathTrim</name>: 明示的に指定しない場合のデフォルトは切捨てなしです。

<name>rewriteUrls</name>: 「なし」「コンシューマ」または「プロデューサ」に設定できます。詳細は、RESTプロキシのページを参照してください。ドキュメント・リンクのCMISサーバーからのダイレクトURLが必要な場合、これを「なし」に設定します。デフォルトはリライトなし(「なし」)です。

<name>username</name>: (オプション) CMIS RESTサービスとの接続時に使用するユーザー名。固定のユーザー名への接続を強制するために使用できます。

<name>password</name>: (オプション) CMIS RESTサービスとの接続時に使用するパスワード。usernameと組み合せて、固定のユーザー名/パスワードへの接続を強制するために使用できます。パスワード・アクセスが保護されていないため、開発環境外で使用することはお薦めしません。

<name>timeoutInMillisecs</name>: CMIS問合せ読取りレスポンスがタイムアウトになるまでの時間(ミリ秒)。

<name>propagateTimeoutExceptions</name>: trueの場合、タイムアウト例外を伝播します。それ以外の場合は、例外をログに記録し、CMIS問合せレスポンスに対してNULLを返します。

<name>restResourceURL</name>: restResourceURLは、CMIS RESTサービスのAPIリソースを定義する、REST URLのエンドポイントです。

<property>
    <name>restResourceURL</name>
    <value><a target="_blank" href="http://my.webcenter.host:8888/rest/api/resourceIndex">http://my.webcenter.host:8888/rest/api/resourceIndex</a></value>
</property>

25.4.3 アクティビティ・グラフ・プロバイダの構成

統合WLSドメイン以外(つまり、WC_Spacesドメイン内)で作業している場合、アクティビティ・グラフ・プロバイダに基づくシナリオを使用するには、ローカル環境に応じた接続情報を構成する必要があります。

アクティビティ・グラフの接続設定は、wc_domainコンダクタ拡張ディレクトリにあるwcps-connections.xmlに保持されています(ドメインが有効範囲)。このファイルを直接編集することはお薦めできませんが、接続設定を変更するには、次のように複数の方法があります。第25.4.1項「プロバイダ接続設定の作成または変更」で説明している方法のいずれかを使用して、アクティビティ・グラフ・プロバイダの接続設定を構成してください。

接続要素およびプロパティの説明

<connection-name>: この接続の一意の名前。接続は名前によって取得できます。

<connection-type>activity.provider.connection</connection-type>: アクティビティ・グラフ・プロバイダの接続タイプを定義します。

<namespace>: 一般的に、アクセスするシナリオがデプロイされるネームスペースに一致する必要があります。ネームスペースでは、特定のシナリオに対する適切な<connection>を検索する方法をコンダクタが決定します。ワイルドカードの「*」を使用すると、この接続要素をすべてのネームスペースで使用可能にできます。

<name>isDefault</name>: この接続をデフォルトの接続としてマークします(複数の接続が定義されている場合)。

<name>scheme</name>: アクティビティ・グラフRESTサービスにアクセスするプロトコル(HTTPまたはSSL用のHTTPS)。明示的に指定しない場合、デフォルトはHTTPに設定されています。

<name>host</name>: アクティビティ・グラフRESTサービスをホストするマシンの名前。これは、WC_Spaces管理対象サーバーのマシン名です。

<name>port</name>: アクティビティ・グラフRESTサービスをホストするマシンのポート番号。これは、WC_Spaces管理対象サーバーのマシンのポート番号です。

<name>rewriteUrls</name>: 「なし」「コンシューマ」または「プロデューサ」に設定できます。詳細は、RESTプロキシのページを参照してください。ドキュメント・リンクのCMISサーバーからのダイレクトURLが必要な場合、これを「なし」に設定します。デフォルトはリライトなし(「なし」)です。

<name>user</name>: (オプション)アクティビティ・グラフRESTサービスとの接続時に使用するユーザー名。

<name>password</name>: (オプション)アクティビティ・グラフRESTサービスとの接続時に使用するパスワード。usernameと組み合せて、固定のユーザー名/パスワードへの接続を強制するために使用できます。パスワード・アクセスが保護されていないため、開発環境外で使用することはお薦めしません。

<name>restResourceIndex</name>: RESTリソース索引のhost/portの後ろに追加するURI接尾辞(例: '/rest/api/resourceIndex')

<name>restResourceURL</name>: restResourceURLは、アクティビティ・グラフRESTサービスのAPIリソースを定義する、REST URLのエンドポイントです。

<property>
   <name>restResourceURL</name>
   <value><a target="_blank" href="http://my.webcenter.host:8888/rest/api/resourceIndex">http://my.webcenter.host:8888/rest/api/resourceIndex</a></value>
</property>

25.4.4 Oracle People Connectionsロケータの構成

統合WLSドメイン以外(つまり、WC_Spacesドメイン内)で作業している場合、ピープル・コネクション・ロケータに基づくシナリオを使用するには、ローカル環境に応じた接続情報を構成する必要があります。

プロパティ・サービスでは、ピープル・コネクション・サービスとの接続にIPropertyLocator (ピープル・コネクションIPropertyLocator)が使用されます。ピープル・コネクション・サービスと接続するプロパティ・プロバイダは、このIPropertyLocatorを使用して特定のユーザー(または自身)に対するピープル・コネクションRESTコールを行い、そのRESTサービス・コールが表すPersonオブジェクトを返します。Personの各属性は、そのWebCenter Portalプロファイルの各値を表します。

ピープル・コネクションIPropertyLocatorの接続設定は、wc_domainコンダクタ拡張ディレクトリにあるwcps-connections.xmlに保持されています(ドメインが有効範囲)。このファイルを直接編集することはお薦めできませんが、接続設定を変更するには、次のように複数の方法があります。第25.4.1項「プロバイダ接続設定の作成または変更」で説明している方法のいずれかを使用して、ピープル・コネクションIPropertyLocatorの接続設定を構成してください。

接続要素およびプロパティの説明

<connection-name>: この接続の一意の名前。接続は名前によって取得できます。

<namespace>: 一般的に、アクセスするシナリオがデプロイされるネームスペースに一致する必要があります。ネームスペースでは、特定のシナリオに対する適切な<connection>を検索する方法をコンダクタが決定します。ワイルドカードの「*」を使用すると、この接続要素をすべてのネームスペースで使用可能にできます。

<name>isDefault</name>: この接続をデフォルトの接続としてマークします(複数が定義されている場合)。

<name>scheme</name>: ピープル・コネクションRESTサービスにアクセスするプロトコル(HTTPまたはSSL用のHTTPS)。明示的に指定しない場合、デフォルトはHTTPに設定されています。

<name>host</name>: ピープル・コネクションRESTサービスをホストするマシンの名前。これは、WC_Spaces管理対象サーバーのマシン名です。

<name>port</name>: ピープル・コネクションRESTサービスをホストするマシンのポート番号。これは、WC_Spaces管理対象サーバーのマシンのポート番号です。

<name>user</name>: (オプション)ピープル・コネクションRESTサービスとの接続時に使用するユーザー名。固定のユーザー名への接続を強制するために使用できます。

<name>password</name>: (オプション)ピープル・コネクションRESTサービスとの接続時に使用するパスワード。usernameと組み合せて、固定のユーザー名/パスワードへの接続を強制するために使用できます。パスワード・アクセスが保護されていないため、開発環境外で使用することはお薦めしません。

<name>restResourceIndex</name>: ピープル・コネクションRESTサービスのhost/portの後ろに追加され、resourceIndex (使用可能なRESTサービス)ページの位置を指します(例: '/rest/api/resourceIndex')。

プロパティ・プロバイダへのPersonクラスのブートストラップ

プロパティ・サービスがピープル・コネクションRESTコールの結果を認識して使用するためには、「Person」を認識する必要があります。つまり、「Person」をインスタンス化してそのプロパティを設定する前に、「Person」プロパティ・セット定義を作成するとともに、その個々の属性をプロパティ定義として設定する必要があります。

ピープル・コネクションIPropertyLocatorのコードでは、このプロセスを、次の例のようにweb.xmlファイルで構成されているサーブレット・リスナーでブートストラップして実行してします。

<?xml version="1.0" encoding="UTF-8" ?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
 
    <!-- Allows connection config classes to be loaded from the connections.xml file -->
     <listener>
      <listener-class>oracle.wcps.connection.lifecycle.VersatileModuleLifecycleCallback</listener-class>
    </listener>
 
     <listener>
      <listener-class>oracle.wcps.people.util.BootstrapPropertiesListener</listener-class>
    </listener>
 
</web-app>

ピープル・コネクションREST接続の構成情報へのアクセス

ピープル・コネクションIPropertyLocatorは実際の「プロバイダ」ではないため、アクティビティ・グラフなどのように、プロバイダ・コード内のその接続情報にはアクセスできません。そのかわりに、内部コードではVersatileModuleLifecycleCallbackを使用して、その構成情報を使用できるようにしています。したがって、これはweb.xmlで必ず構成する必要があるリスナーとなります。このリスナーがアクティブ化されたら、コードで接続情報にアクセスするコールを行い、IPropertyLocatorコードをパラメータ化してピープル・コネクションRESTサーバーを指すことができます。

PC IPropertyLocatorとプロパティ・サービス・プロバイダの接続

プロパティ・サービス・プロバイダ(PSP)は、ピープル・コネクションIPropertyLocatorをネームスペースによって認識します。前述のブートストラップ・プロセスでは、PropertySetDefinition (とその定義)に「people.connections.person」およびロケータ・クラス「oracle.wcps.people.property.PeoplePropertyLocator」というネームスペースが指定されています。PSPの使用時に、namespacePropertySetDefinitionがPSPに渡されます。PSPは、PropertySetDefinitionで定義されているロケータ・クラスを使用してインスタンス化し、プロパティ値(ピープル・コネクションRESTサービスからのPersonの値)に委譲します。

このプロセスではロケータとネームスペースが非常に重要です。これらは、内部クラスPropertyDefConstantsで定数として定義されています。これらを構成する必要はありません。

25.4.5 カスタム・プロバイダの構成

アクティビティ・グラフの接続設定は、wc_domainコンダクタ拡張ディレクトリにあるwcps-connections.xmlに保持されています(ドメインが有効範囲)。このファイルを直接編集することはお薦めできませんが、接続設定を変更するには、次のように複数の方法があります。第25.4.1項「プロバイダ接続設定の作成または変更」で説明している方法のいずれかを使用して、カスタム・プロバイダの接続設定を構成してください。構成ファイルの要素とプロパティの詳細は、第25.4.1.2項「接続構成の属性」を参照してください。

25.5 Coherenceの構成

インストールでCoherenceを使用してキャッシュしている場合(「高可用性」環境の要件)、ネームスペース、プロパティ定義、プロパティ・セット定義およびプロパティ・セットに対して1つずつ、計4つのキャッシュを個別に設定する必要があります。

次のサンプルwcps-cache-config.xml構成ファイルは、単純なCoherenceローカル・キャッシュの構成方法を示しています。より高度なキャッシュ・タイプについては、Coherenceのドキュメントを参照してください。Coherenceの各クラスは、パーソナライズと同じクラス・ローダーによってアクセスできる必要があります。Coherenceのwcps-cache-config.xmlファイルも同じクラス・ローダーによってアクセスできる必要があります。詳細は、Oracle Fusion Middleware Oracle WebCenter Portal Java APIリファレンスで、WebCenter PortalのJavaDocのoracle.wcps.cache.CacheFactoryクラスを参照してください。『Oracle Fusion Middleware Oracle WebCenter PortalおよびOracle Jdeveloperでのポータルの開発』のキャッシュ・メカニズムとしてのCoherenceの構成に関する項も参照してください。

<?xml version="1.0" encoding="UTF-8" ?>
<cache-config>
    <caching-scheme-mapping>
        <cache-mapping>
            <cache-name>com.oracle.p13n.service.property.namespaces</cache-name>
            <scheme-name>ns-local-side</scheme-name>
        </cache-mapping>
        <cache-mapping>
            <cache-name>com.oracle.p13n.service.property.propertydefinitions_*</cache-name>
            <scheme-name>pd-local-side</scheme-name>
        </cache-mapping>
        <cache-mapping>
            <cache-name>com.oracle.p13n.service.property.propertysetdefinitions_*</cache-name>
            <scheme-name>psd-local-side</scheme-name>
        </cache-mapping>
        <cache-mapping>
            <cache-name>com.oracle.p13n.service.property.propertysets_*</cache-name>
            <scheme-name>ps-local-side</scheme-name>
        </cache-mapping>
        <cache-mapping>
            <cache-name>*</cache-name>
            <scheme-name>properties-default-local</scheme-name>
        </cache-mapping>
    </caching-scheme-mapping>
 
    <caching-schemes>
                <!--    
                        The following schemes are all local.  For a clustered deployment,
                        a distributed, replcated, or other clustered scheme is recommended.
                        See Coherence documentation for more information.
                -->
 
        <local-scheme>
            <scheme-name>ns-local-side</scheme-name>
            <service-name>NamespaceCache</service-name>
 
            <eviction-policy>HYBRID</eviction-policy>
            <high-units>{back-size-limit 0}</high-units>
            <unit-calculator>FIXED</unit-calculator>
            <expiry-delay>{back-expiry 1h}</expiry-delay>
            <flush-delay>1m</flush-delay>
 
            <cachestore-scheme/>
        </local-scheme>
 
        <local-scheme>
            <scheme-name>pd-local-side</scheme-name>
            <service-name>PropertyDefinitionCache</service-name>
 
            <eviction-policy>HYBRID</eviction-policy>
            <high-units>{back-size-limit 0}</high-units>
            <unit-calculator>FIXED</unit-calculator>
            <expiry-delay>{back-expiry 1h}</expiry-delay>
            <flush-delay>1m</flush-delay>
 
            <cachestore-scheme/>
        </local-scheme>
 
        <local-scheme>
            <scheme-name>psd-local-side</scheme-name>
            <service-name>PropertySetDefinitionCache</service-name>
 
            <eviction-policy>HYBRID</eviction-policy>
            <high-units>{back-size-limit 0}</high-units>
            <unit-calculator>FIXED</unit-calculator>
            <expiry-delay>{back-expiry 1h}</expiry-delay>
            <flush-delay>1m</flush-delay>
 
            <cachestore-scheme/>
        </local-scheme>
 
        <local-scheme>
            <scheme-name>ps-local-side</scheme-name>
            <service-name>PropertySetCache</service-name>
 
            <eviction-policy>HYBRID</eviction-policy>
            <high-units>{back-size-limit 0}</high-units>
            <unit-calculator>FIXED</unit-calculator>
            <expiry-delay>{back-expiry 1h}</expiry-delay>
            <flush-delay>1m</flush-delay>
 
            <cachestore-scheme/>
        </local-scheme>
 
                <local-scheme>
            <scheme-name>properties-default-local</scheme-name>
            <service-name>DefaultCache</service-name>
 
            <eviction-policy>HYBRID</eviction-policy>
            <high-units>{back-size-limit 0}</high-units>
            <unit-calculator>FIXED</unit-calculator>
            <expiry-delay>{back-expiry 1h}</expiry-delay>
            <flush-delay>1m</flush-delay>
 
            <cachestore-scheme/>
        </local-scheme>
 
    </caching-schemes>
    
</cache-config>

25.6 コンテンツ・プレゼンタの構成

コンテンツ・プレゼンタを使用してパーソナライズのシナリオを実行するには、まず接続ファイル(connections.xml)を構成して、コンテンツ・プレゼンタがコンダクタ・サーバーおよびタグ付きシナリオを認識できるようにする必要があります。コンテンツ・プレゼンタの詳細は、『Oracle Fusion Middleware Oracle WebCenter Portalでのポータルの構築』の「コンテンツ・プレゼンタを使用したコンテンツの公開」を参照してください。

connections.xmlには、WebCenter Portal側で使用するアプリケーションの接続情報が格納されています。コンテンツ・プレゼンタは、このファイルに登録されているURL接続の全リストを取得し、「Conductor」で始まるURL接続を、コンダクタ・サーバーを指すURLとみなします。connections.xmlの詳細は、『Oracle Fusion Middleware Oracle WebCenter PortalおよびOracle Jdeveloperでのポータルの開発』の付録A「WebCenter Portalファイル」を参照してください。

コンテンツ・プレゼンタはWC_Spacesサーバー上で実行しますが、パーソナライズのシナリオはWC_Utilitiesサーバーで実行されるため、ドメイン間トラスト・サービスも構成する必要があります。詳細は、第25.3項「WebCenter OPSSトラスト・サービスの構成」を参照してください。

コンテンツ・プレゼンタ・タスク・フローの構成は、実行時に行うか、コンテンツ・プレゼンタ・タスク・フローをページに追加するときにJDeveloperから行うことができます。コンテンツ・プレゼンタのこの2種類の構成方法と、コンダクタ側の構成要件について、次の各項で説明します。

25.6.1 WebCenter PortalアプリケーションのContent Server接続の構成

Portal Frameworkアプリケーションでは、JDeveloperを使用してURL接続を設定するか、第25.6.2項「コンテンツ・プレゼンタ・タスク・フローのパラメータの構成」の説明に従ってコンテンツ・プレゼンタ・タスク・フローのパラメータを設定します。 WebCenter Portalでは、WLSTコマンドまたはFusion Middleware Controlのいずれかを使用して接続を構成できます。

この項には次のサブセクションが含まれます:

25.6.1.1 WLSTを使用したWebCenter Portalの接続の構成

WebCenter Portalでは、WLSTコマンドのadf_createHttpUrlConnectionを使用してURL接続を管理できます。次に例を示します。

adf_createHttpUrlConnection('webcenter','Conductor','http://example.com:8891/wcps/api/conductor?namespace=CP_namespace&

adf_createHttpUrlConnectionコマンドの詳細は、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』のadf_createHttpUrlConnectionに関する項を参照してください。

25.6.1.2 Fusion Middleware Controlを使用したWebCenter Portalの接続の構成

WebCenter Portalでは、Fusion Middleware Controlを使用して接続を構成できます。

Fusion Middleware Controlを使用して接続を構成するには:

  1. Fusion Middleware Controlにログインし、WebCenter Portalアプリケーションのホームページに移動します。

    第6.2項「WebCenter Portalのホームページへの移動」を参照してください。

  2. 「WebCenterポータル」メニューから、「ADF」→「ADF接続の構成」を選択します。

    「ADF接続構成」ページが表示されます(図25-1を参照)。

    図25-1 「ADF接続構成」ページ

    図25-1の説明が続きます
    「図25-1 「ADF接続構成」ページ」の説明

  3. 「接続タイプ」「URL」に設定し、「接続名」「Conductor」と入力して、「接続の作成」をクリックします。

    「URL接続」セクションが表示されます(図25-2を参照)。

    図25-2 「ADF接続構成」ページ(URL接続)

    図25-2の説明が続きます
    「図25-2 「ADF接続構成」ページ(URL接続)」の説明

  4. 「編集」(鉛筆)アイコンをクリックします。

    「URL接続」ダイアログが表示されます(図25-3を参照)。

    図25-3 「URL接続」ダイアログ

    図25-3の説明が続きます
    「図25-3 「URL接続」ダイアログ」の説明

  5. URLを編集して、WebCenter Portalアプリケーションが使用するContent ServerインスタンスをURLが指すようにします。例:

    http://example.com:8891/wcps/api/conductor?namespace=CP_namespace&repoId=myhost-ucm11g
    
  6. 必要に応じて、その他のフィールドをローカル接続に合せて更新し、「OK」をクリックします。

25.6.2 コンテンツ・プレゼンタ・タスク・フローのパラメータの構成

コンテンツ・プレゼンタのインスタンスは、そのタスク・フロー・パラメータによって構成できます。これらのパラメータは、実行時に「コンテンツ・プレゼンタ構成」ダイアログで設定するか、コンテンツ・プレゼンタ・タスク・フローの追加時にJDeveloperから設定できます。これを手動で行うには、2つのパラメータを設定する必要があります。Data Source TypeパラメータをdsTypeScenarioResultsに設定し、Data Sourceパラメータを次のように設定してください。

conductor-connection-name=ConductorConnectionName,namespace=
ScenarioNamespace,scenario-name=ScenarioName,inputparam1=value1,inputparam2=value2

conductor-connection-nameの値は、有効なコンダクタ・サーバーを指すURL接続と一致する必要があります。また、使用するネームスペースには、指定のシナリオが属しているネームスペースの名前を指定してください。最後に、シナリオで要求される任意の入力パラメータを追加できます。それには、前述のように名前/値ペアをカンマで区切って指定します。

パーソナライズ用のコンテンツ・プレゼンタの構成の詳細は、次を参照してください。

  • 実行時: 『Oracle Fusion Middleware Oracle WebCenter Portalでのポータルの構築』のコンテンツ・プレゼンタ・タスク・フローのプロパティ設定に関する項。

  • JDeveloper: 『Oracle Fusion Middleware Oracle WebCenter PortalおよびOracle Jdeveloperでのポータルの開発』のコンテンツ・プレゼンタ・タスク・フロー・パラメータおよび初期設定の表示テンプレートに関する項。

25.6.3 コンダクタのシナリオ・タグの構成

コンダクタ側では、シナリオをコンテンツ・プレゼンタに認識させるための適切なタグがシナリオに必要です。コンテンツ・プレゼンタでは、ContentPresenterScenarioというタグを使用します。したがって、コンテンツ・プレゼンタに認識させる必要があるシナリオはすべて、このタグの関連付けが必要です。

コンダクタ側とWebCenter Portalアプリケーション側の両方ですべての設定が完了したら、後は簡単です。「コンテンツ・プレゼンタ構成」ダイアログを開くと、「コンテンツ・ソース」選択リストに「シナリオ結果」が表示されます。これを選択すると、コンテンツ・プレゼンタを使用するようにタグ付けされているすべてのシナリオが表に表示されます。最初のシナリオが必ず選択されており、そのシナリオに入力パラメータが定義されている場合は、入力パラメータが表の下に入力フィールドとともに表示されます。

表で別のシナリオを選択すると、下の入力パラメータが更新されます。シナリオを選択して入力パラメータを指定したら、コンテンツ・プレゼンタをプレビューまたは保存して結果を取得できます。結果は、他の複数値コンテンツ・ソースと同様に表示されます。最終的には、表示用に選択したテンプレートに基づいて表示されます。


注意:

シナリオから返され、コンテンツ・プレゼンタ内で使用される結果は、有効なCMIS問合せであることが必要です。コンテンツ・プレゼンタは戻り値を取得し、それを(CMIS問合せとして)コンダクタURL内で指定されているリポジトリに対して実行するからです。


25.7 シングル・サインオンの構成

シングル・サインオンの構成は、configureTrustWCPS.pyスクリプトとconfigureConnectionsWCPS.pyスクリプトを実行してOracle WebCenter Portalドメインを構成する一環として行われるか、またはconfigureWCPS.pyスクリプトを実行してJDeveloperの統合WLSドメインを構成する一環として行われます。これらのスクリプトを実行すると、トラスト・サービス・シングル・サインオンも設定されます。これにより、クライアントJEE Webアプリケーション、パーソナライズWebアプリケーション、およびデフォルトのデータ・プロバイダで使用されるWC_Spaces WebアプリケーションRESTサービスの間でREST HTTPリクエストのシングル・サインオンが可能になります。これらのアプリケーションはすべて、OAM/OSSOが提供するシングル・サインオン・トークンもサポートするように構成されます。追加のパーソナライズ固有の構成は必要ありません。詳細は、第25.3.3項「ドメイン間トラストの構成」を参照してください。

25.8 デフォルトのセキュリティ設定のオーバーライド

デフォルトでは、パーソナライズRESTリソース(resourceIndexを除く)へのすべてのアクセスには認証が要求されます。ほとんどの場合、開発用にはこれで十分です。ただし、本番環境では、このデフォルトのセキュリティ制約を変更する場合があります。次の各項では、匿名アクセスが必要なシナリオを実行する際のセキュリティを下げる方法や、新しいシナリオを作成できないようにセキュリティを強化する方法について説明します。

この項には次のサブセクションが含まれます:

25.8.1 シナリオの匿名実行の許可

次のセキュリティ制約をドメインのconductor-extensions-library\WEB-INF\web.xmlファイルに追加すると、デフォルトの記述子の(認証を要求する)セキュリティを遵守しながら、匿名のアプリケーションまたはネームスペースから作成またはデプロイされたシナリオに対する匿名GET/POSTが許可されます。

<security-constraint>
  <web-resource-collection>
    <web-resource-name>ConductorJerseyWebApplication</web-resource-name>
    <url-pattern>/api/conductor/namespaces/anonymous/scenarios/*</url-pattern>
    <http-method>GET</http-method>
    <http-method>POST</http-method>
  </web-resource-collection>
  <!-- Allow anonymous user access&nbsp; in this namespace -->
  <!--auth-constraint>
     <role-name>Users</role-name>
   </auth-constraint-->
</security-constraint>

25.8.2 匿名ユーザーによるシナリオの作成の禁止

簡単なフィルタをドメインのconductor-extensions-library\WEB-INF\web.xmlに追加することで、匿名ユーザーに対してシナリオの作成を禁止できます。フィルタの例(AnonymousScenarioFilter)を次に示します。

<filter>
    <filter-name>AnonymousScenarioFilter</filter-name>
    <filter-class>oracle.wcps.samples.AnonymousScenarioFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>AnonymousScenarioFilter</filter-name>
    <url-pattern>/api/conductor/namespaces/PublicPersonalization/scenarios</url-pattern>
  </filter-mapping>
  <security-constraint>
      <web-resource-collection>
          <web-resource-name>ConductorJerseyWebApplication</web-resource-name>
          <url-pattern>/api/conductor/namespaces/PublicPersonalization/scenarios/*</url-pattern>
          <http-method>GET</http-method>
          <http-method>POST</http-method>
      </web-resource-collection>
      <!--
        Commented out to allow anonymous user access  in this namespace
      <auth-constraint>
      <role-name>Users</role-name>
      </auth-constraint>
      -->
  </security-constraint>

このフィルタは、匿名ユーザーでないかどうか(httpRequest.getUserPrincipal() == null)、およびシナリオを作成するRESTリソースのURL (/api/conductor/namespaces/PublicPersonalization/scenarios)に対するHTTP POST操作でないかどうかを明示的にチェックします。

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
        throws IOException, ServletException
    {
        if (request instanceof HttpServletRequest)
        {
            HttpServletRequest httpRequest = (HttpServletRequest)request;
            String method = httpRequest.getMethod();
            if ("POST".equalsIgnoreCase(method) && httpRequest.getUserPrincipal() == null)
            {
              throw new ServletException("Anonymous users cannot create scenarios.");
            }
        }
        chain.doFilter(request, response);
    }

25.8.3 認証されたユーザーによるシナリオの作成の禁止

第25.8.2項「匿名ユーザーによるシナリオの作成の禁止」で説明したフィルタに簡単な変更を加えると(httpRequest.getUserPrincipal() checkのチェックを削除)、すべてのユーザーに対してシナリオの作成を禁止できます。HTTP POST操作はシナリオの実行のリクエストにも使用されますが、その場合のURIは異なります(また、フィルタ<url-pattern>ではなく、<security-constraint>内で保護されています)。