ヘッダーをスキップ
Oracle® Fusion Middleware Oracle SOA Suite開発者ガイド
11gリリース1 (11.1.1.7)
B56238-10
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

67 ユーザー・メッセージング・プリファレンス

この章では、Oracle User Messaging Serviceにパッケージ化されているユーザー・メッセージング・プリファレンスについて説明します。ここでは、メッセージング・チャネルの使用方法、およびメッセージング・フィルタを使用した連絡ルールの作成方法について説明します。


注意:

Oracle User Messaging Serviceのアーキテクチャとコンポーネントの詳細は、『Oracle Fusion Middleware Oracle SOA Suiteスタート・ガイド』を参照してください。


この章では、次の項目について説明します。

67.1 ユーザー・メッセージング・プリファレンスの概要

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

アプリケーション開発者にとっては、ユーザー・メッセージング・プリファレンスを使用すると柔軟性が増します。電子メールを送信するか、SMSメッセージを送信するかを決定するためのビジネス・ロジックが必要なアプリケーションとは異なり、このアプリケーションでは、単にユーザーにメッセージを送信するのみで、そのメッセージはユーザーのプリファレンスに従って配信されます。

プリファレンスはデータベースに格納されるため、プリファレンスの情報は、ドメイン内のユーザー・メッセージング・プリファレンスの全インスタンス間で共有されます。

oracle.sdp.messaging.userprefsパッケージには、ユーザー・メッセージング・プリファレンスのAPIクラスが含まれています。詳細は、Javadocを参照してください。

67.1.1 用語

ユーザー・メッセージング・プリファレンスでは次の用語が定義されます。

  • チャネル: たとえば電子メール、ボイスまたはSMSなどのトランスポート・タイプ。また一般に、電話やPDAなどの物理的なチャネル。

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

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

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

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

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

  • 演算子: 比較演算子「等しい」、「等しくない」、「含む」または「含まない」。

  • ファクト: 送信時刻送信者など、評価のためにメッセージから渡されるデータ。

  • ルール・エンジン: フィルタを処理し、評価するユーザー・メッセージング・プリファレンスのコンポーネント。

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

  • アクション: 全員に送信フェイルオーバーまたはチャネルに送信しないなど、ルールで指定された条件を満たす場合に実行されるアクション。

67.1.2 通知配信プリファレンスの構成

ユーザー・メッセージング・プリファレンスでは、次の内容に基づいて、通知配信プリファレンスを構成できます。

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

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

  • ルール・エンジンによって透過的に処理される一連のユーザー・メッセージング・プリファレンスのフィルタ

通知配信プリファレンスの1つのユースケースとして、不具合追跡システムに入力された不具合に対して使用される場合があります。たとえば、ユーザーAlexは、「type = Premium」の顧客から自分の製品に対して報告された「priority = 1」の不具合について、SMSおよび電子メールによる通知を望んでいます。その他すべての「priority > 1」の不具合については、電子メールによる通知のみを望んでいるとします。Alexのプリファレンスは、次のように記述できます。

例67-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は、ユーザー・リクエストの通知配信を処理するためにフィルタを評価します。

67.1.3 配信プリファレンス・ルール

配信プリファレンス・ルールは、ルール比較およびルール・アクションで構成されます。ルール比較は、ルール条件(システム条件またはビジネス条件)と、それに関連する比較演算子で構成されています。ルール・アクションは、ルール内に指定した条件を満たす場合に実行されるアクションです。

67.1.3.1 データ型

表67-2に、ユーザー・メッセージング・プリファレンスによってサポートされるデータ型を示します。各システム条件およびビジネス条件には関連するデータ型があり、各データ型には一連の事前定義済比較演算子があります。管理者はこれらの演算子を拡張できません。

表67-1 ユーザー・メッセージング・プリファレンスでサポートされるデータ型

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

日付

isEqual、isNotEqual、isGreaterThan、isGreaterThanOrEqual、isLessThan、isLessThanOrEqual、Between、isWeekday、isWeekend

日付は、java.util.Dateオブジェクト、つまりEpochと呼ばれる標準基準時間(1970年1月1日00:00:00 GMT時間)以降のミリ秒を表す文字列として受け取られます(実際の値はjava.util.Date.getTime()またはjava.util.Calendar.getTime()から取得されます)。

時間

isEqual、isNotEqual、Between

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

数値(小数)

isEqual、isNotEqual、Between、isGreaterThan、isGreaterThanOrEqual、isLessThan、isLessThanOrEqual、isMultipleOf、isNotMultipleOf

java.lang.Doubleオブジェクト、つまり倍精度の浮動小数点数を表す文字列。

文字列

isEqual、isNotEqual、Contains、NotContains

任意の文字列。



注意:

文字列データ型は正規表現をサポートしていません。

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


67.1.3.2 システム条件

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

