Oracle® Fusion Middleware

ユーザー通信プリファレンスの管理

12c (12.2.1.2.0)

E82666-01(原本部品番号:E79247-01)

2016年10月

Oracle User Communication Preferences (Oracle UCP)の管理方法について説明する管理者向けのドキュメントです。ここでは、UCP UIを使用した通信チャネルおよびフィルタの管理方法、Oracle Enterprise Managerを使用したメッセージング・プロファイルの管理および構成方法、ならびにADFタスク・フロー・ライブラリを使用したUCPとWebアプリケーションとの統合方法について説明します。

Oracle Fusion Middlewareユーザー通信プリファレンスの管理 12c (12.2.1.2.0)

E82666-01

Copyright © 2014, 2016 Oracle and/or its affiliates. All rights reserved.

原本著者:  Megha Sharma

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

このドキュメントの情報は、情報共有の目的のみに使用され、顧客諮問委員会の会員の立場で考慮されるか、ベータ・トライアル版契約のみに準じる必要があります。資料、規約または機能性を配信する義務はなく、購買決定に依存すべきではないものとします。このドキュメントに記載されている開発、リリース、およびすべての機能または機能性の時期は、オラクル社の独自の判断に従うものとします。

このドキュメントは、ソフトウェアまたは印刷物などの形式にかかわらず、オラクル社の独占的な財産である機密情報を含みます。この機密資料へのアクセスと使用は、オラクル社との間で締結され遵守に同意したOracle Master Agreement、Oracle License and Services Agreement、Oracle PartnerNetwork Agreement、オラクル販売契約、あるいはその他のライセンス契約の条件にしたがうものとします。オラクル社の文書による事前承諾なしに、このドキュメントおよびここに含まれる情報を開示、コピー、再生、またはオラクル社外部の他者に配布することはできません。このドキュメントは使用許諾契約の一部ではなく、オラクル社の子会社またはアフィリエイトとの契約上の合意に組み込まれません。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

1 ユーザー通信プリファレンスの概要

- 1.1 ユーザー通信プリファレンスの概要

- 1.2 ユーザー通信プリファレンスの用語

2 ユーザー通信プリファレンスの管理

- 2.1 通信チャネルの管理

- 2.1.1 チャネルの作成

- 2.1.2 チャネルの変更

- 2.1.3 チャネルの削除

- 2.1.4 デフォルト・チャネルの設定

- 2.1.5 サポートされていないチャネル

- 2.2 フィルタの管理

- 2.2.1 フィルタの作成

- 2.2.2 フィルタの変更

- 2.2.3 フィルタの削除

- 2.2.4 フィルタの有効化または無効化

- 2.2.5 フィルタの編成

- 2.3 プリファレンス設定の構成

3 ユーザー通信プリファレンスの管理

- 3.1 Oracle Enterprise Managerを使用したビジネス条件の管理

- 3.1.1ビジネス条件の追加または削除

- 3.1.1.1 ビジネス条件の追加

- 3.1.1.2 ビジネス条件の変更

- 3.1.1.3 ビジネス条件の削除

- 3.2 Oracle Enterprise Managerを使用したプロファイルの構成

- 3.3 WLSTコマンドを使用したユーザー・データの管理

4 ユーザー通信プリファレンスとWebアプリケーションの統合

- 4.1 UCP Webユーザー・インタフェースの概要

- 4.2 ADF WebアプリケーションとUCPの統合

- 4.2.1 新しいADFアプリケーションの作成

- 4.2.2 ADF Webページの作成

- 4.2.3 UCPタスク・フロー・ライブラリの接続

- 4.2.4 新しいページへのリージョンの追加

- 4.2.5 UCPライブラリの参照

- 4.2.6 プロジェクト・デプロイメント・プロファイルの管理

- 4.2.7 アプリケーション・デプロイメント・プロファイルの作成

- 4.3 アプリケーションのデプロイ

- 4.3.1 アプリケーションのデプロイ

- 4.3.2 アプリケーション・サーバー接続の構成

- 4.4 アプリケーションの検証

5 ユーザー通信プリファレンスJava APIの使用方法

- 5.1 UCP Java APIの概要

- 5.2 配信プリファレンスの取得

- 5.3 チャネルの管理

- 5.4 フィルタの管理

はじめに

このドキュメントでは、Webアプリケーションでユーザー通信プリファレンス・サービスを使用する方法について説明します。

対象読者

