ヘッダをスキップ
Oracle® WebLogic Communication Services 開発者ガイド
11g リリース 1 (11.1.1)
B55506-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

19 User Messaging Preferences

この章では、Oracle User Messaging Service にパッケージ化されている User Messaging Preferences について説明します。ここでは、メッセージング チャネルのしくみとメッセージング フィルタを使用した連絡先ルールの作成方法について説明します。


注意 :

Oracle User Messaging Service のアーキテクチャとコンポーネントの詳細については、『Oracle Fusion Middleware Getting Started with Oracle SOA Suite』を参照してください。

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

19.1 概要

User Messaging Preferences では、複数のチャネル (配信タイプ) に対するアクセス権を持つユーザがメッセージの受信方法、受信タイミング、受信場所を制御することができます。 ユーザは、メッセージの配信先チャネルと配信条件を指定するフィルタ (配信プリファレンス) を定義します。 ユーザのデバイスおよびフィルタに関する情報は Oracle Fusion Middleware での使用がサポートされている任意のデータベースに保存されます。

User Messaging Preferences を使用することでアプリケーション開発の柔軟性が向上します。 アプリケーションでは、電子メールを送信するか、または SMS メッセージを送信するかをビジネス ロジックで指定する必要はなく、ユーザにメッセージを送信しさえすれば、ユーザのプリファレンスに従ってメッセージが配信されます。

プリファレンスはデータベースに保存されるため、情報はドメイン内の User Messaging Preferences のすべてのインスタンス間で共有されます。

oracle.sdp.messaging.userprefs パッケージに User Messaging Preferences API クラスが含まれています。 詳細については、『Oracle Fusion Middleware User Messaging Service API Reference』を参照してください。

19.1.1 用語

User Messaging Preferences では以下の用語を定義しています。

  • チャネル : 電話や PDA などの物理チャネル。

  • チャネル アドレス : チャネルが通信可能ないずれかのアドレス。

  • フィルタ : 一連の通知配信プリファレンス。

  • システム条件 : 管理者が拡張できない定義済みのビジネス条件。

  • ビジネス条件 : システム管理者が Enterprise Manager で定義および管理するルール条件。 ビジネス条件は追加、定義、または削除できます。

  • ルール条件 : システム条件またはビジネス条件。

  • 演算子 : 比較演算子 equalsdoes not equalcontains、または does not contain

  • ファクト : 評価対象メッセージから渡されるデータ (time sentsender など)。

  • ルール エンジン : フィルタを処理および評価する User Messaging Preferences のコンポーネント。

  • チャネル : 転送タイプ (e-mail、voice、SMS など)。

  • 比較 : ルール条件と関連する比較演算子。

  • アクション : ルールに指定された条件が真の場合に実行するアクション (Broadcast to AllFailoverDo not Send to Any Channel など)。

19.1.2 通知配信プリファレンスのコンフィグレーション

User Messaging Preferences では、以下の設定に基づいて通知配信プリファレンスをコンフィグレーションすることができます。

  • 詳細に定義された一連のルール条件 (システム条件またはビジネス条件)

  • Oracle User Messaging Service でサポートされる一連のチャネルおよび対応するアドレス

  • ルール エンジンによって透過的に処理される一連の User Messaging Preferences フィルタ

通知配信プリファレンスの使用例として、バグ管理システムにバグを登録した場合が挙げられます。 たとえば、ユーザ Alex が customer type = Premium からの priority = 1 の製品に対するバグの通知を SMS と EMAIL のチャネルで受信するとします。 priority > 1 の他のすべてのバグの通知は EMAIL のみで受信することにします。 この場合、Alex のプリファレンスを次のように指定できます。

例 19-1 通知配信プリファレンス

Rule (1): if (Customer Type = Premium) AND (priority = 1) then notify [Alex] using
 SMS and EMAIL.

Rule (2): if (Customer Type = Premium) AND (priority > 1) then notify [Alex] using
EMAIL.
 

ランタイム サービスである Oracle Rules Engine は、フィルタを評価してユーザ要求の通知配信を処理します。