表67-2 ユーザー・メッセージング・プリファレンスでサポートされるシステム条件

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

日付

日付

日付は、java.util.Dateオブジェクト、つまりEpochと呼ばれる標準基準時間(1970年1月1日00:00:00 GMT時間)以降のミリ秒を表す文字列として受け取られます(実際の値はjava.util.Date.getTime()またはjava.util.Calendar.getTime()から取得されます)。

時間

時間

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


67.1.3.3 ビジネス条件

ビジネス条件は、Oracle Application Server11g Enterprise Managerを通してシステム管理者が定義し、管理するルール条件です。ビジネス条件の追加、定義および削除の詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。ビジネス条件は、キー、データ型、オプションの説明およびオプションの値リスト(LOV)で構成されています。

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

表67-3 ユーザー・メッセージング・プリファレンス用の事前定義済ビジネス条件

ビジネス条件 データ型

サービス名

文字列

プロセス名

文字列

システム・コード

文字列

エラー・コード

文字列

発生数

数値(小数)

組織

文字列

優先度

文字列

アプリケーション

文字列

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

文字列

有効期限

日付

送信元

文字列

宛先

文字列

顧客名

文字列

顧客タイプ

文字列

ステータス

文字列

金額

数値(小数)

期日

日付

プロセス・タイプ

文字列

支出タイプ

文字列

コスト合計

数値(小数)

処理時間

数値(小数)

順序タイプ

文字列

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

文字列

グループ名

文字列

ソース

文字列

分類

文字列

期間

数値(小数)

ユーザー

文字列

ロール

文字列


67.1.4 ルール・アクション

特定のルールに対して、ユーザー・メッセージング・プリファレンスのユーザーは、次のいずれかのアクションを定義できます。

  • 全員に送信: ブロードキャスト・メッセージをブロードキャスト・アドレス・リストのすべてのチャネルに送信します。

  • フェイルオーバー: 1つのメッセージの送信に成功するまで、アドレス・リストのチャネルに対してメッセージを順に送信します。つまり、現在のチャネルが失敗ステータスを戻すと、次のチャネルへの送信が実行されます。ユーザーは、ユーザー・メッセージング・プリファレンスを使用してチャネル固有のステータス・コードまたは有効期限を指定することはできません。

  • チャネルに送信しない: すべてのチャネルにメッセージを送信しません。


    ヒント:

    ユーザー・メッセージング・プリファレンスでは、指定されたチャネルに送信しないように指示するフィルタ・アクションは提供されません。ルールには、肯定アクションのみを指定し、否定アクションを指定しないことをお薦めします。


  • デフォルト・アドレス: アクションを定義しない場合は、Enterprise Managerの「メッセージング・チャネル」ページで定義した1つ以上のデフォルト・アドレスにメッセージが送信されます。

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

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

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


注意:

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


ユーザーが作成したすべてのチャネルは、そのユーザーのシステムIDに関連付けられます。Oracle User Messaging Serviceにおけるチャネルは、携帯電話などの物理的なチャネルおよびデスクトップで実行している電子メール・クライアント・アプリケーションの両方を表し、「メッセージング・チャネル」タブ(図67-1)で構成できます。

図67-1 「メッセージング・チャネル」タブ

図67-1の説明が続きます
「図67-1 「メッセージング・チャネル」タブ」の説明

「メッセージング・チャネル」タブを使用すると、次のタスクを実行できます。

67.2.1 チャネルの作成

チャネルを作成する手順は、次のとおりです。

  1. 「作成」(図67-2)をクリックします。

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

    図67-2の説明が続きます
    「図67-2 「作成」アイコン」の説明

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

  3. 「タイプ」ドロップダウン・メニューからチャネルのトランスポート・タイプを選択します。

  4. 選択したトランスポート・タイプに対して適切な数値またはアドレスを入力します。

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

    図67-3 チャネルの作成

    図67-3の説明が続きます
    「図67-3 チャネルの作成」の説明

  6. 「OK」をクリックしてチャネルを作成します。チャネルは「チャネル」ページに表示されます。「チャネル」ページでは、チャネルを編集または削除できます。

67.2.2 チャネルの編集

チャネルを編集するには、「チャネル」リストからそのチャネルを選択して「編集」をクリックします(図67-4)。チャネルの編集ページが表示され、第67.2.1項「チャネルの作成」で説明したチャネル・プロパティを変更できます。

図67-4 チャネルの編集

図67-4の説明が続きます
「図67-4 チャネルの編集」の説明

チャネルがアイデンティティ・ストアのユーザー・プロファイルから取得した情報に基づいている場合、アドレスはユーザー・メッセージング・プリファレンスで変更できません(図67-5)。このようなチャネルで実行できるのは、そのチャネルをデフォルトに設定する操作のみです。

図67-5 アイデンティティ・ストアをバックにしたチャネルの編集