このガイドは、ユーザー通信プリファレンス・サービスを使用して、アプリケーションとの間でメッセージを送受信するプロセス開発者を対象としています。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートをご購入のOracleのお客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info) か、聴覚に障害のあるお客様は (http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

関連ドキュメント

詳細は、次のドキュメントを参照してください。

- 『リリース・ノート』

- 『Oracle User Messaging Serviceの管理』

- 『Oracle SOA Suiteを使用したSOAアプリケーションの開発』

- インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス

表記規則

このマニュアルでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

1 ユーザー通信プリファレンスの概要

この章では、ユーザー通信プリファレンス(UCP)について説明します。ここでは、通信チャネルの使用方法、およびメッセージング・フィルタを使用した連絡プリファレンス・ルールの作成方法について説明します。この章では、Webインタフェースからチャネルとフィルタを管理することにより、通信プリファレンスを管理する方法についても説明します。また、UCPの構成に関するシステム管理者向けの情報と、アプリケーションとUCPの統合に関する開発者向けの情報も提供します。

注意:
Oracle User Messaging Serviceのアーキテクチャとコンポーネントの詳細は、『Oracle User Messaging Serviceの管理』を参照してください。

この章の内容は次のとおりです。

- ユーザー通信プリファレンスの概要

- ユーザー通信プリファレンスの用語

1.1 ユーザー通信プリファレンスの概要

ユーザー通信プリファレンスを使用すると、複数のチャネルにアクセスするユーザーは、メッセージを受信する方法、タイミングおよび場所を制御できます。ユーザーは、フィルタ(配信プリファレンス)を定義して、メッセージの配信先チャネルとその環境を指定します。ユーザーのチャネルおよびフィルタに関する情報は、Oracle Fusion Middlewareでの使用がサポートされているデータベースに格納されます。プリファレンスはデータベースに格納されるため、プリファレンスの情報は、ドメイン内のUCPの全インスタンス間で共有されます。

UCPは、メッセージ配信サービスを提供するのではなく、ユーザーのチャネルと配信プリファレンスに対するアクセスと管理を行うためのユーザー・インタフェースおよびAPIを提供します。ユーザー・メッセージング・サービス(UMS)ではUCPサービスを使用してメッセージを配信します。メッセージがユーザーにアドレス指定されると、UMSは、UCPサービスからそのユーザーの配信プリファレンスを取得し、ユーザーのプリファレンスに応じてメッセージを送信します。アプリケーション開発者にとっては、ユーザー通信プリファレンスを使用すると柔軟性が増します。UMSを介してメッセージを送信することにより、アプリケーションは間接的にUCPサービスを使用します。アプリケーションは、UCP APIをコールしてユーザーのプリファレンスにアクセスし、これを管理したり、タスク・フロー・ライブラリを使用してUCPと統合することによりWebユーザー・インタフェースを提供することで、UCPサービスに直接アクセスすることもできます。

1.2 ユーザー通信プリファレンスの用語

ユーザー通信プリファレンスでは、次のように用語を定義しています。

- チャネル: 配信タイプと配信アドレスの組合せ。たとえば、電子メール、bob@example.comおよびSMS:650333444は2チャネル、電子メールおよびSMSは配信タイプ、bob@example.comおよび6503334444は配信アドレスです。

- チャネル・アドレス: チャネルが通信できるアドレスの1つ。

- フィルタ: ユーザーがメッセージを受信する方法、タイミングおよび場所を制御するメッセージ配信プリファレンス・ルール。

- ビジネス条件: 件名などメッセージの名前付き属性。ビジネス条件のファクトは、メッセージから抽出するか、アプリケーションで提供でき、フィルタ条件内の指定値と比較してフィルタを選択するために使用できます。

- ファクト: メッセージから抽出されるか、アプリケーションにより提供されるビジネス条件の実際値。

- 条件: ビジネス条件、演算子および指定値の組合せ。メッセージについてのファクトは、条件の真偽を評価する値との比較に使用されます。

- アクション: メッセージを送信しない、使用可能な最初のチャネルに送信する、選択された全チャネルに送信するなど、フィルタ内の指定条件が真の場合に実行されるアクション。

- システム条件: 事前定義済ビジネス条件。条件のファクトは自動的にUCPサービスにより提供されます。

注意:
ユーザー通信プリファレンスの条件一致は、デフォルトで大/小文字を区別しません。大/小文字を区別するには、JVMシステム・プロパティoracle.ums.userprefs.filter.match-caseをtrueに設定する必要があります。このプロパティの詳細は、ユーザー・メッセージング・サービスJava APIリファレンスを参照してください。

2 ユーザー通信プリファレンスの管理

この章では、ユーザー通信プリファレンス(UCP)について説明します。ここでは、通信チャネルの使用方法、およびメッセージング・フィルタを使用した連絡プリファレンス・ルールの作成方法について説明します。この章では、Webインタフェースからチャネルとフィルタを管理することにより、通信プリファレンスを管理する方法についても説明します。

注意:
Oracle User Messaging Serviceのアーキテクチャとコンポーネントの詳細は、『Oracle User Messaging Serviceの管理』を参照してください。

この章の内容は次のとおりです。

- 第2.1項「通信チャネルの管理」

- 第2.2項「フィルタの管理」

- 第2.3項「プリファレンス設定の構成」

2.1 通信チャネルの管理

通信チャネルは、メッセージ配信用のアドレス(電話番号など)とタイプ(ショート・メッセージ・サービス(SMS)など)を定義します。

ユーザー通信プリファレンスで(UCP)は、アイデンティティ・ストアのユーザー・プロファイル設定に基づいて、いくつかのチャネルが自動的に作成されます。これらのチャネルは、IDMチャネルと呼ばれ、メッセージ配信用に使用できます。対応するドライバをデプロイすると、POPUPチャネルが自動的に作成されます。このチャネルは、ドライバがアンデプロイされると使用できなくなります。このチャネルのアドレス値は、ユーザーのログインIDです。ユーザーがUCP Web UI経由でこれらのチャネルを変更することはできません。

注意:
メッセージング・ドライバでは、空白を含むチャネル・アドレスを指定できません。チャネル・アドレスの値はログインIDであるため、ユーザーのログインIDを作成する際は、空白を使用しないでください。

かわりにユーザーは、ユーザー定義チャネルを作成、変更および削除できます。これらはUSERチャネルと呼ばれます。ユーザーが作成したすべてのチャネルは、そのユーザーのシステムIDに関連付けられます。Oracle User Communication Preferencesにおけるチャネルは、携帯電話などの物理的なチャネルおよびデスクトップで実行している電子メール・クライアント・アプリケーションの両方を表し、UCP UIで構成できます。

2.1.1 チャネルの作成

USERチャネルを作成するには、次のタスクを実行します。

1. 「使用可能なチャネル」の下のツールバーにある「作成」アイコン(図2-1)をクリックします。

図2-1 「作成」アイコン

「チャネルの作成」ダイアログ・ボックス(図2-2)が表示されます。

図2-2 チャネルの作成

2. 「名前」フィールドにチャネルの名前を入力します。

3. 「タイプ」ドロップダウン・リストから配信タイプを選択します。

4. 選択した配信タイプに適したアドレスを入力します。

5. このチャネルをデフォルト・チャネルとして設定するには、「デフォルト」チェック・ボックスを選択します。デフォルト・チャネルは複数指定できます。

6. 「OK」をクリックしてチャネルを作成します。「使用可能なチャネル」セクションに新しいチャネルが表示されます。「使用可能なチャネル」ページでは、チャネルを変更または削除できます。

2.1.2 チャネルの変更

USERチャネルを変更するには、「使用可能なチャネル」セクションのチャネル・リストからこのチャネルを選択し、「変更」アイコン(図2-3)をクリックします。

図2-3 「変更」アイコン

「チャネルの変更」ダイアログ・ボックス(図2-4)が表示されます。このページでは、第2.1.1項「チャネルの作成」で説明したチャネル・プロパティを変更できます。

図2-4 チャネルの変更

2.1.3 チャネルの削除

USERチャネルを削除するには、「使用可能なチャネル」セクションのチャネル・リストからこのチャネルを選択し、「削除」アイコン(図2-5)をクリックします。

図2-5 「削除」アイコン

特定のチャネルは、アイデンティティ・ストアのユーザー・プロファイルから取得される情報に基づきます。これらはIDMチャネルと呼ばれます。ユーザーは、このチャネルをこのインタフェース経由で変更したり削除したりできません。このようなチャネルに対して実行できるのは、これをデフォルト・チャネルに設定する操作のみです。IDMチャネル・アドレスは、アイデンティティ管理システムを介して管理されます。

注意:
フィルタで使用中のチャネルは削除しないでください(エラーが発生する可能性があります)。チャネルを削除する前に、そのチャネルがすべてのフィルタから解除されていることを確認します。

2.1.4 デフォルト・チャネルの設定

1つ以上のチャネルをデフォルト・チャネルとして構成できます。チャネル・リストから直接チャネルを作成している途中、またはチャネルを作成した後に、チャネルをデフォルトのメッセージング・チャネルとして設定できます。

チャネルをデフォルト・チャネルとして設定するには、チャネル・リストからそのチャネルを選択し、「デフォルト」アイコン(図2-6)をクリックします。選択したチャネルの横にチェックマークが表示され、デフォルトのメッセージ受信方法として指定されます。必要な場合は、この手順を繰り返してさらにデフォルト・チャネルを追加します。

図2-6 「デフォルト」アイコン

すでにデフォルトとして設定されているチャネルのデフォルト設定を削除するには、チャネル・リストからそのチャネルを選択し、「削除」アイコン(図2-7)をクリックします。

図2-7 デフォルト削除アイコン

注意:
アイデンティティ・ストア属性から自動的に作成される「勤務先電子メール」チャネルは、デフォルト・チャネルとして設定されます。「勤務先電子メール」チャネルのデフォルト設定は削除できません。
LDAP設定の構成の詳細は、『Oracle User Messaging Serviceの管理』のユーザー・メッセージング・サービスのLDAPユーザー・プロファイルへのアクセスの構成に関する項を参照してください。

2.1.5 サポートされていないチャネル

特定のチャネルの配信タイプでサービスを使用できない場合(たとえば、その配信タイプに対してドライバが無効な場合)、チャネルがサポートされていない可能性があります。サポートされていないチャネルには、チャネル名の末尾に警告を示す感嘆符(図2-8)が付いています。その配信タイプのサービスが後で利用可能になると、警告マークが消えて、チャネルを再び使用できます。

図2-8 サポートされていないチャネル

2.2 フィルタの管理

フィルタは、条件(「条件」セクション)とアクション(「次を実行」セクション)の2つの主要なセクションで構成されます。各着信メッセージに対してフィルタが評価され、メッセージ処理用に選択する必要のある適切なフィルタが決定されます。条件セクションは、フィルタが選択される状況を決定します。アクション・セクションは、フィルタが選択された場合にメッセージをどのように処理するかを指定します。

図2-9 メッセージング・フィルタ

2.2.1 フィルタの作成

フィルタを作成するには、次のタスクを実行します。

1. 「メッセージング・フィルタ」の下のツールバーの「作成」アイコン(図2-9)をクリックします。次の図のような「フィルタの作成」ページが表示されます。

図2-10 フィルタの作成

2. 「名前」フィールドにフィルタの名前を入力します。

3. 必要に応じて、「説明」フィールドにフィルタの説明を入力します。
チェック・ボックスでフィルタを一時的に有効または無効にできます。

4. 「次のすべての条件に一致」オプションまたは「次の条件のいずれかと一致」オプションを選択して、メッセージがすべての条件を満たす必要があるのか、それともいずれかの条件なのかを選択します。

5. 次のように、「条件」セクションでフィルタ条件を作成します。

1. ツールバーの「作成」アイコンをクリックします。「条件の作成」ダイアログ・ボックスが表示されます。

2. 使用可能なビジネス条件のリストが表示される「属性」ドロップダウン・リストからメッセージの属性を選択します。これらの属性のリストは、第3.1項「Oracle Enterprise Managerを使用したビジネス条件の管理」を参照してください。

3. 選択した属性を、「演算子」ドロップダウン・リストのいずれかの比較演算子と組み合せます。

4. 「オペランド」フィールドに適切な値を入力します。これは、選択されている属性のファクトが選択した演算子を使用して比較される値です。
たとえば、「日付」属性を選択する場合は、比較演算子を1つ選択し、次に日付チューザから適切な日付を選択します。「次の間」などの範囲演算を選択した場合、下限値と上限値を入力するための2つのオペランド・フィールドが表示されます。

5. 「OK」をクリックして、表に条件を追加します。

6. この手順を繰り返してフィルタ条件をさらに追加します。フィルタ条件を削除するには、表内の条件リストから条件を選択し、「削除」アイコン(図2-5)をクリックします。

7. メッセージがユーザーにアドレス指定されると、そのユーザーのフィルタの「条件」セクションが、メッセージ内のファクトに対して評価されます。「条件」セクションでフィルタが選択されると、「次を実行」セクションにより、メッセージの処理方法が決定されます。「次を実行」セクションは、アクション・タイプとチャネル・リストで構成されます。次のアクションの1つを選択します。

- メッセージを送信しない -- フィルタ条件に一致するメッセージの送信をすべてブロックするには、このオプションを選択します。

- 最初の使用可能なチャネルに送信(順にフェイルオーバー) -- フィルタ基準に一致するメッセージを優先チャネル(上矢印や下矢印を使用して設定)または次の使用可能なチャネルに送信するには、このオプションを選択します。

- 選択したすべてのチャネルに送信 -- リストしたすべてのチャネルにメッセージを送信するには、このオプションを選択します。

8. メッセージを送信するアクション・タイプを選択したら、ツールバーのドロップダウン・リストからチャネルを選択して、このフィルタのアクション・チャネル・リストに追加する必要があります。チャネルを選択したら、「追加」(図2-11)をクリックします。チャネルを削除するには、アクション表のチャネル・リストからチャネルを選択し、「削除」(図2-5)をクリックします。

図2-11 「追加」アイコン

9. 必要に応じて、上矢印や下矢印を使用してチャネルに優先順位を付けます。「最初の使用可能なチャネルに送信」を選択すると、使用可能な最上位のチャネルがフィルタ基準に一致したメッセージを受信します。

10. 「OK」をクリックしてフィルタを作成するか、「取消」をクリックしてフィルタを破棄します。

2.2.2 フィルタの変更

フィルタを変更するには、メッセージング・フィルタのリストからフィルタを選択し、「変更」(図2-3)をクリックします。「フィルタの変更」ページが表示されます。このページでは、フィルタ名以外のフィルタ・プロパティを追加または変更できます。第2.2.1項「フィルタの作成」を参照してください。

2.2.3 フィルタの削除

フィルタを削除するには、メッセージング・フィルタのリストからフィルタを選択し、「削除」(図2-5)をクリックします。

2.2.4 フィルタの有効化または無効化

フィルタを一時的に有効または無効にできます。無効になったフィルタは、メッセージ処理の際にスキップされます。次のいずれかの方法で、フィルタを無効または有効にできます。

- メッセージング・フィルタのリストからファイルを選択します。選択したフィルタが有効な場合は、ツールバーにフィルタを無効にするアイコン(図2-12)が表示されます。このアイコンをクリックして、フィルタを無効にします。

図2-12 フィルタの無効化アイコン

選択したフィルタが無効である場合は、ツールバーにフィルタを有効にするアイコン(図2-13)が表示されます。このアイコンをクリックして、フィルタを有効にします。

図2-13 「フィルタの有効化」アイコン

- フィルタの作成または変更を行うダイアログ・ボックスからでもフィルタを有効または無効にできます。

2.2.5 フィルタの編成

フィルタを選択したり、ツールバーの上向き矢印または下向き矢印を使用してリスト内のフィルタを上下移動することにより、リスト内におけるフィルタの優先順位を設定できます。メッセージ処理中、フィルタは、条件に一致するフィルタが見つかるまで、リストの上から下へ順番に評価されます。一致するフィルタが見つからなかった場合、「選択したすべてのチャネルに送信」アクション・タイプのメッセージ配信に対してはデフォルト・チャネルが使用されます。

注意:
フィルタ内のサポートされていないチャネルは使用されず、フィルタ内に存在しないかのように扱われます。第2.1.5項「サポートされていないチャネル」を参照してください。

2.3 プリファレンス設定の構成

UCP UIの右上にある「設定」タブにアクセスして、プリファレンス設定を構成できます。次のパラメータを設定できます。

- ロケール・ソース: 「アイデンティティ・ストアから」または「ブラウザから」を選択します。

- アクセシビリティ・モード: 「標準」または「スクリーン・リーダー」を選択します。

- テキストを高コントラストで表示する場合、「テキストの強調表示」チェック・ボックスを選択します。

- テキストを大きなフォントで表示する場合、「さらに大きいテキスト」チェック・ボックスを選択します。

- プロファイル名: ドロップダウン・リストからプロファイルを選択します。

- 変更内容を保存する場合は「変更の保存」をクリックし、デフォルト設定に戻す場合は「デフォルトにリセット」をクリックします。

図2-14 設定の構成

3 ユーザー通信プリファレンスの管理

この章では、ユーザー通信プリファレンス(UCP)の構成に関するシステム管理者向けの情報と、アプリケーションとUCPの統合に関する開発者向けの情報を提供します。また、プロファイル構成中に使用するビジネス条件についても説明します。

WebLogic Scripting Tool (WLST)を使用すると、プロファイルの構成やユーザー・データの管理を行えます。この章では、以下のトピックについて説明します。

- 第3.1項「Oracle Enterprise Managerを使用したビジネス条件の管理」

- 第3.2項「Oracle Enterprise Managerを使用したプロファイルの構成」

- 第3.3項「WLSTコマンドを使用したユーザー・データの管理」

3.1 Oracle Enterprise Managerを使用したビジネス条件の管理

前述したように、各フィルタ条件はビジネス条件に対して定義されます。UCPは、次の表のビジネス条件をサポートします。ビジネス条件は、名前、データ型およびオプションの説明で構成されます。

表3-1に、ユーザー通信プリファレンスによってサポートされる事前定義済のビジネス条件を示します。

表3-1 ユーザー通信プリファレンス用の事前定義済ビジネス条件

ビジネス条件

データ型

組織

文字列

優先度

文字列

アプリケーション

文字列

アプリケーション・タイプ

文字列

有効期限

日付

送信元

文字列

宛先

文字列

顧客名

文字列

顧客タイプ

文字列

ステータス

文字列

金額

数値(小数)

期日

日付

プロセス・タイプ

文字列

支出タイプ

文字列

コスト合計

数値(小数)

処理時間

数値(小数)

順序タイプ

文字列

サービス・リクエスト・タイプ

文字列

グループ名

文字列

ソース

文字列

分類

文字列

期間

数値(小数)

ユーザー

文字列

ロール

文字列

件名

文字列

サービス名

文字列

プロセス名

文字列

システム・コード

文字列

エラー・コード

文字列

発生数

数値(小数)

UCPは、表3-2の2つのシステム条件をサポートします。システム条件は、事前定義済のビジネス条件です。管理者はシステム条件を拡張できません。システム条件は、条件の定義用に使用できますが、ここでは管理されていません。システム条件のファクトは、現在の時刻とユーザーのタイム・ゾーンに基づいて自動的に取得されます。したがって、ビジネス条件とは異なり、メッセージ処理中に、アプリケーションはシステム条件のファクトを提供する必要がありません。

表3-2 ユーザー通信プリファレンスでサポートされるシステム条件

システム条件

データ型

サポートされる値

日付

日付

日付は、java.util.Dateオブジェクトまたはミリ秒数を表す文字列として受け入れられます。

時間

時間

時刻を表す4桁のHHMM形式の整数。最初の2桁は24時間形式の時間です。後半の2桁は分です。

3.1.1ビジネス条件の追加または削除

Oracle Enterprise Managerでは、「ユーザー通信プリファレンス」でメッセージ・フィルタの作成に使用するビジネス条件を追加または削除できます。

ビジネス条件を追加、変更または削除するには、Oracle Enterprise Managerでユーザー・メッセージング・サーバーのホーム・ページを開き、次の図に示されているようにドロップダウン・リストから「サーバー・プロパティ」を選択する必要があります。

次の図のような「サーバー・プロパティ」ページが表示されます。このページには既存のビジネス条件が一覧で表示され、ビジネス条件の追加、変更または削除が可能です。既存のビジネス条件はすべて「メッセージング・プリファレンスのビジネス条件」セクションに表示されます。

3.1.1.1 ビジネス条件の追加

「ユーザー通信プリファレンス」にビジネス条件を追加するには、次のタスクを実行します。

1. 「サーバー・プロパティ」ページの「メッセージング・プリファレンスのビジネス条件」セクションで、「追加」をクリックします。次の図のような「ビジネス条件の追加」ページが表示されます。

2. ビジネス条件の記述名を入力します。

3. データ型(文字列、小数、日付)を選択します。

4. 「OK」をクリックします。これで、「ユーザー通信プリファレンス」にビジネス条件が追加されます。

3.1.1.2 ビジネス条件の変更

既存のビジネス条件を変更するには、リストからビジネス条件を選択して、「編集」をクリックします。詳細を変更した後、「OK」をクリックして確定します。

3.1.1.3 ビジネス条件の削除

「ユーザー通信プリファレンス」でビジネス条件を削除するには、次のタスクを実行します。

1. リストからビジネス条件を選択します。

2. 「削除」をクリックします。

3. 確認画面で「OK」をクリックし、選択したビジネス条件を削除します。

注意:
フィルタで使用中のビジネス条件は削除しないでください(エラーが発生する可能性があります)。

3.2 Oracle Enterprise Managerを使用したプロファイルの構成

複数のアプリケーションが1つのUCPサービス・インスタンスを消費する場合があります。ただし、すべてのアプリケーションが同じUCP機能セットを消費するとはかぎりません。異なるアプリケーションの様々な要件を満たすために、UCP機能はプロファイルで仮想化されます。これにより、各アプリケーションはUCP機能のサブセットが含まれる特定のプロファイルをターゲット指定できるようになります。

各プロファイルはプロファイルIDで識別されます。Oracle UCPサービスでは、プロファイルIDを指定することにより、クライアント・アプリケーションがプロファイルにターゲット設定できるようにAPIを提供します。アップグレード後、プロファイルIDなしで古いUCP APIを使用するレガシー・アプリケーションは、デフォルト・プロファイルにターゲット設定して、デフォルト・プロファイルにターゲット設定する他のアプリケーションと共有します。各アプリケーションが、他のアプリケーションと共有しないで特定のプロファイルにターゲット設定できるように、レガシー・アプリケーションを移行して最新のAPIを使用することをお薦めします。UCP APIの詳細は、ユーザー・メッセージング・サービスJava APIリファレンスを参照してください。

メッセージング・プリファレンス・プロファイルはOracle Enterprise Managerを使用して管理できます。このインタフェースは、既存の構成済プロファイルをリストし、これによってユーザーはプロファイルを追加、変更または削除できます。プリファレンス・プロファイルを構成するには、次のタスクを実行します。

1. Oracle Enterprise Managerでユーザー・メッセージング・サーバーのホーム・ページを開き、ドロップダウン・リストから「サーバー・プロパティ」を選択します。
次の図のような「サーバー・プロパティ」ページが表示されます。既存プロファイルはすべて「メッセージング・プリファレンス・プロファイル」セクションに表示されます。

2. 新しいプロファイルを追加するには、「メッセージング・プリファレンス・プロファイル」セクションの「追加」アイコンをクリックします。次の図のようなダイアログ・ボックスが表示されます。新しいプロファイルを追加するには構成の詳細を指定する必要があります。
「OK」をクリックして、新しいプロファイルを保存します。

ロケール・ソース、IDMとユーザー・チャネルの可用性およびビジネス条件のサブセットを選択することにより、プロファイル機能を定義できます。UCPは、3つの異なるロケール・ソース(クライアント・ブラウザ、アイデンティティ・ストアおよびシステム・デフォルト)のロケールに基づいてWebユーザー・インタフェースをレンダリングします。「ロケール・ソース」フィールドでは、「クライアント・ブラウザのロケール」と「アイデンティティ・ストアのロケール」という2つのソースから選択できます。これにより、UIレンダリングのためのロケール参照順序が決まります。「クライアント・ブラウザのロケール」を選択すると、参照順序は(1)「クライアント・ブラウザのロケール」、(2)「アイデンティティ・ストアのロケール」、(3)システム・デフォルト・ロケールになります。そうでない場合は、参照順序は(1)「アイデンティティ・ストアのロケール」、(2)「クライアント・ブラウザのロケール」、(3)システム・デフォルト・ロケールになります。各順序において、UCPは、サポートされている最初のロケールを使用してUIをレンダリングします。

前述の図に示されているユーザー・チャネルのチェック・ボックスは、そのプロファイル用のユーザー定義チャネルの可用性を定義します。このチェック・ボックスを選択すると、ユーザーは、UCP Webユーザー・インタフェースからユーザー・チャネルを作成できるようになります。IDMチャネルのチェック・ボックスは、アイデンティティ・ストアの自動同期化チャネルの可用性を決定します。チャネルは、ユーザーのプロパティです。これらのチェック・ボックスは、各プロファイルに対するチャネルの可視性を決定します。

各プロファイルは、前述の図の「選択したビジネス条件」の下に表示されているビジネス条件のサブセットをカプセル化します。この例では、「送信元」、「宛先」および「件名」の3つの条件のみが選択されています。さらに条件を追加するには、左側の「使用可能なビジネス条件」リストから条件を選択し、右向き矢印(>)をクリックして、「選択したビジネス条件」リストにこれを移動します。ユーザーは、特定プロファイル内でのフィルタ条件の定義に、選択したビジネス条件のみを使用できます。つまり、フィルタ条件を定義する際、選択されたビジネス条件のみが、UCP Webユーザー・インタフェースの「属性」ドロップダウン・リストに表示されます。

3. 既存のプロファイルを変更するには、「メッセージング・プリファレンス・プロファイル」セクションの「編集」アイコンをクリックします。次の図のようなダイアログ・ボックスが表示されます。プロファイルを編集するには構成の詳細を指定する必要があります。
「OK」をクリックして、プロファイルを保存します。

4. メッセージング・プリファレンス・プロファイルを削除するには、プロファイル・リストからプロファイルを選択し、「削除」をクリックします。

5. 「適用」をクリックし、ユーザー・メッセージング・サーバー・インスタンス内の変更を適用します。変更内容が反映されるようにサーバーを再起動します。

3.3 WLSTコマンドを使用したユーザー・データの管理

UCPが提供するコマンドライン・スクリプティング・ツールであるOracle WebLogic Scripting Tool (WLST)を使用して、ユーザー・プリファレンス・データをUCPリポジトリから指定のXMLファイルにダウンロードしたり、XMLファイルからUCPリポジトリにアップロードしたり、UCPリポジトリからユーザー・プリファレンスを削除したりできます。

WLSTを使用してユーザー・プリファレンス・データをアップロードまたはダウンロードする方法については、Oracle Fusion Middlewareコア・コンポーネントWLSTコマンド・リファレンスのmanageUserCommunicationPrefsに関する項を参照してください。WLSTの開始方法については、『Oracle Fusion Middleware Oracle Fusion Middlewareの管理』のOracle WebLogic Scripting Tool (WLST)の使用のスタート・ガイドを参照してください。

4 ユーザー通信プリファレンスとWebアプリケーションの統合

この章では、ADFタスク・フロー・ライブラリを使用し、特定のプロファイルをターゲット指定して、Webユーザー・インタフェースを実装する方法について説明します。ADFタスク・フロー・ライブラリにより、新規または既存のアプリケーションとWebインタフェースを簡単に統合させることができます。

ADFタスク・フローの詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のADFタスク・フローの作成に関する項を参照してください。アプリケーションにUCP Webユーザー・インタフェースを実装するには、この章で説明しているタスクを実行します。

この章の内容は次のとおりです。

- UCP Webユーザー・インタフェースの概要

- ADF WebアプリケーションとUCPの統合

- アプリケーションのデプロイ

- アプリケーションの検証

4.1 UCP Webユーザー・インタフェースの概要

UCPサービスでは、エンド・ユーザーは、Webインタフェースから自分のチャネルとフィルタを管理することにより、通信プリファレンスを管理できます。エンド・ユーザーが自分の通信プリファレンスを制御できるようにするには、アプリケーション開発者は、アプリケーションにUCP Webユーザー・インタフェースを統合させる必要があります。UCPが提供するADFタスク・フロー・ライブラリにより、エンド・ユーザーがWebアプリケーションから自分のプリファレンスに直接アクセスできるリージョンをWebアプリケーションに簡単に追加できます。

4.2 ADF WebアプリケーションとUCPの統合

ここでは、ADF Webアプリケーションを作成する方法、およびOracle JDeveloperのADFタスク・フロー・ライブラリを使用して既存のWebアプリケーションにページまたはリージョンを追加する方法について説明します。

4.2.1 新しいADFアプリケーションの作成

UCP UIを新しいアプリケーションまたは既存アプリケーションと統合することができます。次の手順では、Oracle JDeveloperを使用して新しいアプリケーションにUCP UIを追加する手方法を説明します。既存のアプリケーションにUIを追加するには、アプリケーションの既存ページまたは新規ページに同様の方法でリージョンを追加します。Oracle Jdeveloperで新しいADF Webアプリケーションを作成するには、次のタスクを実行します。

1. Oracle JDeveloper 12cウィザードを開きます。左側の「アプリケーション・ナビゲータ」から「新規アプリケーション」を選択します。「新規ギャラリ」ウィンドウが表示されます。

2. 「新規ギャラリ」ウィンドウで、項目リストから「ADF Fusion Webアプリケーション」を選択し、「OK」をクリックします。次の図のように、ADF Fusion Webアプリケーションの作成ウィンドウが表示されます。

3. このウィンドウで、アプリケーション名(たとえばMyApp)を入力します。また、アプリケーション・パッケージ接頭辞(たとえばoracle.ucp)を入力します。「終了」をクリックすると、新しいADFアプリケーションが作成されます。

4.2.2 ADF Webページの作成

UCPライブラリのバインド・タスク・フローを任意のリージョンに追加することにより、アプリケーションにシームレスな統合を提供できます。この項では、UCPタスク・フロー用のリージョンをホストするデモADF Webページを作成します。新しいADF Webページを作成するには、次のタスクを実行します。

1. 左側のウィンドウ・ペインで、「ViewController」を右クリックしし、コンテキスト・メニューを表示します。

2. ViewControllerのコンテキスト・メニューで「新規」メニューから「ページ」を選択します。次の図のような「JSFページの作成」ウィンドウが表示されます。

3. このウィザードで、ファイル名(たとえばMyPage.jspx)を入力します。「ドキュメント・タイプ」メニューから「JSP XML」を選択します。

4. 「ページ・レイアウト」メニューから「空白ページの作成」を選択します。「OK」をクリックします。新しいMyPage.jspxが作成されます。

5. ナビゲーション・ペインの「ViewController」ノードの下の「MyPage.jspx」をダブルクリックして、新しく作成したページを開きます。「MyPage.jspx」ウィンドウで、下のツールバーから「ソース」を選択し、次の図のように、ページのソース・コードを表示します。

4.2.3 UCPタスク・フロー・ライブラリの接続

UMSをOracle WebLogic Serverにデプロイしている場合、UCPタスク・フロー・ライブラリもサーバーにデプロイされています。ただし、JDeveloperインスタンスからUCPタスク・フロー・ライブラリにアクセスできない場合があります。したがって、タスク・フロー・ライブラリをアプリケーションに接続することが重要です。まず、JDeveloperインスタンスからライブラリへのファイルシステム接続を作成する必要があります。これを実行する手順を次に示します。

1. 上のペインにあるツールバーの「ウィンドウ」タブをクリックし、ドロップダウン・リストを表示します。リストから「リソース」を選択し、Jdeveloperウィンドウの右側のペインに「リソース」タブを追加します。

2. 「リソース」タブで、フォルダ・アイコンをクリックし、ドロップダウン・リストを表示します。リストで「IDE接続」に移動し、「ファイルシステム」を選択します。次の図のように、「ファイルシステム接続の作成」ウィザードが表示されます。

3. 接続名(たとえばUCP Task Flow)を入力します。

4. 「参照」をクリックし、UCPタスク・フロー・ライブラリが含まれるフォルダを選択します。このフォルダは、oracle_commonディレクトリ内にあり、次のようなパスになります。

oracle_common/communications/modules/oracle.ucs.userprefs.webapp_x.x

x.xはバージョン番号です(2.0など)。

このフォルダに移動し、「選択」をクリックします。

5. 「OK」をクリックします。ファイルシステム接続が作成されます。確認するには、右側のペインの「ファイルシステム」ナビゲーション・ツリーを開きます。「ADF Task Flows」フォルダを開くと、次の図のように、UserCommunicationPreferencesが表示されます。

4.2.4 新しいページへのリージョンの追加

ADFタスク・フロー・ライブラリのサポートにより、エンド・ユーザーがWebアプリケーションから直接自分のプリファレンスにアクセスできるリージョンをWebアプリケーションに追加できます。これを実現するには、次の手順を実行します。

1. 新しく作成したページMyPage.jspxの「ソース」タブをクリックします。

2. 右側のペインの「ファイルシステム」ナビゲーション・ツリーからUserCommunicationPreferencesタスク・フローをドラッグして、ページ・ソースの<af:form> </af:form>タグ内にドロップし、このタグ内にリージョンを作成します。
次の図のようなコンテキスト・メニューが表示されます。

3. コンテキスト・メニューから、「リージョン」を選択します。確認を求めるウィンドウが表示されます。

4. 「ライブラリの追加」をクリックします。「タスク・フロー・バインディングの編集」ウィザードが表示されます。

5. 「入力パラメータ」の表に、profieldの値を入力します(たとえばsoa)。プロファイルID値を指定すると、作成したユーザー・インタフェースが、このプロファイル内のユーザー・フィルタとチャネルにしかアクセスできないようになります。これは、アプリケーションで指定するプロファイルと同じプロファイルにする必要があります。「OK」をクリックします。これで、リージョンがページに追加されました。
ユーザー・プリファレンス・ページを追加して既存のADF WebアプリケーションとUCPを統合する場合、この項で説明した同じ方法で、既存または新規のADFページにリージョンを追加できます。

4.2.5 UCPライブラリの参照

UMSおよびUCPタスク・フロー・ライブラリがOracle WebLogic Serverにデプロイされている場合、アプリケーションにこれらのライブラリを組み込む必要はありません。weblogic.xmlファイルからこれらのライブラリを参照する必要があります。これを実現するには、次の手順を実行します。

1. ナビゲーション・ペインで「ViewController」ノードを右クリックします。コンテキスト・メニューが表示されます。

2. コンテキスト・メニューから「新規」を選択し、「ギャラリから」をクリックします。新規ギャラリ・ウィザードが表示されます。

3. ナビゲーション・ペインで「一般」を開き、「デプロイメント・ディスクリプタ」を選択します。右側のペインの項目リストから「WebLogicデプロイメント・ディスクリプタ」を選択します。「OK」をクリックします。次の図を参照してください。

「WebLogicデプロイメント・ディスクリプタの作成」ウィザードが表示されます。

4. デプロイメント・ディスクリプタのリストから「weblogic.xml」を選択し、「次へ」をクリックします。次の画面で、デプロイメント・ディスクリプタのバージョンとして12.1.1以降を選択し、「次へ」をクリックします。「サマリー」ページで「終了」をクリックします。

5. ナビゲーション・ペインの「ViewController」ノードの下の「weblogic.xml」をダブルクリックして、新しく作成したファイルを開きます。「weblogic.xml」ウィンドウで、下のツールバーから「ソース」を選択し、ページのソース・コードを表示します。

6. weblogic.xmlファイルで、UMSライブラリ(oracle.sdp.client)とUCPライブラリ(oracle.ucs.userprefs.webapp)の2つのライブラリを参照します。次の図に示されているように、次のライブラリ参照を追加します。

<library-ref><library-name>oracle.sdp.client</library-name></library-ref>
<library-ref><library-name>oracle.ucs.userprefs.webapp</library-name></library-ref>

4.2.6 プロジェクト・デプロイメント・プロファイルの管理

weblogic.xmlファイルで2つのライブラリを参照しているので、アプリケーションでこれらのライブラリをパッケージ化する必要はありません。これはプロジェクト・デプロイメント・プロファイル経由で管理できます。これを実現するには、次の手順を実行します。

1. まずプロジェクト・デプロイメント・プロファイルを作成する必要があります。ナビゲーション・ペインで「ViewController」ノードを右クリックします。コンテキスト・メニューが表示されます。

2. コンテキスト・メニューで「デプロイ」をクリックし、「新規デプロイメント・プロファイル」を選択します。「デプロイメント・プロファイルの作成」ウィザードが表示されます。

3. 「プロファイル・タイプ」ドロップダウン・リストから「WARファイル」を選択し、「OK」をクリックします。
プロジェクト・デプロイメント・プロファイルが作成されます。次に、ライブラリがアプリケーション内で確実にパッケージ化されないようにする必要があります。

4. 「一般」タブで「Java EE Webコンテキスト・ルートを指定」オプションを選択し、次の図に示されているように、アプリケーション・コンテキスト・ルート(たとえばmyapp)を入力します。

5. ナビゲーション・ツリーから「WEB-INF/lib」の下の「フィルタ」を選択します。次の図に示されているように、右側のペインに表示されているすべての.jarファイルの選択を解除します。「OK」をクリックして、変更内容をデプロイメント・プロファイルに保存します。
これで、ライブラリは確実にアプリケーション内でパッケージ化されないようになりました。前述したように、重要なライブラリはweblogic.xmlファイル内で参照されています。

4.2.7 アプリケーション・デプロイメント・プロファイルの作成

新しいアプリケーション・デプロイメント・プロファイルを作成するには、次のタスクを実行します。

1. 左側のペインの「アプリケーション」ドロップダウン・リストから「デプロイ」を選択し、コンテキスト・メニューの「新規デプロイメント・プロファイル」をクリックします。
「デプロイメント・プロファイルの作成」ウィザードが表示されます。

2. 「プロファイル・タイプ」ドロップダウン・リストから「EARファイル」を選択し、アプリケーション・デプロイメント・プロファイルの名前(たとえばMyApp)を入力します。
「OK」をクリックすると、アプリーション・デプロイメント・プロファイルが作成されます。「EARデプロイメント・プロファイルのプロパティの編集」ウィザードが表示されます。

3. ナビゲーション・ツリーから「アプリケーション・アセンブリ」を選択します。

4. 右側のペインで、「ViewController.jpr」ノードを開いて、次の図に示されているように、「webapp1」を選択してアプリケーションに組み込みます。

5. ツールバーで「すべて保存」をクリックし、アプリケーションを保存します。

4.3 アプリケーションのデプロイ

次に、アプリケーションをWebLogicアプリケーション・サーバーにデプロイする必要があります。アプリケーション・サーバーをまだ構成していない場合、まず、アプリケーション・サーバー接続を構成する必要があります。

4.3.1 アプリケーションのデプロイ

アプリケーションをデプロイするには、次のタスクを実行します。

1. 「アプリケーション」ドロップダウン・リストから「デプロイ」を選択し、コンテキスト・メニューの「MyApp」をクリックします。「MyAppのデプロイ」ウィザードが表示されます。

2. 「デプロイメント・アクション」画面で、「アプリケーション・サーバーへのデプロイ」を選択し、「次へ」をクリックします。

3. 「サーバーの選択」画面で、アプリケーション・サーバーのリストからサーバーを選択し、「終了」をクリックして、アプリケーションをデプロイします。
目的のサーバーがアプリケーション・サーバーのリストに含まれていない場合は、第4.3.2項「アプリケーション・サーバー接続の構成」の手順に従って、サーバー接続を構成してください。

4.3.2 アプリケーション・サーバー接続の構成

アプリケーション・サーバー接続が構成されていない場合、まず、次のタスクを実行してこれを構成する必要があります。

1. 「アプリケーション」ドロップダウン・リストから「デプロイ」を選択し、コンテキスト・メニューの「MyApp」をクリックします。「MyAppのデプロイ」ウィザードが表示されます。

2. 「デプロイメント・アクション」画面で、「アプリケーション・サーバーへのデプロイ」を選択し、「次へ」をクリックします。

3. 「サーバーの選択」画面で、右上隅のプラス・アイコンをクリックします。
「アプリケーション・サーバー接続の作成」ウィザードが表示されます。

4. 「接続名」フィールドに、サーバー接続名(MyServerなど)を入力します。「次へ」をクリックします。

5. 「認証」画面で、アプリケーション・サーバーの管理者のユーザー名とパスワードを入力します。「次へ」をクリックします。

6. 「構成」画面で、次の図に示されているように、ホスト名、ポート番号およびドメイン名を指定します。
「次へ」をクリックします。

7. 「テスト」画面で、「接続のテスト」をクリックし、接続を検証します。テストが成功した場合は、「終了」をクリックします。これで、次の図に示されているように、アプリケーション・サーバー・リストに目的のアプリケーション・サーバーが表示されます。

8. 新しく構成したアプリケーション・サーバーにアプリケーションをデプロイするには、リストからそのサーバーを選択し、「終了」を選択します。アプリケーションのデプロイメント成功の確認メッセージが表示されます。

4.4 アプリケーションの検証

アプリケーションを検証するには、ブラウザを開いて、新しく作成したページのURL (たとえばhttp://localhost:7001/myapp/faces/MyPage.jspx)を指定します。次の図に示されているように、通信プリファレンスWebインタフェースが表示されます。

注意:
ブラウザでアプリケーションに初めてアクセスする場合、空白ページが表示される場合があります。これは、アプリケーションに認証が含まれていない場合の予想される動作です。このデモでは、簡素化のため、認証は含まれていません。実際には、Webアプリケーションは適切な認証により保護することをお薦めします。
デモ・アプリケーションを認証なしでテストする場合、次の回避策を試すことができます。Oracle SSO保護Webアプリケーションが別にある場合は、このアプリケーションにまずログインして、同じブラウザから目的のアプリケーションにアクセスできます。このようにすると、空白ページではなく、認証ユーザーのチャネルとフィルタが表示されます。

5 ユーザー通信プリファレンスJava APIの使用方法

この章では、UCP Java APIを使用して、アプリケーションでユーザー通信プリファレンス(UCP)サービスを消費する方法について説明します。

UCPサービス用のAPIとインタフェースの詳細は、ユーザー・メッセージング・サービスJava APIリファレンスを参照してください。

この章の内容は次のとおりです。

- UCP Java APIの概要

- 配信プリファレンスの取得

- チャネルの管理

- フィルタの管理

5.1 UCP Java APIの概要

ユーザー通信プリファレンス(UCP)サービスはアプリケーションから直接または間接的に消費できます。UCPサービスを間接的に消費するには、ユーザー宛てのメッセージを送信して、UMS APIをコールする必要があります。UMSはUCPサービスを使用して、ユーザーのメッセージ配信プリファレンスに基づいて、最適なチャネルを検出します。詳細は、『Oracle® Fusion Middleware Oracle User Messaging Serviceによるアプリケーションの開発』を参照してください。UMS APIを使用する場合、デフォルトで、アプリケーションはデフォルトUCPプロファイルをターゲット指定しています。特定のプロファイルをターゲット指定するには、ユーザーにメッセージを送信する際に、oracle.sdp.messaging MessageInfo.setProfileId(String profileId)を使用してプロファイルを設定する必要があります。

UCPサービスを直接消費する場合、UCP Java APIをコールする必要があります。たとえば、ユーザーが好むチャネルの配信タイプに応じてメッセージ形式を制御する場合、UCPサービスを直接消費することが必要になります。また、たとえば、特定のイベントでアプリケーションのユーザーにメッセージを送信する新しいアプリケーションを構築する場合、まずアプリケーションのデプロイメント時に各ユーザーがメッセージを受信できるように、UCP APIを使用してプログラムにより各ユーザーのデフォルト電子メール・チャネルを作成できます。ユーザーがデフォルト・チャネルとして電子メールを希望しない場合、後で自分でプリファレンスを変更できます。

UCP Java APIは、アプリーションを実装してUCPサービスを消費するためのプログラム・インタフェースを提供します。また、UCPは、チャネルとフィルタを管理するためのJava APIも提供します。Javaインタフェースoracle.ucs.userprefs.UserCommunicationPreferenceは、クライアントがUCPサービスにアクセスするためのプライマリ・インタフェースです。oracle.ucs.userprefsパッケージには、ユーザー通信プリファレンスのAPIクラスが含まれています。詳細は、ユーザー・メッセージング・サービスJava APIリファレンスを参照してください。これは、アドレス、フィルタセットなどのユーザーのプリファレンス・オブジェクトを管理するためのルート・インタフェースです。UCPサービスのAPIとインタフェースの詳細は、ユーザー・メッセージング・サービスJava APIリファレンスを参照してください。

5.2 配信プリファレンスの取得

ユーザーの配信プリファレンスは、JavaメソッドgetDeliveryPreference(String guid, String profileID, MapString,Object facts)を呼び出すことにより取得できます。guidは大文字と小文字が区別されます。12cで導入されたprofileIDパラメータは、特定プロファイルのユーザー・プリファレンスをターゲット設定するのに使用されます。各アプリケーションが特定のプロファイルをターゲットとすることをお薦めします。getDefaultProfileIdメソッドをコールしてアプリケーションにより取得できるデフォルトのプロファイルIDがあります。11g APIを呼び出す(プロファイルIDを使用しない)アプリケーションでは、デフォルト・プロファイルが自動的に使用されます。最終的に、このAPIをコールするアプリケーションは、ターゲット・プロファイルで一致するフィルタをUCPが選択できるように必要なファクトをすべて提供する必要があります。ファクトは、名前/値ペアのMap<String,Objectとします。ここで名前はビジネス条件とマップ内のキーです。このAPIの使用の詳細は、ユーザー・メッセージング・サービスJava APIリファレンスを参照してください。

次のコードの抜粋は、testUser1の配信プリファレンスを取得する方法を示しています。

// Obtain a UserCommunicationPreference object
UserCommunicationPreference ucp = UserPrefsServicesFactory.createUserCommunicationPreference();

// Set target user ID
String userId = ”testUser1”;

// Specify the Profile ID, or default id from ucp.getDefaultProfileId()
String profileId = ”soa”;

// Add all facts into Hashtable facts. Facts for Date and Time are not needed.
Map <String, String> facts = new HashMap<String, Object>();
facts.put(”Application”, ”BPEL”);                   // Add application name
facts.put(”Due Date”, new Date());                        // Use current date
facts.put(”Amount”, new Double(”678.00”));          // Set number for 678

// Invoke getDeliveryPreference() function with userId, profileId and and facts.
DeliveryPreference dp = ucp.getDeliveryPreference(userId, profileId, facts);

// Retrieve Action Type and delivery Channels from the returned DeliveryPreference object.
ActionType at = dp.getActionType();              //Get Action Type
Vector <DeviceAddress>  channels = dp.getDevices();   //Get delivery Channels

5.3 チャネルの管理

UCPには、UCPリポジトリをアイデンティティ・ストア(通常はLDAP)と同期する自動チャネル管理機能があります。電子メール・アドレスがアイデンティティ・ストアに追加されると、その電子メール・アドレスに対応するEMAILチャネルがUCPリポジトリに自動的に作成されます。このチャネルは、対応する電子メール・アドレスがアイデンティティ・ストアから削除されると、リポジトリから削除されます。UCPは、電子メール、IM、勤務先電話、自宅電話および携帯電話のチャネルを自動的に作成します。これらのチャネルはIDMチャネルと呼ばれます。

これらのチャネルは自動的にUCPにより管理されるので、アプリケーション側でチャネルの作成または削除は行わないでください。アプリケーション側では、これらのチャネルをデフォルト・チャネルとして設定または設定解除することのみ可能です。ただし、アプリケーションは、createDeviceAddress、getDeviceAddressesなどのAPIを使用してUSERチャネルを作成、変更または削除できます。1つのチャネルを、setDefaultChannel APIを使用してデフォルト・チャネルとして設定できます。

次のコードの抜粋は、特定の電子メール・アドレスを持つユーザーtestUser1の通信チャネルを作成する方法を示しています。

// Create an email channel for testUser1
DeviceAddress channel = ucp.createDeviceAddress(”testUser1”,               // User ID
”myEmail”,                        // Channel name
DeliveryType.EMAIL,             // Delivery Type for email
”myemail@somecompany.com”);        // Email address
ucp.save(channel);      // without this line, the Channel will not be persisted in UCP repository

チャネル名は各ユーザーで一意である必要があります。配信タイプと配信アドレスの組合せも、各ユーザーで一意である必要があります。次に、チャネルを管理する方法を示すサンプル・コードの抜粋をいくつか示します。

// Set the Channel as a default Channel
ucp.setDefaultAddress(”testUser1”,                // User ID
”soa”,                  // Profile ID
channel);                     // Channel to be flagged

// Unset a default Channel
ucp.removeDefaultAddress(”testUser1”,             // User ID
”soa”,                   // Profile ID
channel);              // Channel to be unset

// Modify the Channel's address
channel.setAddress(newemail@somecompany.com);
ucp.save(channel);      // without this line, the change will not be persisted in UCP repository

// Remove the Channel
ucp.delete(channel);

5.4 フィルタの管理

フィルタは、プロファイルごとのセットで管理されます。次のコードの抜粋は、ユーザーtestUser1のsoaプロファイルに対してメッセージング・フィルタを作成する方法を示しています。

// Get, or create if not exist, user's Filter Set for Profile ”soa”
FilterSet  filterSet = ucp.getFilterSet(”testUser1”        // User ID
”soa”);               // Profile ID

// Create a new Filter
Filter  filter = filterSet.createFilter(”Test Email Filter”);      // Create a new Filter named ”Test Email Filter”
filter.setConditionType(ConditionType.MATCH_ANY).        // Set the Condition Type to logical OR

// Create a new Condition
Condition  condition = filter.createCondition();         // Create a new Condition first
Map<String, BusinessRuleTerm> terms = ucp.getBusinessterms();
BusinessRuleTerm term = terms.get(”Subject”);      // Business Term for ”Subject”
condition.setFilterTerm(term);
condition.setTermOperation(TermOperationType.Contains);
condition.setOperandOne(”approved”);              // Set value ”approved”
ArrayList<Condition> conditions = new ArrayList<Condition>();
conditions.add(condition);
filter.setConditions(conditions);                       // Add the Condition list to the Filter

// Set Action Type
filter.setActionType(ActionType.SERIAL);                // Set Action Type for SERIAL

// Get all the Channels for ”soa” Profile
Set<DeviceAddress> allAddresses = ucp.getDeviceAddresses(”testUser1”,   // User ID
”soa”);             // Profile ID
ArrayList<DeviceAddress> channels = new ArrayList(allAddresses);      // Convert to a List
filter.setDeviceAddressList(channels);                  // Add to the Filter as target Channels

// Add the Filter to the Filter Set
filterSet.addFilter(filter);

// Finally persist the FilterSet object
ucp.save(filterSet);                            // Required to persist the Filter

アプリケーションをデプロイするには、アプリケーションの開発ディスクリプタから共有ライブラリoracle.sdp.clientを参照する必要があります。アプリケーションは、UCPサービスと同じドメインにデプロイする必要があります。

UCPにはアプリケーションがチャネルとフィルタを管理するためのJava APIが用意されていますが、ユーザーが、UCPタスク・フロー・ライブラリを使用してWebアプリケーションに統合されたUCP Webインタフェースから、自分のプリファレンスを管理することをお薦めします。