19.1.3 配信プリファレンスのルール

配信プリファレンスのルールは、「ルールの比較」と「ルール アクション」で構成されます。 ルールの比較は、「ルール条件」(システム条件またはビジネス条件) と関連する比較演算子で構成されます。 ルール アクションは、ルールに指定された条件が真の場合に実行するアクションです。

19.1.3.1 データ型

表 19-2 に、User Messaging Preferences でサポートされるデータ型を示します。 各システム条件およびビジネス条件にはデータ型を関連付ける必要があり、各データ型には定義済みの比較演算子があります。 管理者はこれらの演算子を拡張できません。

表 19-1 User Messaging Preferences でサポートされるデータ型

データ型 比較演算子 サポートされる値

Date

<、>、between、<=、>=

Date は、「エポック」と呼ばれる標準基準時間 (グリニッジ標準時間 1970 年 1 月 1 日0 時 0 分 0 秒) からの経過時間をミリ秒単位で表した値 (java.util.Date.getTime() または java.util.Calendar.getTime() から取得した値) を 「java.util.Date」オブジェクト型または「String」型で受け取ります。

Time

==、!=、between

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

Number (小数)

<、>、between、<=、>=

倍精度浮動小数点数値を表す java.lang.Double オブジェクトまたは String。

String

==、!=、contains、not contains

任意の文字列。



注意 :

String データ型は正規表現をサポートしません。

Time データ型はシステム条件にのみ使用できます。


19.1.3.2 システム条件

表 19-2 に、定義済みのビジネス条件を表すシステム条件を示します。管理者はシステム条件を拡張できません。

表 19-2 User Messaging Preferences でサポートされるシステム条件

システム条件 データ型 サポートされる値

Date

Date

Date は、「エポック」と呼ばれる標準基準時間 (グリニッジ標準時間 1970 年 1 月 1 日0 時 0 分 0 秒) からの経過時間をミリ秒単位で表した値 (java.util.Date.getTime() または java.util.Calendar.getTime() から取得した値) を 「java.util.Date」オブジェクト型または「String」型で受け取ります。

Time

Time

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


19.1.3.3 ビジネス条件

ビジネス条件は、システム管理者が Oracle Application Server 11g Enterprise Manager で定義および管理するルール条件です。 ビジネス条件の追加、定義、削除の詳細については、『Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite』を参照してください。 ビジネス条件は、キー、データ型、説明 (省略可)、値リスト (LOV) (省略可) で構成されます。

表 19-3 に、User Messaging Preferences でサポートされる定義済みのビジネス条件を示します。

表 19-3 User Messaging Preferences の定義済みビジネス条件

ビジネス条件 データ型

Organization

String

Time

Number (小数)

Priority

String

Application

String

Application Type

String

Expiration Date

Date

From

String

To

String

Customer Name

String

Customer Type

String

Status

String

Amount

Number (小数)

Due Date

Date

Process Type

String

Expense Type

String

Total Cost

Number (小数)

Processing Time

Number (小数)

Order Type

String

Service Request Type

String

Group Name

String

Source

String

Classification

String

Duration

Number (小数)

User

String

Role

String


19.1.4 ルール アクション

User Messaging Preferences のユーザは、特定のルールに対して以下のいずれかのアクションを定義できます。

  • Broadcast to All : ブロードキャスト アドレス リスト上のすべてのチャネルに対してブロードキャスト メッセージを送信します。

  • Failover : 1 つのメッセージの送信が成功するまで、アドレス リスト上のチャネルに対してメッセージをシリアルに送信します。 この場合、現在のチャネルからエラーのステータスが返された場合は次のチャネルへの送信を実行します。 User Messaging Preferences では、ユーザがチャネル固有のステータス コードや有効期限を指定することはできません。

  • Do not send to Any Channel : どのチャネルにもメッセージを送信しません。


    ヒント :

    User Messaging Preferences には特定のチャネルに送信しないことを指定するフィルタ アクションはありません。ルールには肯定的なアクションのみを指定し、否定的なアクションは指定しないようにすることが最善の方法です。

  • Default address : アクションが未定義の場合、メッセージは Enterprise Manager の [Messaging Channels] ページに定義されたデフォルトのアドレスに送信されます。