図67-5の説明が続きます
「図67-5 アイデンティティ・ストアをバックにしたチャネルの編集」の説明

67.2.3 チャネルの削除

チャネルを削除するには、そのチャネルを選択して「削除」(図67-6)をクリックします。

図67-6 「削除」アイコン

図67-6の説明が続きます
「図67-6 「削除」アイコン」の説明

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

1つ以上のチャネルをデフォルト・チャネルとして構成できます。チャネルをデフォルト・チャネルとして追加または削除できます。

追加のチャネルをデフォルトとして設定するには、そのチャネルを選択して「編集」をクリックし、「デフォルト・チャネルとして設定」をクリックします。選択したチャネルの横にチェックマーク(図67-7)が表示され、通知を受信するデフォルトの方法であることが示されます。必要な場合は、この手順を繰り返してさらにデフォルト・チャネルを追加します。


注意:

アイデンティティ・ストア属性から自動的に作成される「勤務先電子メール」チャネルは、デフォルト・チャネルとして設定されます。「勤務先電子メール」チャネルのデフォルト設定は、他のデフォルト・チャネルを設定するまで削除できません。

LDAP設定の構成の詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のLDAPユーザー・プロファイルへのユーザー・メッセージング・サービス・アクセスの構成に関する項を参照してください。


図67-7 「デフォルト」アイコン

図67-7の説明が続きます
「図67-7 「デフォルト」アイコン」の説明

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

「メッセージング・フィルタ」タブ(図67-8)を使用すると、ユーザーは受信する通知のタイプを指定するフィルタのみでなく、比較演算子(「は次と等しい」「は次と等しくない」など)の組合せでこれらの通知を受信するためのチャネル、通知タイプ、コンテンツやソースを説明するビジネス条件、そして最後に通知アクション(すべてのチャネルへの通知の送信、チャネルの通知受信のブロック、または最初に使用可能なチャネルへの通知の送信)を指定するフィルタを作成できます。

図67-8 「メッセージング・フィルタ」タブ

図67-8の説明が続きます
「図67-8 「メッセージング・フィルタ」タブ」の説明

図67-9に、「Travel Filter」というフィルタの作成を示します。このフィルタは、weblogicという名前のユーザーが、自分が出張している間の顧客に関する通知の処理方法を指定しています。すべてのフィルタ条件に一致した通知は、最初に「業務用携帯電話番号」チャネルに送信されます。このチャネルが使用できない場合、次に使用できるチャネルとして「勤務先電子メール」が選択されているため、Oracle User Messaging Serviceは通知を電子メールとして送信します。

図67-9 フィルタの作成

図67-9の説明が続きます
「図67-9 フィルタの作成」の説明

67.3.1 フィルタの作成

フィルタを作成する手順は、次のとおりです。

  1. 「作成」(図67-2)をクリックします。「フィルタの作成」ページが表示されます(図67-9)。

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

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

  4. 「次のすべての条件」または「次の任意の条件」オプションを選択して、通知がすべての条件を満たす必要があるのか、それとも一部の条件なのかを選択します。

  5. 次のように、 「条件」 セクションのリストおよびフィールドを使用して、フィルタ条件を定義します。

    1. 通知の属性を選択します。これらの属性のリストは、表67-3を参照してください。

    2. 選択した条件タイプを表67-1で説明した比較演算子のいずれかと組み合せます。

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

    たとえば、「日付」属性を選択する場合は、比較演算子を1つ選択し、次に日付チューザから適切な日付を選択します。

  6. 「追加」(図67-6)をクリックして、属性と比較演算子を表に追加します。

  7. この手順を繰り返してフィルタ条件をさらに追加します。フィルタ条件を削除するには、「削除」(図67-6)をクリックします。

  8. 次の配信ルールの1つを選択します。

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

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

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

  9. 配信チャネルを設定するには、「通知チャネルの追加」リストからチャネルを選択し、次に「追加」(図67-6)をクリックします。チャネルを削除するには、「削除」(図67-6)をクリックします。

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

  11. 「OK」をクリックしてフィルタを作成します。このフィルタは、「取消」をクリックすると破棄されます。

67.3.2 フィルタの編集

フィルタを編集するには、最初にそのフィルタを選択し、次に「編集」をクリックします(図67-9)。フィルタの編集ページが表示され、第67.3.1項「フィルタの作成」で説明したフィルタ・プロパティを追加または変更できます。

67.3.3 フィルタの削除

フィルタを削除するには、最初にそのフィルタを選択し、次に「削除」(図67-6)をクリックします。

67.4 設定の構成

右上の領域からアクセスできる「設定」タブ(図67-10)を使用して、ユーザーは次のパラメータを設定できます。

図67-10 設定の構成

図67-10の説明が続きます
「図67-10 設定の構成」の説明