Oracle® Fusion Middleware Oracle WebCenter Portal管理者ガイド 11g リリース1(11.1.1.6.0) B72085-01 |
|
![]() 前 |
![]() 次 |
この章では、Oracle WebLogic ServerにデプロイされたWebCenter Portalアプリケーション(SpacesアプリケーションとFrameworkアプリケーション)のためのワークリストを構成および管理する方法を説明します。
WebCenter Portalアプリケーションのバックエンド・サービスを確認および構成するには、常にFusion Middleware ControlまたはWLSTコマンドライン・ツールを使用してください。デプロイ後にSpacesアプリケーションやFrameworkアプリケーションに加えた変更は、MDSメタデータにカスタマイズとして格納されます。第1.3.5項「WebCenter Portalの構成に関する考慮事項」を参照してください。
注意: Fusion Middleware ControlまたはWLSTを使用してワークリスト・サービスの構成に対して加えた変更は、動的ではありません。変更を有効にするには、WebCenter Portalアプリケーションがデプロイされている管理対象サーバーを再起動する必要があります。第8.2項「WebCenter Portalアプリケーションがデプロイされる管理対象サーバーの起動および停止」を参照してください。 |
この章の内容は次のとおりです。
対象読者
この章の内容は、Fusion Middleware管理者(Oracle WebLogic Server管理コンソールを使用してAdmin
またはOperator
ロールを付与されたユーザー)を対象としています。第1.8項「管理操作、ロールおよびツールの理解」も参照してください。
この項では、ロードマップを構成プロセスにおける管理者のガイドとして使用します。
この項の図23-1と表23-1に、Spacesアプリケーションでワークリスト・サービスを動作させるための前提条件と必要な作業の概要を示します。
表23-1 Spaces用のワークリスト・サービスの構成
担当者 | タスク | サブタスク |
---|---|---|
管理者 |
1. WebCenter Portal: SpacesとOracle SOA Suiteをインストールします |
|
管理者 |
2. 次のいずれかのツールを使用してワークリスト接続を構成します脚注 1
|
Fusion Middleware Controlを使用する場合
WLSTを使用する場合
|
管理者 |
3. (オプション)WebCenter Portal: Spacesワークフローを構成します脚注参照 1 |
3.a 次のいずれかのツールを使用して、WebCenter Portal: Spacesワークフロー用のBPELサーバー接続を指定します
3.b WS-securityのキーストアを構成します |
管理者 |
4. (オプション)追加のBPELワークフローをデプロイします |
|
管理者 |
5. (オプション)Spacesと同じアイデンティティ・ストアを使用するようにBPELサーバーを構成します脚注参照 1 |
|
管理者 |
6. (オプション)BPELサーバーへの接続を保護します |
6.a シングル・サインオンを構成します 6.b WS-Securityを構成します 6.c SSLを構成します |
エンド・ユーザー |
7. Spacesでワークリスト・サービスが動作していることをテストします |
7.a Spacesにログインします 7.b ページにワークリスト・タスク・フローを追加します 7.c ワークリスト・イベントを生成します 7.d タスク・フローにイベント情報が表示されることを確認します |
脚注 1 初期設定で自動構成済
この項の図23-2と表23-2に、Frameworkアプリケーションでワークリスト・サービスを動作させるための前提条件と必要な作業の概要を示します。
表23-2 Frameworkアプリケーション用のワークリスト・サービスの構成
担当者 | タスク | サブタスク |
---|---|---|
管理者 |
1. WebCenter PortalとOracle SOA Suiteをインストールします |
|
開発者 |
2. ワークリスト・サービスをFrameworkアプリケーションに統合します |
2.a ワークリスト接続を作成します 2.b JDeveloperでワークリスト・タスク・フローをページに追加します |
開発者/管理者 |
3. 次のいずれかのツールを使用してFrameworkアプリケーションをデプロイします
|
|
管理者 |
4. 追加のBPELワークフローをデプロイします |
|
管理者 |
5. (オプション): アプリケーションと同じアイデンティティ・ストアを使用するようにBPELサーバーを構成します |
|
管理者 |
6. (オプション): BPELサーバーへの接続を保護します |
6.a シングル・サインオンを構成します 6.b WS-Securityを構成します 6.c SSLを構成します |
開発者/管理者 |
7. (オプション): 次のいずれかのツールを使用して接続パラメータを追加または変更します
|
|
エンド・ユーザー |
8. ワークリスト・サービスが動作していることをテストします |
8.a Frameworkアプリケーションにログインします 8.b ワークリスト・イベントを生成します 8.c タスク・フローにイベント情報が表示されることを確認します |
BPEL接続に関する操作を行うときには、次の点に留意してください。
ワークリスト・サービスでは、WebCenter Portalユーザーが様々なBPELサーバーからの割当てや通知を監視および管理できるように、複数の接続を使用できます。詳細は、第23.4項「ワークリスト接続の設定」を参照してください。
WebCenter Portal: Spacesワークフローには、Oracle SOA Suiteに含まれるBPELサーバーへの単一の接続が必要です。詳細は、第9.3項「SpacesワークフローをホスティングするBPELサーバーの指定」を参照してください。
ワークリスト・サービスとWebCenter Portal: Spacesワークフローは、同じBPELサーバー接続を共有することも、それぞれ別々のBPELサーバーに接続することもできます。現在のWebCenter PortalユーザーのワークリストにSpacesワークフローによって作成されたワークリスト・アイテムを表示できるようにするために、WebCenter Portal: Spacesワークフローとワークリスト・サービスで接続を共有することをお薦めします。
ワークリスト・サービスは、複数のBPELサーバーからのワークリスト・アイテムを集約できるように、複数のBPEL接続にワイヤリングできます。たとえば、人事サーバーや総勘定元帳サーバーなど、様々なタイプのワークフローを実行する複数のBPELサーバーがトポロジに含まれている場合などです。
BPEL接続は一意のURLである必要があります。そうでない場合は、同じサーバーに対して重複する問合せが作成されます。
ワークリスト・サービスのスムーズな動作を確実にするために、次の点に留意してください。
ワークリスト・タスク・フローを含むページは、ADFセキュリティを使用して保護する必要があります。
ワークリスト・サービスは、BPELワークリスト・アプリケーションを介してアクセスできるOracle SOA SuiteのBPELサーバーを使用するように構成する必要があります。そのURLの形式は次のとおりです。
http://host:port/integration/worklistapp
ワークリスト・サービスがOracle SOA SuiteのBPELサーバーと同じドメインで実行されていない場合、アイデンティティ・ストア(LDAP)を共有するか(推奨)、同じユーザー名をアイデンティティ・ストアに含める必要があります。
ワークリスト・サービスの管理対象サーバーのクロックと、Oracle SOA Suite BPELの管理対象サーバーのクロックは、アサーションの新しさをチェックするSAML認証条件NotBefore
に違反しないように同期する必要があります。
構成に関連する例外の存在は許されません。WLSTコマンドlistWorklistConnections
を使用して、構成した接続を表示して接続の詳細を検証してください。接続のリストを表示した後、/integration/worklistapp
で追加されたURLプロパティを使用してそれらの接続を検証します。http://
host:port
/integration/worklistapp
でBPELワークリスト・アプリケーションにアクセスできることを確認してください。
Oracle SOA Suite BPELの管理対象サーバーがアイデンティティ・ストアを使用するように構成されていて、そのアイデンティティ・ストアにBPMWorkflowAdmin
(デフォルトではweblogic
)が含まれていない場合、第23.5.2.2項「共有ユーザー・ディレクトリにWeblogicユーザーが含まれていない」の説明に従って、BPMWorkflowAdmin
ユーザーを構成する必要があります。
ワークリスト・サービスの管理対象サーバーとOracle SOA SuiteのBPELサーバーの管理対象サーバーの両方で、wsm-pm
アプリケーションが問題なく実行されている必要があります。これは、次のURLを使用して検証できます。
http://host:port
/wsm-pm/validator
BPELサーバーの問題を解決する方法の詳細は、第23.5項「ワークリストに関する問題のトラブルシューティング」を参照してください。
ワークリスト・サービスは、Oracle SOA Suiteに含まれるOracle BPEL Process Manager (BPEL)サーバーに依存しています。
ワークリスト・サービスを使用するには、Oracle SOA Suiteをインストールする必要があります。Oracle SOA Suiteをインストールする方法の詳細は、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suiteインストレーション・ガイドを参照してください。
Oracle SOA Suiteのインストール後、BPELサーバーへの接続を設定することにより、ワークリスト・サービスをWebCenter Portalアプリケーションに統合できます。
ワークリスト・サービスは、現在認証されているユーザーのタスクを表示するものです。WebCenter PortalユーザーがOracle SOA SuiteのBPELサーバー上でタスクを格納および取得するには、そのユーザー名が共有ユーザー・ディレクトリ(LDAP)に存在しているか、WebCenter PortalアプリケーションとBPELサーバーの両方で同様に設定されている必要があります。
たとえば、ユーザーrsmith
がワークリスト・サービスを使用してBPELサーバー上でタスクを格納および取得する場合、BPELサーバーとアプリケーションの両方にユーザーrsmith
が存在している必要があります。
追加のログイン・プロンプトが表示されないようにWebCenter Portalのワークリスト・コンポーネントからBPELタスクの詳細にアクセスするには、WebCenter PortalサーバーとOracle SOA SuiteサーバーでOracle Single Sign-Onサーバーを共有するように構成する必要があります。詳細は、第31.2項「Oracle Access Manager (OAM)の構成」と第31.3項「Oracle Single Sign-On(OSSO)の構成」を参照してください。
セキュアな接続にするために、オプションでSOAとSpacesの間でWS-Securityを構成できます。詳細は、第34章「WS-Securityの構成」を参照してください。
ワークリスト・タスク・フローは、認証されたページ内でのみ機能します。ワークリスト・タスク・フローが非保護ページ(ユーザーがログインしたアプリケーションからの移動先ではないパブリック・ページ)にある場合、「ワークリスト・コンテンツを表示するにはログインする必要があります。」という警告メッセージが表示されます。これは、現在のユーザーのセッションで、どのユーザーのタスクが問合せの対象になるかを判断できるようにするためです。
この項の内容は次のとおりです。
ワークリスト・サービスを使用すると、WebCenter Portalアプリケーションで、認証済ユーザーに対して、それらのユーザーに現在割り当てられているBPELワークリスト・アイテムのリストを表示できます。BPELワークリスト・アイテムは、1つ以上のBPELワークリスト・リポジトリからのオープンなBPELタスクです。
ワークリスト・アイテムを配信するBPELサーバーごとに1つずつ接続が必要です。WebCenter Portalユーザーが様々なBPELサーバーからの割当てや通知を監視および管理できるように、複数のワークリスト接続を使用できます。
BPELサーバーに接続できない場合、その接続が使用不可能であることがワークリスト・タスク・フローによって示され、そのエラーの原因がサーバーの診断ログに記録されます。このログは、ワークリスト・コンポーネントのログ・ディレクトリをホストするサーバーにあります。Spacesアプリケーションの場合: ./user_projects/domains/base_domain/servers/WC_Spaces/logs/WC_Spaces-diagnostic.log
。Frameworkアプリケーションの場合: ./user_projects/domains/base_domain/servers/WC_Spaces/logs/WC_CustomPortal-diagnostic.log
。
WebCenter Portal: Spaces
Spacesで内部ワークフロー(スペース・メンバーシップ通知およびスペース・サブスクリプション・リクエスト)をサポートするためには、BPELサーバー接続が必要です。この機能を提供するBPELサーバーは常に、Oracle SOA Suiteに含まれるBPELサーバーです。詳細は、第9.3項「SpacesワークフローをホスティングするBPELサーバーの指定」を参照してください。
ワークリスト・サービスは、SOAインスタンス接続を共有できます。また、SOAインスタンス接続を共有することにより、各ユーザーのワークリスト・タスク・フロー内のスペース・アクティビティに関連するワークリスト・アイテムを表示できます。
この項の内容は次のとおりです。
ワークリスト接続を登録する手順は、次のとおりです。
Fusion Middleware Controlにログインし、SpacesアプリケーションまたはFrameworkアプリケーションのホームページに移動します。詳細は、次を参照してください。
次のいずれかを実行します。
Spacesアプリケーションの場合: 「WebCenterポータル」メニューから、「設定」→「サービス構成」を選択します。
Frameworkアプリケーションの場合: 「アプリケーション・デプロイメント」メニューから、「WebCenterポータル」→「サービス構成」を選択します。
「WebCenter Portalサービス構成」ページのサービスのリストから、「ワークリスト」を選択します。
新規の接続を登録するには、「追加」をクリックします(図23-3)。
ワークリスト接続の一意の名前を入力し、アクティブな接続として設定します(表23-3)。この接続は、管理対象サーバーの再起動後に適用されます。
表23-3 ワークリスト接続: 名前
フィールド | 説明 |
---|---|
名前 |
接続の一意の名前を入力します。名前は、WebCenter Portalアプリケーションのすべての接続タイプにおいて一意である必要があります。 この名前は、アプリケーションでワークリスト機能を使用するユーザーに対して表示できます。ユーザーは、ソートおよびグループ化の様々なオプションを使用して、ワークリストの割当てを編成できます。「ワークリスト・サーバー別にグループ化」オプションを使用すると、ここで指定した名前が表示されます。このため、他のユーザーにわかりやすい意味のある名前(たとえば |
アクティブな接続 |
選択すると、WebCenter Portalアプリケーションでこのワークリスト接続がアクティブになります。アクティブになった後は、関連付けられたBPELサーバーからのワークリスト・アイテムがユーザーのワークリストに表示されます。 WebCenter Portalユーザーが様々なBPELサーバーからの割当てや通知を監視および管理できるように、複数のワークリスト接続を一度にアクティブにできます。なんらかの理由で接続を無効化する必要がある場合は、このオプションの選択を解除します。 (「編集」モードのみ。)チェック・ボックスは、他のコンポーネントがこの接続を共有するかどうかを示します。
ここには示されていませんが、通知サービスでBPELサーバー接続を使用するように設定することもできます。第19.2項「通知の設定」を参照してください。 接続プロパティを変更する前に、この接続を共有する他のコンポーネントへの影響を考慮してください。 |
BPELサーバーの接続の詳細を入力します(表23-4)。
表23-4 ワークリスト接続: 接続の詳細
フィールド | 説明 |
---|---|
BPEL SOAP URL |
BPELサーバーへのアクセスに必要なURLを入力します。次の形式を使用します。 protocol://host:port 例: 注意: Spacesは、Oracle SOA Suiteに含まれているBPELサーバーを使用して、WebCenter Portal: Spacesワークフローを実装します。ワークフロー接続を設定する場合、SOA SuiteのBPELサーバーのURLをここに入力してください。詳細は、第9.3項「SpacesワークフローをホスティングするBPELサーバーの指定」を参照してください。 |
SAMLトークン・ポリシーURI |
この接続で認証に使用するSAML (Security Assertion Markup Language)トークン・ポリシーを選択します。 SAMLは、認証および認可の権限を定義するセキュリティ・トークンを渡すためのXMLベース標準です。(レシーバとの信頼関係を持っている)証明エンティティは、送信者保証と呼ばれる方式によってサブジェクトの検証を保証します。選択可能なオプションは次のとおりです。
|
受信者キーの別名 |
メッセージ保護付きSAMLポリシーの認証に使用される受信者キーの別名です。これが必要なのは、BPELサーバー接続で認証のためにSAMLトークン・ポリシーが使用されていて、アプリケーションのワークリスト・サービスで複数のBPELサーバー接続が使用されている場合のみです。 例: 複合トポロジの受信者キーの別名を調べるには、第34.3項「複合トポロジの場合のWS-Securityの構成」を参照してください。 |
リンクURL |
BPELサーバーへのリンクに使用されるURLを指定します。指定する必要があるのは、たとえばSSOまたはHTTPSが構成されるときなど、BPEL SOAP URLと異なる場合のみです。
例: パフォーマンス上の理由で、HTTPSまたはSSO環境においては、「リンクURL」ではHTTPSまたはSSO Webサーバーを介したBPELワークリスト・アイテムへのユーザー・アクセスを指定します。一方、「BPEL SOAP URL」では、HTTPSまたはSSO Webサーバーを介したリダイレクトを伴わないBPEL Webサービスへの直接アクセスを指定します。 |
「OK」をクリックして、この接続を保存します。
「テスト」をクリックして、作成した接続が機能するかどうかを検証します。正常な接続の場合、新しい(アクティブな)接続の使用を開始するにはWebCenter Portalアプリケーションがデプロイされている管理対象サーバーを再起動する必要があることを通知するアドバイスが「テストのステータス」メッセージに表示されます。詳細は、第8.2項「WebCenter Portalアプリケーションがデプロイされる管理対象サーバーの起動および停止」を参照してください。
テストが失敗した場合、第23.5項「ワークリストに関する問題のトラブルシューティング」を参照してください。
WLSTコマンドのcreateBPELConnection
を使用して、BPELサーバー接続を作成します。コマンドの構文と例は、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』のcreateBPELConnectionに関する項を参照してください。
新しいBPELサーバー接続をアクティブに使用するようにワークリスト・サービスを構成するには、いくつかの追加構成が必要です。詳細は、第23.4.3.2項「WLSTを使用したワークリスト接続のアクティブ化」を参照してください。
WLSTコマンドの実行方法の詳細は、第1.13.3.1項「Oracle WebLogic Scripting Tool (WLST)コマンドの実行」を参照してください。
注意: 新規に登録した接続をアクティブ化するには、第23.4.3項「ワークリスト接続のアクティブ化」に記載された手順を実行します。 新しい(アクティブな)接続の使用を開始するには、WebCenter Portalアプリケーションがデプロイされている管理対象サーバーを再起動する必要があります。詳細は、『Oracle Fusion Middleware管理者ガイド』のコマンド・ラインを使用したWebLogic管理対象サーバーの起動および停止に関する項を参照してください。 |
WebCenter Portalアプリケーションでは、一度に複数のワークリスト接続をアクティブにできます。複数の接続により、WebCenter Portalユーザーは複数のBPELサーバーからの割当てや通知を監視および管理できます。ワークリスト・サービスの問合せ先のSOAサーバーが現在メンテナンス中である場合、エラーや警告がログに記録されたりUIに表示されないように、アクティブな接続を一時的に無効化できます。
この項の内容は次のとおりです。
ワークリスト接続をアクティブ化または無効化する手順は、次のとおりです。
Fusion Middleware Controlにログインし、SpacesアプリケーションまたはFrameworkアプリケーションのホームページに移動します。詳細は、次を参照してください。
次のいずれかを実行します。
Spacesアプリケーションの場合: 「WebCenterポータル」メニューから、「設定」→「サービス構成」を選択します。
Frameworkアプリケーションの場合: 「アプリケーション・デプロイメント」メニューから、「WebCenterポータル」→「サービス構成」を選択します。
「WebCenter Portalサービス構成」ページのサービスのリストから、「ワークリスト」を選択します。
「ワークリスト接続の管理」表に、現在のアクティブな接続(ある場合)が示されます。
アクティブ化(または無効化)するワークリスト接続を選択し、「編集」をクリックします。
「ワークリスト」チェック・ボックスを選択して、WebCenter Portalアプリケーションでこのワークリスト接続をアクティブ化します。
アクティブになった後は、関連付けられたBPELサーバーからのワークリスト・アイテムがワークリスト・タスク・フロー内に表示されます。なんらかの理由で接続を無効化する必要がある場合は、このオプションの選択を解除します。
「OK」をクリックして、接続を更新します。
「テスト」をクリックして、アクティブ化した接続が機能するかどうかを検証します。接続が正常にアクティブ化されると、更新した接続の使用を開始するにはWebCenter Portalアプリケーションがデプロイされている管理対象サーバーを再起動する必要があることを通知するアドバイスが「テストのステータス」メッセージに表示されます。詳細は、第8.2項「WebCenter Portalアプリケーションがデプロイされる管理対象サーバーの起動および停止」を参照してください。
WLSTコマンドのaddWorklistConnection
を使用して、ワークリスト・サービスの既存のBPEL接続をアクティブ化します。コマンドの構文と例は、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』のaddWorklistConnectionに関する項を参照してください。
ワークリスト・サービスにより使用されているBPEL接続を後から無効化するには、WLSTコマンドのremoveWorklistConnection
を実行します。接続の詳細は保持されますが、この接続はアクティブな接続として示されなくなります。構文の詳細と例は、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』のremoveWorklistConnectionに関する項を参照してください。
現在どの接続がアクティブになっているかを調べるには、listWorklistConnections
を使用します。
WLSTコマンドの実行方法の詳細は、第1.13.3.1項「Oracle WebLogic Scripting Tool (WLST)コマンドの実行」を参照してください。
注意: アクティブな接続の使用を開始するには、WebCenter Portalアプリケーションがデプロイされている管理対象サーバーを再起動する必要があります。詳細は、『Oracle Fusion Middleware管理者ガイド』のコマンド・ラインを使用したWebLogic管理対象サーバーの起動および停止に関する項を参照してください。 |
ワークリスト接続の詳細を更新する手順は、次のとおりです。
Fusion Middleware Controlにログインし、SpacesアプリケーションまたはFrameworkアプリケーションのホームページに移動します。詳細は、次を参照してください。
次のいずれかを実行します。
Spacesアプリケーションの場合: 「WebCenterポータル」メニューから、「設定」→「サービス構成」を選択します。
Frameworkアプリケーションの場合: 「アプリケーション・デプロイメント」メニューから、「WebCenterポータル」→「サービス構成」を選択します。
「WebCenter Portalサービス構成」ページのサービスのリストから、「ワークリスト」を選択します。
アクティブ化するワークリスト接続を選択し、「編集」をクリックします。
必要に応じて接続の詳細を編集します。パラメータの詳細は、表23-4「ワークリスト接続: 接続の詳細」を参照してください。
「OK」をクリックして、接続を更新します。
「テスト」をクリックして、更新した接続が機能するかどうかを検証します。接続が正常に更新されると、更新した接続の使用を開始するにはWebCenter Portalアプリケーションがデプロイされている管理対象サーバーを再起動する必要があることを通知するアドバイスが「テストのステータス」メッセージに表示されます。詳細は、第8.2項「WebCenter Portalアプリケーションがデプロイされる管理対象サーバーの起動および停止」を参照してください。
WLSTコマンドのsetBPELConnection
を使用して、既存のBPELサーバー接続の詳細を編集します。コマンドの構文と例は、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』のsetBPELConnectionに関する項を参照してください。
WLSTコマンドの実行方法の詳細は、第1.13.3.1項「Oracle WebLogic Scripting Tool (WLST)コマンドの実行」を参照してください。
注意: 更新した(アクティブな)接続の使用を開始するには、WebCenter Portalアプリケーションがデプロイされている管理対象サーバーを再起動する必要があります。詳細は、『Oracle Fusion Middleware管理者ガイド』のコマンド・ラインを使用したWebLogic管理対象サーバーの起動および停止に関する項を参照してください。 |
複数のWebCenter Portalコンポーネント(つまり、ワークリスト・サービス、通知サービスおよびSpacesワークフロー)が同じワークリスト接続を共有している場合があります。ワークリスト接続を削除する前に、Fusion Middleware Controlで「アプリケーション構成」ページへ移動して(「WebCenterポータル」→「設定」→「アプリケーション構成」)、その接続がSpacesワークフローや通知で使用されていないかどうか確認してください。
この項の内容は次のとおりです。
ワークリスト接続を削除する手順は、次のとおりです。
Fusion Middleware Controlにログインし、SpacesアプリケーションまたはFrameworkアプリケーションのホームページに移動します。詳細は、次を参照してください。
次のいずれかを実行します。
Spacesアプリケーションの場合: 「WebCenterポータル」メニューから、「設定」→「サービス構成」を選択します。
Frameworkアプリケーションの場合: 「アプリケーション・デプロイメント」メニューから、「WebCenterポータル」→「サービス構成」を選択します。
「WebCenter Portalサービス構成」ページのサービスのリストから、「ワークリスト」を選択します。
削除するワークリスト接続を選択し、「削除」をクリックします。
確認のため、「はい」をクリックします。
この変更を有効にするには、WebCenter Portalアプリケーションがデプロイされている管理対象サーバーを再起動する必要があります。詳細は、第8.2項「WebCenter Portalアプリケーションがデプロイされる管理対象サーバーの起動および停止」を参照してください。
WLSTコマンドのdeleteConnection
を使用して、以前にワークリスト・サービスに対して登録したBPEL接続を削除します。コマンドの構文と例は、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』のdeleteConnectionに関する項を参照してください。
WLSTコマンドのremoveWorklistConnection
を使用して、adf-config.xml
で構成されているBPELサーバーを削除します。ワークリスト・サービスは指定された接続を使用しなくなりますが、BPELサーバー接続の詳細は将来利用できるようにconnections.xml
に保持されます。
connections.xml
からBPELサーバー接続を削除するには、WLSTコマンドのdeleteConnection
を使用します。
コマンドの構文と詳細な例は、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』のremoveWorklistConnectionに関する項とdeleteConnectionに関する項を参照してください。
WLSTコマンドの実行方法の詳細は、第1.13.3.1項「Oracle WebLogic Scripting Tool (WLST)コマンドの実行」を参照してください。
変更を適用するために、管理対象サーバーを再起動します。
ワークリスト・サービスでは、いくつかのミドルウェア・コンポーネントに依存して、ログインしているユーザーに対してワークリスト・アイテムを表示しているため、ワークリスト・サービスで障害が起きる原因となる要因がいくつかあります。この項で説明する問題と解決法は、発生する可能性がある一般的な問題の一部に関するものです。
この項の内容は次のとおりです。
注意: 障害の原因を特定するには、構成したSOA BPELサーバーの管理対象サーバーとワークリスト・サービス・プロセスをホストしている管理対象サーバーのログ・ファイルを調べます。 |
この項で説明する問題は、ワークリスト・サービスが使用不可能であることに関する問題です。ワークリスト・タスク・フローによる「ワークリスト・サービスは使用できません」というメッセージに続けて、次の警告が表示されます。
BPELワークリスト接続が設定されていないか、既存の接続構成に問題があるかのいずれかです。このアプリケーションに対してBPELワークリスト接続が少なくとも1つ設定されていることと、未解決の'ConfigurationExceptions'例外がログに記録されていないことを確認してください。
この項の内容は次のとおりです。
問題
adf-config.xml
ファイルにリストされている接続が、アプリケーションのconnections.xml
ファイルに存在していません。アプリケーションが実行されている管理対象サーバーの診断ログに次のようなエントリが存在します。
[2009-03-22T13:33:54.140+00:00] [DefaultServer] [WARNING] [WCS-32008] [oracle.webcenter.worklist.config][tid: [ACTIVE].ExecuteThread: '12' for queue: 'weblogic.kernel.Default (self-tuning)'] userId: user][ ecid: 0000I0iOmdTFk3FLN2o2ye19kTB0000V,0][APP: Worklist#V2.0 arg: Human Resources
''connection_name
''という名前のBPEL接続がconnections.xmlファイルに存在しませんでした。このため、ワークリスト・サービスは必須のBPEL接続と対話できません。
解決策
ログに示されている名前のBPEL接続を作成するか、その接続を削除します。デプロイ後にワークリスト構成を更新する方法の詳細は、第23.4項「ワークリスト接続の設定」を参照してください。
開発中の場合は、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』の「ワークリスト・サービスの統合」を参照してください。
どの接続名が参照されているかを調べたり、ワークリスト・サービスの構成を検証するには、WLSTコマンドのlistWorklistConnections(appName='myApp', verbose=true)
を実行します。詳細は、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』のlistWorklistConnectionsに関する項を参照してください。
アプリケーションのadf-config.xml
にはワークリスト・サービス接続への参照がありませんが、connections.xml
ファイルにはその接続があります。
問題
アプリケーションが実行されている管理対象サーバーの診断ログに、たとえば次のようなエントリが記録されています。
[2009-03-23T10:23:56.943+00:00] [DefaultServer] [WARNING] [WCS-32009] [oracle.webcenter.worklist.config] [tid: [ACTIVE].ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: user] [ecid: 0000I0mqx8Fk3FLN2o2ye19lqBV000008,0] [APP: Worklist#V2.0] ワークリスト・サービスには、connections.xml内のBPELConnectionにマップされるadf-config.xml内のConnectionName構成エントリがないため、ワークリスト・サービスはこのアプリケーション用には設定されませんでした。
解決策
ワークリスト・サービスがワークリスト・アイテムの問合せを実行できるように、少なくとも1つのBPELサーバーへの接続を構成します。
デプロイ後の場合、WLSTまたはFusion Middleware Controlを使用してワークリスト接続を作成します。詳細は、第23.4.2項「ワークリスト接続の登録」を参照してください。開発中の場合、Oracle JDeveloperを使用してワークリスト接続を作成します。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』の「ワークリスト・サービスの統合」を参照してください。adf-config.xml
ファイルとconnections.xml
ファイルは手動では変更しないでください。
問題
ワークリスト・タスク・フローで、「行がまだありません」というメッセージが表示され続けます。
解決策
この問題に対処するには、次のような解決法があります。
ログインしているユーザーに対する「割当て済」のワークリスト・アイテムが存在しない場合
ログインしているユーザーにワークリスト・アイテムが割り当てられていて、それらのアイテムの状態が「割当て済」の場合、常にワークリスト・タスク・フローに表示されます。「行がまだありません」というメッセージは、ログインしているユーザーに対する割当て済ワークリスト・アイテムが存在しないことを示しています。これは問題ではなく、想定内の動作です。
このメッセージの情報が正しいことを確認するには、Oracle SOA SuiteのBPELワークリスト・アプリケーションを開いて、ワークリスト・アイテムが存在するかどうか調べます。BPELワークリスト・アプリケーションのURLは、http://
host:port
/integration/worklistapp
です。host
とport
は、ワークリスト接続で使用されるものと同じです。
ワークリスト・タスク・フローが存在しているADFページがADFで保護されていない場合
認証されたユーザーがOracle SOA SuiteのBPELサーバーへのアクセスをアプリケーション・セッションに関連付けられていないため、ワークリスト・タスク・フローがワークリスト・リポジトリに対する問合せを実行できません。そのページにADFセキュリティを適用してください。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』のワークリスト・サービスのセキュリティの設定に関する項を参照してください。
ワークリスト・サービス接続が存在しているのにワークリスト・タスク・フローで「ワークリスト・サービスは使用できません」という警告が表示される場合、サーバーの障害が問題の原因となっている可能性があります。複数の接続がある場合、「これ以上のアイテムは現在はありません。」というメッセージが表示されます。これらの汎用警告メッセージは、ワークリスト・サービスとOracle SOA Suite BPELリポジトリとのやり取りに問題がある場合に表示されます。
問題の根本原因を特定するには、サービスの障害が発生した時点の管理対象サーバーの診断ログを調べます。場合によっては、Oracle SOA SuiteのBPELプロセスが実行されている管理対象サーバーのログ・ファイルも調べる必要があります。通常は、ワークリスト・アプリケーションの管理対象サーバーの診断ログに、次のようなエントリが記録されています。
[2009-03-23T11:35:21.735+00:00] [DefaultServer] [ERROR] [WCS-32100] [oracle.webcenter.worklist.model] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: user] [ecid: 0000I0n7GBZFk3FLN2o2ye19lrBX00000L,0] [APP: Worklist#V2.0] [arg: WebCenter Worklist] WebCenterワークリストは''WebCenter Worklist''という名前のBPELワークリスト接続を問合せましたが、WebCenterエグゼキュータ・エラーが発生しました。詳細は関連する例外を参照してください。WebCenterワークリストがアプリケーション・サーバーで稼働している場合は、wsm-pmアプリケーションが稼働しているかどうかを確認してください。
このエントリには、WSセキュリティに使用されるwsm-pm
アプリケーションに問題があると記されています。例外に関連する他の原因が存在する可能性もあります。これらの問題が起きた場合には、WebCenterの管理対象サーバーとOracle SOA Suiteの構成済管理対象サーバーの両方で、ログに記録された例外を調べてください。
この項の内容は次のとおりです。
ワークリスト・サービス・タスク・フローが実行されている管理対象サーバーで使用されているアイデンティティ・ストアとOracle SOA Suite BPELサーバーで使用されているアイデンティティ・ストアに不一致があります。
問題
ワークリストの管理対象サーバーのアイデンティティ・ストアに存在するユーザーがOracle SOA Suiteのアイデンティティ・ストアに存在しない場合、次のメッセージが表示されます。
ワークリスト・サービスの管理対象サーバーの診断ログの内容
[2009-03-23T11:35:21.407+00:00] [DefaultServer] [ERROR] [] [oracle.webcenter.worklist.config] [tid: pool-1-daemon-thread-12] [userId: Luke] [ecid: 0000I0n7GBZFk3FLN2o2ye19lrBX00000L,0:1:3] [APP: Worklist#V2.0] Error in workflow service Web service operation invocation.[[ Error in workflow service Web service operation invocation. The error is . Verify that the SOAP connection information for the server is correct. ORABPEL-30044 Error in workflow service Web service operation invocation. Error in workflow service Web service operation invocation. The error is . Verify that the SOAP connection information for the server is correct. at oracle.bpel.services.workflow.query.client.TaskQueryServiceSOAPClient.convertSOAPF aultException(TaskQueryServiceSOAPClient.java:242) at oracle.bpel.services.workflow.query.client.TaskQueryServiceSOAPClient.invoke(TaskQ ueryServiceSOAPClient.java:203) at oracle.bpel.services.workflow.query.client.TaskQueryServiceSOAPClient.authenticate (TaskQueryServiceSOAPClient.java:253) at oracle.bpel.services.workflow.query.client.AbstractDOMTaskQueryServiceClient.authe nticate(AbstractDOMTaskQueryServiceClient.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at oracle.webcenter.concurrent.MethodTask.call(MethodTask.java:34) at oracle.webcenter.concurrent.Submission$2.run(Submission.java:492) at java.security.AccessController.doPrivileged(Native Method) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313) at oracle.webcenter.concurrent.Submission.runAsPrivileged(Submission.java:499) at oracle.webcenter.concurrent.Submission.run(Submission.java:433) at oracle.webcenter.concurrent.Submission$SubmissionFutureTask.run(Submission.java:779) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at oracle.webcenter.concurrent.ModifiedThreadPoolExecutor$Worker.runTask(ModifiedThre adPoolExecutor.java:657) at oracle.webcenter.concurrent.ModifiedThreadPoolExecutor$Worker.run(ModifiedThreadPo olExecutor.java:682) at java.lang.Thread.run(Thread.java:619) ]] [2009-03-23T11:35:21.735+00:00] [DefaultServer] [NOTIFICATION] [] [oracle.webcenter.worklist.config] [tid: pool-1-daemon-thread-15] [userId: Luke] [ecid: 0000I0n7GBZFk3FLN2o2ye19lrBX00000L,0:1:6] [APP: Worklist#V2.0] TaskServiceSOAPClient: soapFault:[[ <env:Fault xmlns:ns0="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-sece xt-1.0.xsd"xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <faultcode>ns0:FailedAuthentication</faultcode> <faultstring>FailedAuthentication : The security token cannot be authenticated or authorized.</faultstring> <faultactor/> </env:Fault> ]]
Oracle SOA Suiteの管理対象サーバーの診断ログの内容
[2009-03-23T04:52:07.909-07:00] [soa_server1] [ERROR] [WSM-00008] [oracle.wsm.resources.security] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000I0nB64fFk3FLN2o2ye19lrBX00000O,0:1:3:1] [WEBSERVICE_PORT.name: TaskQueryServicePortSAML] [APP: soa-infra] [J2EE_MODULE.name: /integration/services/TaskQueryService] [WEBSERVICE.name: TaskQueryService] [J2EE_APP.name: soa-infra] Webサービス認証に失敗しました。
解決策
両方の管理対象サーバーのアイデンティティ・ストアに同じユーザーが存在している必要があります。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』のワークリスト・サービスのセキュリティの設定に関する項を参照してください。
これは、共通のLDAPアイデンティティ・ストアによって簡単に実現できます。ワークリスト・サービスを利用できないユーザーIDを使ってOracle SOA SuiteのBPELワークリスト・アプリケーションにログインできるかどうかを調べると、問題を確認できます。つまり、http://
host:port
/integration/worklistapp
にある統合ワークリスト・アプリケーションへのアクセスを試みてください。host
とport
は、タスク・フロー・アプリケーションのワークリスト接続で使用されるものと同じです。
問題
共有ユーザー・ディレクトリにweblogic
ユーザーが含まれていないため、ワークリスト・サービスから受信したリクエストをBPEL Webサービスが処理できません。
解決策
「アイデンティティ・ストア内のユーザーが一致しない」に記載されている解決法をまず試してください。それでも問題が解決しない場合、この項で説明する解決法を試してください。
Oracle SOA Suiteが共有ユーザー・ディレクトリ(LDAP)に接続されていて、ユーザーweblogic
がアイデンティティ・ストアに存在しない場合、次の手順でアイデンティティ・ストアの有効なユーザーにBPMWorkflowAdmin
ロールを割り当てます。WLSTを使用してSOAAdmin
からアプリケーション・ロールを呼び出し、それを外部アイデンティティ・ストアのメンバーに付与します。それには、SOA_ORACLE_HOME
から次のWLSTコマンドを実行します。次に例を示します。
cd SOA_ORACLE_HOME
/common/bin/
wlst.sh
connect('weblogic','weblogic', '## soa host ##:## soa administration port ##')
revokeAppRole(appStripe="soa-infra", appRoleName="BPMWorkflowAdmin",
principalClass="oracle.security.jps.service.policystore.ApplicationRole", principalName="SOAAdmin")
grantAppRole(appStripe="soa-infra", appRoleName="BPMWorkflowAdmin",
principalClass="weblogic.security.principal.WLSUserImpl", principalName="user")
この例では、LDAPアイデンティティ・ストアにuser
という名前のユーザーが存在します。BPMWorkflowAdmin
ロールを付与する対象ユーザーがLDAPアイデンティティ・ストアに存在しない場合、この変更を有効にするためにOracle SOA Suiteの管理対象サーバーを再起動する必要があります。
問題
ワークリスト・サービスの管理対象サーバーまたはOracle SOA Suiteの管理対象サーバー(あるいはその両方)で、wsm-pm
アプリケーションに問題があります。
解決策
wsm-pm
アプリケーションは、ワークリスト・サービスでのSAML認証を制御するWebサービス・セキュリティ・ポリシーを管理します。wsm-pm
アプリケーションを検証するには、管理権限を持つユーザーとしてwsm-pm
アプリケーションの検証ページにログインします。検証に使用する書式は、http://
host:port
/wsm-pm/validator
です。このアプリケーションに問題がない場合、アクセス可能なポリシーが表示されます。ポリシーが表示されない場合、wsm-pm
アプリケーションに障害が起きるサーバーでログに記録された関連情報を調べてください。
セキュリティ上の理由により、ワークリスト・サービスの管理対象サーバーとOracle SOA Suite BPELの管理対象サーバーとの間でのWebサービス・セキュリティ相互作用は、5分未満の時間差で実行される必要があります。つまり、両方のホスト・マシンのクロックの時間差は5分未満である必要があり、時間差がそれ以上になると認証が失敗します。SAMLアサーションでは、これを検証するためにNotBefore
条件が使用されます。
問題
ワークリスト・サービスの管理対象サーバーとOracle SOA Suite BPELの管理対象サーバーのクロック同期のずれが5分を超えています。
解決策
現在の時刻がSAMLアサーションのclockskew
(デフォルトでは300秒)より早く設定されていないことを確認します。
クライアント・マシンとサービス・マシンの時刻を一致させるか、policy-accessor-config.xml
ファイルでagent.clock.skew
プロパティ(単位は秒)を構成します。このファイルは、DOMAIN_HOME
/config/fmwconfig
ディレクトリにあります。
問題
定義された期間内にワークリスト・サービスがOracle SOA SuiteのBPELサーバーからの問合せ結果を取得できません。
ワークリスト・サービスは、同時スレッドを使用してOracle SOA SuiteのBPELサーバーに対して問合せを発行します。これらのスレッドには、応答期限として特定の時間が割り当てられています。これらのスレッドが割当て時間(たとえば15秒)内に応答しないと、ワークリスト・サービスではそのコールはタイムアウトとなり、タスク・フローに使用不能メッセージが表示されます。この場合、次のような関連する例外がログ・ファイルに記録されます。
[2009-03-03T12:09:34.769-08:00] [WLS_Spaces] [ERROR] [WCS-32103] [oracle.webcenter.worklist.model] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: user] [ecid: 0000HzDx68KC0zT6uBbAEH19fOWs00002q,0] [APP: webcenter] Unable to query BPEL repository.[[ oracle.webcenter.concurrent.TimeoutException: Execution timedout queued : 1 ms suspended : 0 ms running : 15389 ms timeout : 15000 ms service : Worklist resource : ir source : oracle.webcenter.concurrent.CallableTask@bf3952 (oracle.webcenter.concurrent.CallableTask) submission : 150 at oracle.webcenter.concurrent.Submission.transitionTo(Submission.java:595) at oracle.webcenter.concurrent.Submission.timeout(Submission.java:634) at oracle.webcenter.concurrent.InternalExecutorService.checkForTimeouts(InternalExecutorService.java:566) at oracle.webcenter.concurrent.InternalExecutorService.access$300(InternalExecutorService.java:18) at oracle.webcenter.concurrent.InternalExecutorService$1.run(InternalExecutorService.java:352) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462)]]
解決策
このようなエラーが絶えず発生する場合、ワークリスト・サービスが実行されている管理対象サーバーとOracle SOA SuiteのBPELサーバーが使用できるリソースに基本的な問題がある可能性があります。
ユーザーの人数と提供されているリソースの量が、提供されているインフラストラクチャでのこれらのサーバーの実行に適切であるかどうかを検証してください。
注意:
|