19.2 メッセージング チャネルの管理方法

ユーザが作成したすべてのチャネルはユーザのシステム ID に関連付けられます。 Oracle User Messaging Service のチャネルは携帯電話などの物理チャネルとデスクトップ上で実行中の電子メール クライアント アプリケーションの両方を表し、[Messaging Channels] タブでコンフィグレーションすることが可能です (図 19-1)。

図 19-1 [Messaging Channels] タブ

図 19-1 の説明
「図 19-1 [Messaging Channels] タブ」の説明

[Messaging Channels] タブでは以下のタスクを実行できます。

19.2.1 チャネルの作成

チャネルを作成するには、以下の手順に従います。

  1. [作成] をクリックします (図 19-2)。

    図 19-2 [作成] アイコン

    図 19-2 の説明
    「図 19-2 [作成] アイコン」の説明

  2. [名前] フィールドにチャネルの名前を入力します (図 19-3)。

  3. [Type] ドロップダウン メニューからチャネルの転送タイプを選択します。

  4. 選択した転送タイプに該当する番号またはアドレスを入力します。

  5. [Default] チェック ボックスを選択してチャネルをデフォルト チャネルに設定します。

    図 19-3 チャネルの作成

    図 19-3 の説明
    「図 19-3 チャネルの作成」の説明

  6. [OK] をクリックしてチャネルを作成します。チャネルが [Channels] ページに表示されます。 [Channels] ページで、チャネルを編集または削除することができます。

19.2.2 チャネルの編集

チャネルを編集するには、対象チャネルを選択して [Edit] をクリックします (図 19-4)。 チャネルの編集ページが表示されます。このページで、節 19.2.1「チャネルの作成」で説明されているチャネルのプロパティを追加または変更することができます。

図 19-4 チャネルの編集

図 19-4 の説明
「図 19-4 チャネルの編集」の説明

チャネルが ID ストア内のユーザ プロファイルから取得した情報に基づいている場合、このアドレスを User Messaging Preferences で変更することはできません (図 19-5)。 このようなチャネルに対して実行できる操作は、デフォルトに設定することのみです。

図 19-5 ID ストアを使用しているチャネルの編集

図 19-5 の説明
「図 19-5 ID ストアを使用しているチャネルの編集」の説明

19.2.3 チャネルの削除

チャネルを削除するには、対象チャネルを選択して [Delete] をクリックします (図 19-6)。

図 19-6 [Delete] アイコン

図 19-6 の説明
「図 19-6 [Delete] アイコン」の説明

19.2.4 デフォルト チャネルの設定

通知を受信するデフォルトのチャネルは [E-Mail] です。 他のチャネルをデフォルトに設定するには、対象チャネルを選択し、[Edit] をクリックして、[Set as default channel] をクリックします。選択したチャネルの横に、通知のデフォルトの受信方法であることを示すチェック マーク (図 19-7) が表示されます。

図 19-7 [Default] アイコン

図 19-7 の説明
「図 19-7 [Default] アイコン」の説明

19.3 フィルタを使用した連絡先ルールの作成

[Messaging Filters] タブ (図 19-8) では、比較演算子 (is equal tois not equal to など)、通知タイプを指定するビジネス条件、コンテンツまたはソース、通知アクション (すべてのチャネルに通知を送信する通知アクション、チャネルの通知の受信をブロックする通知アクション、または使用可能な最初のチャネルに通知を送信する通知アクション) の組み合わせを使用して、受信する通知のタイプと通知を受信するチャネルを指定するフィルタを作成できます。

図 19-8 [Messaging Filters] タブ

図 19-8 の説明
「図 19-8 [Messaging Filters] タブ」の説明

図 19-9 に、ユーザ名「weblogic」で「Travel Filter」という名前のフィルタを作成し、出張中の Customer に関する通知を処理する例を示します。 すべてのフィルタ条件に一致する通知は、まず 「Business Mobile」チャネルに送られます。 このチャネルが使用不可になった場合、選択された使用可能な次のチャネルは「Business Email」であるため、通知は電子メールとして送信されます。

