Oracle® Fusion Middleware Oracle WebCenter Portal管理者ガイド 11g リリース1(11.1.1.6.0) B72085-01 |
|
![]() 前 |
![]() 次 |
この章では、WebCenter Portalのパーソナライズ・サービスを構成および管理する方法について説明します。
この章の内容は次のとおりです。
対象読者
この章の内容は、Fusion Middleware管理者(Oracle WebLogic Server管理コンソールを使用してAdmin
またはOperator
ロールを付与されたユーザー)を対象としています。第1.8項「管理操作、ロールおよびツールの理解」も参照してください。
WebCenter Portalのパーソナライズを使用すると、WebCenter Portalアプリケーションのユーザー・エクスペリエンスを動的に導出できます。パーソナライズは、定義された入力データ・ソースを評価し、その評価に基づいてデシジョンを生成し、この情報を宣言的に定義されたパーソナライズ・シナリオに適用します。パーソナライズでは、たとえば、人事管理データベース内のユーザーに関する情報に基づいてコンテンツを返したりアプリケーション・フローを変更することで、その特定のユーザー向けのアプリケーション・エクスペリエンスを提供できます。
パーソナライズは、WC_Utilities
サーバーのwc_domain
にアプリケーションとしてインストールされます。クライアント・アプリケーションは、リモートからHTTP経由でRESTfulサービスを使用してパーソナライズにアクセスします。簡単にアクセスできるように、Javaアプリケーションでは、用意されている一連のPOJOクライアント・ライブラリを使用できます。デザインタイムJDeveloperツールを使用してプロパティ・サービスおよびコンダクタのアーティファクトを作成し、それをリモートからRESTコールで実行できます。パーソナライズは、アプリケーションを最初に作成するときに、JDeveloper統合ドメインでパーソナライズ・テクノロジ・ライブラリを含むプロジェクトにも使用できます。評価目的および反復開発において、このドメインはパーソナライズを最もすばやく簡単に探索できる手段です。パーソナライズのアーキテクチャとサービスの詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』のWebCenter Portalアプリケーションのパーソナライズに関する項を参照してください。
パーソナライズREST APIは、WebCenter Portal: Spacesを必要とします。この項では、パーソナライズREST APIを使用するために実行する必要がある構成について説明します。
WebCenter PortalのパーソナライズREST APIを使用するには、まず、この項で説明するサーバー側の構成を行う必要があります。2つの異なる構成を行う必要があります。アイデンティティ・アサータを構成し、必要なエントリを資格証明ストアにシードする必要があります。これにより、RESTセキュリティ・トークンが適切に機能するようになります。
これらの構成作業は、WebCenter Portal: Spacesの初回インストール時に行います。まだ行われていない場合は実行してください。
セキュリティ・トークンの詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』のWebCenter Portal REST APIのセキュリティに関する考慮事項に関する項を参照してください。
REST APIを使用する前に、まずアイデンティティ・アサータを構成する必要があります。手順の詳細は、第29.10項「RESTサービス・アイデンティティ・アサータの構成」を参照してください。
構成の第2ステップとして、WLS資格証明ストアを構成します。資格証明ストアを構成するには、サーバーの実行中に次の各コマンドを実行します。コマンドの実行後にサーバーを再起動する必要はありません。
createCred(map="o.webcenter.jf.csf.map", key="keygen.algorithm", user="keygen.algorithm", password="AES") createCred(map="o.webcenter.jf.csf.map", key="cipher.transformation", user="cipher.transformation", password="AES/CBC/PKCS5Padding")
次の各項で、パーソナライズのシステム要件と依存性について説明します。
パーソナライズ・コンダクタ・シナリオでCMISデータ・プロバイダ、アクティビティ・グラフ・データ・プロバイダまたはピープル・コネクション・ロケータを使用している場合は、WebCenter Portal: Spacesをインストールする必要があります。高可用性環境にかぎり、Coherenceも必要です。
CMISプロバイダ、アクティビティ・グラフ・プロバイダ、ピープル・コネクション・ロケータまたはカスタム・プロバイダを使用する場合は、これらを第20.5項「プロバイダの構成」の説明に従って構成する必要があります。
SpacesアプリケーションまたはFrameworkアプリケーションでコンテンツ・プレゼンタを使用してコンテンツを表示する場合は、第20.7項「コンテンツ・プレゼンタの構成」の説明に従ってコンテンツ・プレゼンタを構成して、シナリオの結果が表示されるようにする必要もあります。
パーソナライズでは、WebCenter Portalドメイン内の様々な管理対象サーバー間のシングル・サインオン(SSO)を実現するためにトラスト・サービスが使用されます。user_projects/applications/wc_domain
ディレクトリにあるWLSTスクリプトのconfigureTrustWCPS.py
とconfigureConnectionsWCPS.py
を使用して、トラスト・サービスを構成する必要があります。JDeveloperの統合ドメインの場合は、DefaultDomain/scrpts-wcps
ディレクトリにある単一のスクリプト(configureWCPS.py
)のみを使用します。このスクリプトによるトラスト・サービスおよびシングル・サインオンの構成の詳細は、第20.8項「シングル・サインオンの構成」を参照してください。
パーソナライズは、WLSセキュリティ・レルム内で構成されているどのユーザー認証サービスのソースとも互換性があります。したがって、ドメインのデフォルトのアイデンティティ・ストアおよびポリシー・ストアと資格証明ストアを使用できます。
ピープル・コネクション・ロケータまたはアクティビティ・グラフ・データ・プロバイダを使用している場合、各ユーザーがWebCenter Portal: Spacesユーザーとしても構成されている必要があります。
パーソナライズRESTサービスには、事前構成されたパーソナライズWebアプリケーションを介してアクセスしますが、このアプリケーションはresourceIndex
を除くすべてのリソース(すべてのURI)に対して認証アクセスを要求します。これらの制約を変更して、匿名アクセスが必要なシナリオを実行する際のセキュリティを下げたり、新しいシナリオを作成できないようにセキュリティを強化したりできます。デフォルトのセキュリティ設定の変更については、第20.9項「デフォルトのセキュリティ設定のオーバーライド」を参照してください。
WebCenter Portalでは、トラスト・サービスがパーソナライズRESTコールにシングル・サインオンを提供します。このため、WLS TrustServicesIdentityAsserterを構成する必要があります(事前構成されていません)。これは、WLSコンソールを使用するか、user_projects/applications/wc_domain
ディレクトリにあるWLSTスクリプトのconfigureTrustWCPS.py
とconfigureConnectionsWCPS.py
を使用して手動で実行できます。JDeveloperの統合ドメインの場合は、DefaultDomain/scrpts-wcps
ディレクトリにある単一のスクリプト(configureWCPS.py
)を使用します。
また、オプションとして、WebCenter Portalアプリケーションとパーソナライズ・サーバーおよびパーソナライズ・プロバイダとの接続をシングル・サインオンで保護することもできます。シングル・サインオンの構成の詳細は、第20.8項「シングル・サインオンの構成」を参照してください。プロパティ・データへのアクセスを事前認証するフィルタ(IPropertyPermission)の使用により、プロパティ・サービス・データへのアクセスをアプリケーションで制限することもできます。
各シナリオでは、基本ロール評価およびテストをサポートするデフォルトの関数ライブラリを使用して、シナリオへのアクセスを認証できます。
デフォルトでは、パーソナライズは管理対象サーバーが有効範囲のキャッシュを使用します。つまり、管理対象サーバー外にキャッシュされたデータに変更が加えられた場合、その変更はパーソナライズの追加インストールには認識されません。パーソナライズのクラスタ化された(複数の)デプロイでは、クラスタを認識するキャッシュに対してCoherenceが構成されます。
この項では、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へのアクセスを提供します。
パーソナライズ・ユーザーがSpacesユーザーでもある場合、Spacesアプリケーションによって格納されたユーザー・コンテンツにシナリオからアクセスできます。Content Serverの詳細は、第11章「コンテンツ・リポジトリの管理」を参照してください。CMISプロバイダの構成の詳細は、第20.5.2項「CMISプロバイダの構成」を参照してください。
アクティビティ・グラフ・データ・プロバイダ
アクティビティ・グラフ・データ・プロバイダは、パーソナライズ・プロジェクトでオプションのデータ・ソースとして使用できるデフォルトのプロバイダです。WebCenter Portalアプリケーションからのアクティビティ・ストリーム情報は、アクティビティ・グラフ・サービスを介して公開されます。アクティビティ・グラフRESTサービスはWC_Spaces
サーバー上で稼働し、アクティビティ・グラフによって作成された、アクティビティ・ストリームに基づく推奨へのアクセスを提供します。
パーソナライズ・ユーザーがSpacesユーザーでもある場合、(Spacesコンテンツ・タイプの)アクティビティに関する推奨にシナリオからアクセスできます。アクティビティ・グラフ・サービスの詳細は、第12章「アクティビティ・グラフ・サービスの管理」を参照してください。アクティビティ・グラフ・プロバイダの構成の詳細は、第20.5.3項「アクティビティ・グラフ・プロバイダの構成」を参照してください。
Oracle People Connectionsロケータ
ピープル・コネクション・ロケータは、パーソナライズ・プロジェクトでオプションのデータ・ソースとして使用できるロケータです。ピープル・コネクション・サービスの情報は、ピープルWebサービスを介して公開されます。ピープル・コネクションRESTサービスはWC_Spaces
サーバー上で稼働し、Spacesアプリケーションのコンテキストに作成されたソーシャル・プロファイル・データへのアクセスを提供します。パーソナライズ・ユーザーがSpacesユーザーでもある場合、ピープル・プロファイル・データにシナリオからアクセスできます。ピープル・コネクション・サービスの詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』の「ピープル・コネクション・サービスの統合」の章を参照してください。他のデフォルトのデータ・プロバイダと異なり、ピープル・コネクションWebサービスへのアクセスは、汎用のプロパティ・サービス・データ・プロバイダを介してIPropertyLocator拡張インタフェースを使用して行われます。ピープル・コネクション・プロバイダの構成の詳細は、第20.5.4項「Oracle People Connectionsロケータの構成」を参照してください。
パーソナライズでは、OPSS (Oracle Platform Security Services)の新機能をシングル・サインオンに利用します。パーソナライズの最も単純なユースケースを除くすべてのユースケースで、この機能をここで説明する構成手順に従って有効化する必要があります。
次の場合は、OPSSトラスト・サービスを構成する必要がありません。
RESTクライアントからコンダクタおよびプロパティ・サービスと直接対話する場合
コンダクタおよびプロパティ・サービスをパーソナライズ・クライアント・ライブラリが、パーソナライズと同じドメインにデプロイされているカスタムJEE Webアプリケーションから使用している場合で、JSessionIdが両方のWebアプリケーションに対して構成されているとき(多数の例外がログに記録されるのでデバッグが困難になります)
次の場合は、OPSSトラスト・サービスを構成する必要があります。
パーソナライズのすべての本番デプロイメント
いずれかのパーソナライズ・シナリオが、デフォルトのデータ・プロバイダ(アクティビティ・グラフ、CMISおよびピープル・コネクション・ロケータ)を必要とする場合
コンダクタおよびプロパティ・サービスをパーソナライズ・クライアント・ライブラリが、パーソナライズと同じドメインにデプロイされているカスタムJEE Webアプリケーションから使用している場合
ドメイン間のトラスト(つまり、WC_domain
のCMISプロバイダを使用するように構成された統合ドメイン接続)が必要な場合
この項の内容は次のとおりです。
デフォルトのWebCenter Portalインストールにはパーソナライズ・ドメイン拡張テンプレートが含まれており、このテンプレートは2つのWLST Pythonスクリプト(configureTrustWCPS.py
とconfigureConnectionsWCPS.py
)を次のドメイン・ホームにインストールします。
oracle/user_projects/applications/wc_domain/scripts
これらのスクリプトおよび関連するconfigureWCPS.properties
ファイルには、使用方法の説明が記載されています。これらはサンプル・スクリプトであり、実行する前にプロパティ・ファイルを編集して、少なくともocs.server
名(通常はContent Server)、spaces.server.host
名およびfmwconfig.location
を指定する必要があります。これらの値はWebCenter Portalインストールごとに一意のものなので、編集する必要があります。それ以外の値もローカル環境に応じて変更が必要な場合があります(たとえば、マシン・ポート番号はそれぞれ異なる可能性があります)。
configureConnectionsWCPS.py
スクリプトは、デフォルトのパーソナライズ接続情報(つまり、アクティビティ・グラフ、CMISおよびピープル・コネクションの接続情報)を設定します。このスクリプトはWCPS.py
ライブラリを使用しますが、このライブラリはWebCenter Portalドメインにのみインストールされています(統合WLSドメインにはインストールされていません)。ただし、WebCenter PortalドメインでconfigureConnectionsWCPS.py
を実行して、(t3 URLを使用して)統合WLSドメインを指すようにさせることができます。
注意:
|
oracle/as11gr1wc/common/bin/wlst.sh
コマンド・ファイルを使用して、環境変数を正しく設定する必要があります(as11gr1wcスクリプトの場合)。
各スクリプトを実行したら、ドメイン内の全サーバーを再起動します。
構成のテスト
トラスト・サービスのシングル・サインオンの動作を確認するには、カスタム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.
JDeveloperインストーラには、次のディレクトリにある統合WLSドメインを構成するための別のPythonスクリプトも付属しています。
DefaultDomain\scrpts-wcps\
このスクリプトは、手動でもJDeveloperの外部スクリプトの実行機能を使用しても実行できます。
デフォルト以外のユーザーまたはパスワードを使用している場合は、プロパティ・ファイルを編集してください。統合WLSドメインを作成して起動したら、scrpts-wcps
ディレクトリからスクリプトを実行します。
Oracle\MiddlewareRC8\oracle_common\common\bin\wlst.cmd configureWCPS.py configureWCPS.properties
統合WLSドメインを再起動します。
構成のテスト
トークン発行操作およびトークン検証操作を確認するには、デフォルトのロギング・レベルでは不十分です。JDeveloperの「Oracle Diagnostic Loggingの構成」機能を使用し、oracle.jps.trust
ログ出力に移動して、レベルを「最も詳細」
に設定します。コンダクタまたはプロパティ・サービスを呼び出すカスタムJEE Webアプリケーションを含むシナリオを実行します。
トラスト・サービスはドメイン間トラストをサポートしています。つまり、複数の異なるWLSドメインにキーストアが作成されている場合、クライアントはドメイン「A」でトークンを割り当て、そのトークンを使用したHTTPリクエストをドメイン「B」に対して発行し、シングル・サインオンによるドメイン「B」でのユーザー/リクエストの検証および認証をアイデンティティ・アサータに実行させることができます。ただし、重要な前提として、ドメイン「A」内のユーザーと同じユーザーがドメイン「B」に存在する必要があります。
デフォルトでは、統合WLSドメインでconfigureWCPS.py
スクリプトを実行すると、extDomain.cer
という名前の証明書が生成されます。統合WLSドメインとWebCenter Portalドメインの間のドメイン間トラストを有効にする手順は次のとおりです。
extDomain.cer
を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
WebCenter Portalドメイン内の各サーバーを再起動します。
構成のテスト
ドメイン間トラストを検証する最も簡単な方法は、まず、WebCenter PortalドメインのWC_Spaces
サーバーを指すピープル・コネクション・パーソナライズ接続を統合WLSドメインに作成します。次に、ピープル・コネクションのプロパティ値を取得する簡単なシナリオを作成して、統合WLSドメインにデプロイします。最後に、前述の「トークン検証操作」というメッセージがWC_Spaces
サーバーのログに記録されていることを確認します。
WebCenter Portalのパーソナライズには、アクティビティ・グラフ用およびContent Server用のデフォルトのプロバイダと、ピープル・コネクション用のロケータが用意されています。これらのプロバイダのいずれかを使用するシナリオでは、次の各項の説明に従って、WLSTスクリプトのconfigureWCPY.py
を使用してプロバイダを構成する必要があります。カスタムのプロバイダまたはロケータを使用している場合は、カスタム・プロバイダの構成に関する項の説明に従って、それらも構成する必要があります。シナリオでプロバイダやロケータを使用していない場合は、プロバイダやロケータを構成する必要はありません。
デフォルトのプロバイダを使用しないシナリオや、カスタムのプロバイダまたはOTNからダウンロードしたプロバイダのみを使用するシナリオも開発できます。また、JDeveloper統合ドメイン内のみで開発する場合は、通常、これらのWC_Spaces
ベースのサービスにはアクセスできません(WebCenter Portal: Spacesは統合ドメイン内では稼働しないため)。拡張構成(configureWCPS.py
でもサポートされています)を使用すれば、WC_Spaces
ドメイン内のWebCenter Portal: Spacesサービスに統合ドメインのパーソナライズ・サーバーからアクセスできます。これにはドメイン間トラストを使用するので、プロバイダ接続を構成する必要があります。WC_Spaces
ドメイン内にあるconfigureTrustWCPS.py
スクリプトとconfigureConnectionsWCPS.py
スクリプトを使用するか、DefaultDomain/scrpts-wcps
ドメイン・ディレクトリにあるJDeveloperの統合WLSドメイン用のconfigureWCPS.py
スクリプトを使用して、適切なWLS管理サーバーをポイントすることにより、対応するドメインを構成します。
この項では、WLST、JConsole、Fusion Middleware Controlを使用して、wcps-connections.xml
に格納されている接続情報を作成または変更する方法について説明します。また、カスタム構成クラスを記述してカスタム・プロバイダを構成する方法についても説明します。
この項の内容は次のとおりです。
パーソナライズ接続情報は、ドメイン・ディレクトリ内の次の場所にあるwcps-connections.xml
に保持されています。
<domain directory>/config/fmwconfig/wcps-connections.xml
このファイルを直接編集することはお薦めできませんが、接続情報を変更するには、次のように複数の方法があります。
WLST: WLSTコマンドを使用してスクリプトを作成することにより、接続構成を表すシステムMBeansにアクセスできます。WLSTコマンドを使用して接続設定を構成する方法の詳細は、第20.5.1.3項「WLSTを使用した接続の構成」を参照してください。
JConsole: JConsoleを使用して接続JMX MBeansを作成または編集することにより、接続構成を表示または編集できます。JConsoleを使用して接続設定を構成する方法の詳細は、第20.5.1.4項「JConsoleを使用した接続の構成」を参照してください。
Fusion Middleware Control: Fusion Middleware Controlを使用して、パーソナライズとともにデプロイされたJMX MBeansを表示または編集できます。Fusion Middleware Controlを使用して接続設定を構成する方法の詳細は、第20.5.1.5項「Fusion Middleware Controlを使用した接続の構成」を参照してください。
wcps-connections.xml
に保持されている接続プロパティおよび接続属性で、WLST、JConsoleまたはFusion Middleware Controlを使用して変更できるものを次に示します。各接続プロパティは、接続に使用されるプロバイダまたはロケータに固有のものです。たとえば、CMISプロバイダでは、アクティビティ・グラフ・プロバイダとは異なる接続プロパティが使用されます。
<connection-name>
: この接続の一意の名前。接続は名前によって取得できます。
<connection-type>
: この接続の一意のタイプ。接続はタイプによって取得できます。connection-type
を指定する必要があるのは、カスタム接続の場合のみです。デフォルトのデータ・プロバイダの場合、このフィールドは内部的に設定されています。
<namespace>
: 一般的に、アクセスするシナリオがデプロイされるネームスペースに一致する必要があります。ネームスペースでは、特定のシナリオに対する適切な<connection>を検索する方法をコンダクタが決定します。ワイルドカードの「*」を使用すると、この接続要素をすべてのネームスペースで使用可能にできます。WLSTスクリプト内で指定されない場合、namespace
のデフォルトは「*」になります。
<name>isDefault</name>
: この接続をデフォルトの接続としてマークします(複数が定義されている場合)。複数の接続の「isDefault」フラグをtrueに設定できます。この場合、どのデフォルト接続を返すかは個々のプロバイダ次第です。
プロバイダ接続を簡単に構成できるように、一連のパーソナライズWLSTコマンドが用意されています。これらのコマンドを組み合せてスクリプトを作成できます。スクリプトの例が用意されおり、これをカスタマイズしたり、直接使用したりできます。このサンプル・スクリプトは、プロバイダ接続を設定し、さらにトラスト・サービスを初期化します。
パーソナライズWLSTコマンドはoracle/as11gr1wc/common/wlst/WCPS.py
にインストールされており、oracle/as11gr1wc/common/bin/wlst.sh
(cmd)スクリプトを使用して呼び出します。
デフォルトの各データ・プロバイダは、次の各項で説明する特定のWLSTコマンドでサポートされています。カスタムのデータ・プロバイダについては、汎用のWLSTコマンドを使用して接続を構成します。次に例を示します。
createWCPSCustomConnection('customConnectionName', 'connectionType', properties={ 'name1': 'value1', 'name2': 'value2' })
パーソナライズWLST接続およびその他のコマンドの全リストは、Oracle Fusion Middleware WebLogicスクリプト・ツール・コマンド・リファレンスのパーソナライズに関する項を参照してください。
$JAVA_HOME/jdk6/bin/jconsole
にあるJConsoleを使用して、WebCenter PortalのパーソナライズとともにデプロイされたJMX MBeans(アクティビティ・グラフ、CMISおよびピープル・コネクションの接続構成MBeans)を作成、表示または編集できます。これらの作業について、次の各項で説明します。
接続を作成する手順は次のとおりです。
次に示すようにJConsoleを起動します。
jconsole -J-Djava.class.path=$JAVA_HOME/lib/jconsole.jar:$JAVA_HOME/lib/tools.jar:$ORACLE_HOME/oracle/wlserver_10.3/server/lib/wljmxclient.jar -J-Djmx.remote.protocol.provider.pkgs=weblogic.management.remote
JConsole Remote Connectionを開きます。
service:jmx:iiop://example.com:7001/jndi/weblogic.management.mbeanservers.domainruntime Username: weblogic Password: welcome1
oracle.wcps.connections
の下のツリーで、「ConnectionConfiguration」に移動し、「操作」を選択します。
「addConnection」をクリックし、「Namespace」、「タイプ」および「名前」を入力します。
これらの接続は、デフォルトのプロバイダについては、configureConnectionsWCPS.py script
を使用して事前定義されています。
接続設定を表示または編集する手順は次のとおりです。
次に示すようにJConsoleを起動します。
jconsole -J-Djava.class.path=$JAVA_HOME/lib/jconsole.jar:$JAVA_HOME/lib/tools.jar:$ORACLE_HOME/oracle/wlserver_10.3/server/lib/wljmxclient.jar -J-Djmx.remote.protocol.provider.pkgs=weblogic.management.remote
JConsole Remote Connectionを開きます。
service:jmx:iiop://example.com:7001/jndi/weblogic.management.mbeanservers.domainruntime Username: weblogic Password: welcome1
プロバイダの接続プロパティを変更します。たとえば、アクティビティ・グラフのホスト名を変更する手順は次のとおりです。
次のツリーを開きます。
oracle.wcps.connections->ConnectionConfiguration.Namespace.Connection->default->activity.provider.connection->ConnectionConfiguration->wcps-services->ActivityGraphConfigConnection->Attributes
「プロパティ」をクリックします。
右側のパネルで、先頭行の値をダブルクリックします。
これで、コンポジット・ナビゲーションを使用して現在の値をスクロールできます。
ホストの値を変更するには、ナビゲーション・ツリーで「プロパティ」をクリックし、名前と新しい値を入力して、「setProperty」をクリックします。
Fusion Middleware Controlを使用して、WebCenter PortalのパーソナライズとともにデプロイされたJMX MBeans(アクティビティ・グラフ、Content Serverおよびピープル・コネクションの接続構成MBeans)を表示または編集できます。
接続構成MBeansを表示または編集する手順は次のとおりです。
Fusion Middleware Controlを開き、「パーソナライズ・サービス(Personalization Services)」に移動します。
「WCPS-Services」をクリックします。
「アプリケーション開発」ドロップダウン・メニューから「システムMBeanブラウザ」を選択します。
「アプリケーション定義のMBean」の下の「MBeanブラウザ」でoracle.wcps.connections
を選択し、変更する接続情報までドリルダウンします。
「属性」タブで、「プロパティ」を選択して接続属性の現在の値を表示します。
「操作」タブで、「setProperty」を選択し、「起動」をクリックして名前/値ペアを変更します。
カスタム構成クラス(@ConnectionConfiguration
という注釈付きのクラス)を実装するには、独自のデータ・プロバイダを記述します。これにより、カスタム・データ・プロバイダがパーソナライズ接続フレームワークを使用して、パーソナライズWLSTスクリプトによって構成された接続情報を取得できるようになります。
データ・プロバイダのカスタム構成クラスの詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』のカスタム・データ・プロバイダに関する項を参照してください。
統合WLSドメイン以外(つまり、WC_Spaces
ドメイン内)で作業している場合、CMISプロバイダをシナリオで使用するには、まずその接続設定を構成する必要があります。
CMISプロバイダの接続設定は、wc_domain
コンダクタ拡張ディレクトリにあるwcps-connections.xml
に保持されています(ドメインが有効範囲)。このファイルを直接編集することはお薦めできませんが、接続設定を変更するには、次のように複数の方法があります。第20.5.1項「プロバイダ接続設定の作成または変更」で説明している方法のいずれかを使用して、CMISプロバイダの接続設定を構成してください。
接続要素およびプロパティの説明
<connection-name>
: この接続の一意の名前。接続は名前によって取得できます。
<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を返します。
統合WLSドメイン以外(つまり、WC_Spaces
ドメイン内)で作業している場合、アクティビティ・グラフ・プロバイダに基づくシナリオを使用するには、ローカル環境に応じた接続情報を構成する必要があります。
アクティビティ・グラフの接続設定は、wc_domain
コンダクタ拡張ディレクトリにあるwcps-connections.xml
に保持されています(ドメインが有効範囲)。このファイルを直接編集することはお薦めできませんが、接続設定を変更するには、次のように複数の方法があります。第20.5.1項「プロバイダ接続設定の作成または変更」で説明している方法のいずれかを使用して、アクティビティ・グラフ・プロバイダの接続設定を構成してください。
接続要素およびプロパティの説明
<connection-name>
: この接続の一意の名前。接続は名前によって取得できます。
<namespace>
: 一般的に、アクセスするシナリオがデプロイされるネームスペースに一致する必要があります。ネームスペースでは、特定のシナリオに対する適切な<connection>
を検索する方法をコンダクタが決定します。ワイルドカードの「*」を使用すると、この接続要素をすべてのネームスペースで使用可能にできます。
<name>isDefault</name>
: この接続をデフォルトの接続としてマークします(複数の接続が定義されている場合)。
<name>scheme</name>
: CMIS 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')
統合WLSドメイン以外(つまり、WC_Spaces
ドメイン内)で作業している場合、ピープル・コネクション・ロケータに基づくシナリオを使用するには、ローカル環境に応じた接続情報を構成する必要があります。
プロパティ・サービスでは、ピープル・コネクション・サービスとの接続にIPropertyLocator (ピープル・コネクションILocator)が使用されます。ピープル・コネクション・サービスと接続するプロパティ・プロバイダは、このILocatorを使用して特定のユーザー(または自身)に対するPC RESTコールを行い、そのRESTサービス・コールが表すPersonオブジェクトを返します。Personの各属性は、そのWebCenter Portalプロファイルの各値を表します。
ピープル・コネクションILocatorの接続設定は、wc_domain
コンダクタ拡張ディレクトリにあるwcps-connections.xml
に保持されています(ドメインが有効範囲)。このファイルを直接編集することはお薦めできませんが、接続設定を変更するには、次のように複数の方法があります。第20.5.1項「プロバイダ接続設定の作成または変更」で説明している方法のいずれかを使用して、ピープル・コネクションILocatorの接続設定を構成してください。
接続要素およびプロパティの説明
<connection-name>
: この接続の一意の名前。接続は名前によって取得できます。
<namespace>
: 一般的に、アクセスするシナリオがデプロイされるネームスペースに一致する必要があります。ネームスペースでは、特定のシナリオに対する適切な<connection>を検索する方法をコンダクタが決定します。ワイルドカードの「*」を使用すると、この接続要素をすべてのネームスペースで使用可能にできます。
<name>isDefault</name>
: この接続をデフォルトの接続としてマークします(複数が定義されている場合)。
<name>scheme</name>
: CMIS RESTサービスにアクセスするプロトコル(HTTPまたはSSL用のHTTPS)。明示的に指定しない場合、デフォルトはHTTP
に設定されています。
<name>host</name>
: PC RESTサービスをホストするマシンの名前。これは、WC_Spaces
管理対象サーバーのマシン名です。
<name>port</name>
: PC RESTサービスをホストするマシンのポート番号。これは、WC_Spaces管理対象サーバーのマシンのポート番号です。
<name>user</name>
: (オプション)ピープル・コネクションRESTサービスとの接続時に使用するユーザー名。固定のユーザー名への接続を強制するために使用できます。
<name>password</name>
: (オプション)ピープル・コネクションRESTサービスとの接続時に使用するパスワード。username
と組み合せて使用されます。固定のユーザー名/パスワードへの接続を強制するために使用できます。パスワード・アクセスが保護されていないため、開発環境外で使用することはお薦めしません。
<name>restResourceIndex</name>
: PC RESTサービスのhost/portの後ろに追加され、resourceIndex
(使用可能なRESTサービス)ページの位置を指します(例: '/rest/api/resourceIndex
')。
プロパティ・プロバイダへのPersonクラスのブートストラップ
プロパティ・サービスがピープル・コネクションRESTコールの結果を認識して使用するためには、「Person」を認識する必要があります。つまり、「Person」をインスタンス化してそのプロパティを設定する前に、「Person」プロパティ・セット定義を作成するとともに、その個々の属性をプロパティ定義として設定する必要があります。
ピープル・コネクションILocatorのコードでは、このプロセスを、次の例のように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>
PC REST接続の構成情報へのアクセス
ピープル・コネクションILocatorは実際の「プロバイダ」ではないため、アクティビティ・グラフなどのように、プロバイダ・コード内のその接続情報にはアクセスできません。そのかわりに、内部コードではVersatileModuleLifecycleCallback
を使用して、その構成情報を使用できるようにしています。したがって、これはweb.xml
で必ず構成する必要があるリスナーとなります。このリスナーがアクティブ化されたら、コードで接続情報にアクセスするコールを行い、ILocatorコードをパラメータ化してPC RESTサーバーを指すことができます。
PC ILocatorとプロパティ・サービス・プロバイダの接続
プロパティ・サービス・プロバイダ(PSP)は、ピープル・コネクションILocatorをネームスペースによって認識します。前述のブートストラップ・プロセスでは、PropertySetDefinition
(とその定義)に「people.connections.person
」およびロケータ・クラス「oracle.wcps.people.property.PeoplePropertyLocator
」というネームスペースが指定されています。PSPの使用時に、namespace
とPropertySetDefinition
がPSPに渡されます。PSPは、PropertySetDefinition
で定義されているロケータ・クラスを使用してインスタンス化し、プロパティ値(ピープル・コネクションRESTサービスからのPersonの値)に委譲します。
このプロセスではロケータとネームスペースが非常に重要です。これらは、内部クラスPropertyDefConstantsで定数として定義されています。これらを構成する必要はありません。
アクティビティ・グラフの接続設定は、wc_domain
コンダクタ拡張ディレクトリにあるwcps-connections.xml
に保持されています(ドメインが有効範囲)。このファイルを直接編集することはお薦めできませんが、接続設定を変更するには、次のように複数の方法があります。第20.5.1項「プロバイダ接続設定の作成または変更」で説明している方法のいずれかを使用して、カスタム・プロバイダの接続設定を構成してください。構成ファイルの要素とプロパティの詳細は、第20.5.1.2項「接続構成の属性」を参照してください。
インストールで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
クラスを参照してください。
<?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>
コンテンツ・プレゼンタを使用してWebCenter Portalのパーソナライズ・シナリオを実行するには、まず接続ファイル(connections.xml
)を構成して、コンテンツ・プレゼンタがコンダクタ・サーバーおよびタグ付きシナリオを認識できるようにする必要があります。コンテンツ・プレゼンタの詳細は、Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイドのコンテンツ・プレゼンタによるコンテンツの公開に関する項を参照してください。
connections.xml
には、WebCenter Portal側で使用するアプリケーションの接続情報が格納されています。コンテンツ・プレゼンタは、このファイルに登録されているURL接続の全リストを取得し、「Conductor
」で始まるURL接続を、コンダクタ・サーバーを指すURLとみなします。connections.xml
の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』の付録A「WebCenter Portal: Frameworkアプリケーションのファイル」を参照してください。
コンテンツ・プレゼンタ・タスク・フローの構成は、実行時に行うか、コンテンツ・プレゼンタ・タスク・フローをページに追加するときにJDeveloperから行うことができます。コンテンツ・プレゼンタのこの2種類の構成方法と、コンダクタ側の構成要件について、次の各項で説明します。
WebCenter Portalアプリケーションでは、JDeveloperを使用してURL接続を設定するか、第20.7.2項「コンテンツ・プレゼンタ・タスク・フローのパラメータの構成」の説明に従ってコンテンツ・プレゼンタ・タスク・フローのパラメータを設定します。WebCenter Portal: Spacesでは、WLSTコマンドまたはFusion Middleware Controlのいずれかを使用して接続を構成できます。
この項の内容は次のとおりです。
Spacesアプリケーションでは、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に関する項を参照してください。
Spacesアプリケーションでは、Fusion Middleware Controlを使用して接続を構成できます。
Fusion Middleware Controlを使用して接続を構成する手順は次のとおりです。
Fusion Middleware Controlにログインし、Spacesアプリケーションのホームページに移動します。
第6.2項「Spacesアプリケーションのホームページへの移動」を参照してください。
「WebCenterポータル」メニューから、「ADF」→「ADF接続の構成」を選択します。
「ADF接続構成」ページが表示されます(図20-1を参照)。
「接続タイプ」を「URL」
に設定し、「接続名」に「Conductor」
と入力して、「接続の作成」をクリックします。
「URL接続」セクションが表示されます(図20-2を参照)。
「編集」(鉛筆)アイコンをクリックします。
「URL接続」ダイアログが表示されます(図20-3を参照)。
URLを編集して、Spacesアプリケーションが使用するContent ServerインスタンスをURLが指すようにします。次に例を示します。
http://example.com:8891/wcps/api/conductor?namespace=CP_namespace&repoId=myhost-ucm11g
必要に応じて、その他のフィールドをローカル接続に合わせて更新し、「OK」をクリックします。
コンテンツ・プレゼンタのインスタンスは、そのタスク・フロー・パラメータによって構成できます。これらのパラメータは、実行時に「コンテンツ・プレゼンタ構成」ダイアログで設定するか、コンテンツ・プレゼンタ・タスク・フローの追加時に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: Spacesユーザーズ・ガイドのコンテンツ・プレゼンタ・タスク・フローのプロパティ設定に関する項
JDeveloperで構成する場合: 『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』のコンテンツ・プレゼンタ・タスク・フロー・パラメータおよび初期設定の表示テンプレートに関する項
コンダクタ側では、シナリオをコンテンツ・プレゼンタに認識させるための適切なタグがシナリオに必要です。コンテンツ・プレゼンタでは、ContentPresenterScenario
というタグを使用します。したがって、コンテンツ・プレゼンタに認識させる必要があるシナリオはすべて、このタグの関連付けが必要です。
コンダクタ側とWebCenter Portalアプリケーション側の両方ですべての設定が完了したら、後は簡単です。「コンテンツ・プレゼンタ構成」ダイアログを開くと、「コンテンツ・ソース」選択リストに「シナリオ結果」が表示されます。これを選択すると、コンテンツ・プレゼンタを使用するようにタグ付けされているすべてのシナリオが表に表示されます。最初のシナリオが必ず選択されており、そのシナリオに入力パラメータが定義されている場合は、入力パラメータが表の下に入力フィールドとともに表示されます。
表で別のシナリオを選択すると、下の入力パラメータが更新されます。シナリオを選択して入力パラメータを指定したら、コンテンツ・プレゼンタをプレビューまたは保存して結果を取得できます。結果は、他の複数値コンテンツ・ソースと同様に表示されます。最終的には、表示用に選択したテンプレートに基づいて表示されます。
注意: シナリオから返され、コンテンツ・プレゼンタ内で使用される結果は、有効なCMIS問合せであることが必要です。コンテンツ・プレゼンタは戻り値を取得し、それを(CMIS問合せとして)コンダクタURL内で指定されているリポジトリに対して実行するからです。 |
シングル・サインオンの構成は、configureTrustWCPS.py
スクリプトとconfigureConnectionsWCPS.py
スクリプトを実行してWebCenter Portalドメインを構成する一環として行われるか、またはconfigureWCPS.py
スクリプトを実行してJDeveloperの統合WLSドメインを構成する一環として行われます。これらのスクリプトを実行すると、トラスト・サービス・シングル・サインオンも設定されます。これにより、クライアントJEE Webアプリケーション、パーソナライズWebアプリケーション、およびデフォルトのデータ・プロバイダで使用されるWC_Spaces
WebアプリケーションRESTサービスの間でREST HTTPリクエストのシングル・サインオンが可能になります。これらのWebCenter Portalアプリケーションはすべて、OAM/OSSOが提供するシングル・サインオン・トークンもサポートするように構成されます。追加のパーソナライズ固有の構成は必要ありません。詳細は、第20.4.3項「ドメイン間トラストの構成」を参照してください。
デフォルトでは、パーソナライズRESTリソース(resourceIndexを除く)へのすべてのアクセスには認証が要求されます。ほとんどの場合、開発用にはこれで十分です。ただし、本番環境では、このデフォルトのセキュリティ制約を変更する場合があります。次の各項では、匿名アクセスが必要なシナリオを実行する際のセキュリティを下げる方法や、新しいシナリオを作成できないようにセキュリティを強化する方法について説明します。
この項の内容は次のとおりです。
次のセキュリティ制約をドメインの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 in this namespace --> <!--auth-constraint> <role-name>Users</role-name> </auth-constraint--> </security-constraint>
簡単なフィルタをドメインの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); }
第20.9.2項「匿名ユーザーによるシナリオの作成の禁止」で説明したフィルタに簡単な変更を加えると(httpRequest.getUserPrincipal() check
を削除)、すべてのユーザーに対してシナリオの作成を禁止できます。HTTP POST操作はシナリオの実行のリクエストにも使用されますが、その場合のURIは異なります(また、フィルタ<url-pattern>
ではなく、<security-constraint>
内で保護されています)。