図 19-9 フィルタの作成

図 19-9 の説明
「図 19-9 フィルタの作成」の説明

19.3.1 フィルタの作成

フィルタを作成するには、以下の手順に従います。

  1. [作成] をクリックします (図 19-2)。[Create Filter] ページが表示されます (図 19-9)。

  2. [Filter Name] フィールドにフィルタの名前を入力します。

  3. 必要に応じて [説明] フィールドにフィルタの説明を入力します。

  4. 次のように、[Condition] セクションのリストとフィールドを使用してフィルタを定義します。

    1. すべての条件を満たしたときに通知する場合は [All of the following conditions] を選択し、いずれかの条件を満たしたときに通知する場合は [Any of the following conditions] を選択します。

    2. 通知の属性を選択します。 以下の属性 (ビジネス コンポーネント) があります。

    • Organization

    • Time

    • Priority

    • Application

    • Application Type

    • Expiration Date

    • From

    • To

    • Customer Name

    • Customer Type

    • Status

    • Amount

    • Due Date

    • Process Type

    • Expense Type

    • Total Cost

    • Processing Time

    • Order Type

    • Service Request Type

    • Group Name

    • Source

    • Classification

    • Duration

    • User

    • Role

  5. 選択した条件タイプを以下のいずれかの比較演算子と組み合わせます。

  • Is Equal To

  • Is Not Equal To

  • Contains

  • Does Not Contain

Date 属性を選択した場合は、以下のいずれかの比較演算子を選択し、カレンダ アプリケーションから適切な日付を選択します。

  • Is Equal

  • Is Not Equal

  • Is Greater Than

  • Is Greater Than or Equal

  • Is Less Than

  • Is Less Than or Equal

  • Between

  • Is Weekday

  • Is Weekend

  1. 属性または演算子を示す適切な値を追加します。

  2. [Add] (図 19-6) をクリックして、属性および比較演算子をテーブルに追加します。

  3. 以上の手順を繰り返してフィルタ条件を追加していきます。 フィルタ条件を削除するには、[Delete] をクリックします (図 19-6)。

  4. 以下の配信ルールのいずれかを選択します。

    • Send Messages to all Selected Channels : このオプションを選択すると、リスト上のすべてのチャネルにメッセージが送信されます。

    • Send to the First Available Channel (Failover in the order) : このオプションを選択すると、フィルタ条件に一致するメッセージが優先チャネル (上矢印および下矢印を使用して設定する) または使用可能な次のチャネルに送信されます。

    • Send No Messages : このオプションを選択すると、フィルタ条件に一致するメッセージの受信がブロックされます。

  1. 配信チャネルを設定するには、[Add Notification Channel] 一覧からチャネルを選択し、[Add] をクリックします (図 19-2)。 チャネルを削除するには、[Delete] をクリックします (図 19-6)。

  2. 必要に応じて、上矢印と下矢印を使ってチャネルの優先度を指定します。 [Send to the First Available Channel] を選択した場合は、フィルタ条件を満たす一番上のチャネルがメッセージを受信します (該当チャネルが存在する場合)。

  3. [OK] をクリックしてフィルタを作成します。 フィルタを破棄する場合は [取り消し] をクリックします。

19.3.2 フィルタの編集

フィルタを編集するには、対象フィルタを選択して [Edit] をクリックします (図 19-9)。 編集ページが表示されます。このページで、節 19.3.1 「フィルタの作成」で説明されているフィルタのプロパティを追加または変更することができます。

19.3.3 フィルタの削除

フィルタを削除するには、対象フィルタを選択して [Delete] をクリックします (図 19-6)。

19.4 設定のコンフィグレーション

[Settings] タブ (図 19-10) を右上の領域から起動して、以下のパラメータを設定することができます。

図 19-10 設定のコンフィグレーション

図 19-10 の説明
「図 19-10 設定のコンフィグレーション」の説明