この章では、Oracle User Messaging Serviceにパッケージ化されているユーザー・メッセージング・プリファレンスについて説明します。ここでは、メッセージング・チャネルの使用方法、およびメッセージング・フィルタを使用した連絡ルールの作成方法について説明します。
注意: Oracle User Messaging Serviceのアーキテクチャとコンポーネントの詳細は、『Oracle Fusion Middleware Oracle SOA Suiteスタート・ガイド』を参照してください。 |
項目は次のとおりです。
ユーザー・メッセージング・プリファレンスを使用すると、複数のチャネル(配信タイプ)にアクセスするユーザーは、メッセージを受信する方法、時期および場所を制御できます。ユーザーは、フィルタ(配信プリファレンス)を定義して、メッセージの配信先チャネルとその環境を指定します。ユーザーのデバイスおよびフィルタに関する情報は、Oracle Fusion Middlewareでの使用がサポートされているデータベースに格納されます。
アプリケーション開発者にとっては、ユーザー・メッセージング・プリファレンスを使用すると柔軟性が増します。電子メールを送信するか、SMSメッセージを送信するかを決定するためのビジネス・ロジックが必要なアプリケーションとは異なり、このアプリケーションでは、単にユーザーにメッセージを送信するのみで、そのメッセージはユーザーのプリファレンスに従って配信されます。
プリファレンスはデータベースに格納されるため、プリファレンスの情報は、ドメイン内のユーザー・メッセージング・プリファレンスの全インスタンス間で共有されます。
oracle.sdp.messaging.userprefs
パッケージには、ユーザー・メッセージング・プリファレンスのAPIクラスが含まれています。詳細は、Javadocを参照してください。
ユーザー・メッセージング・プリファレンスでは次の用語が定義されます。
チャネル: たとえば電子メール、ボイスまたはSMSなどのトランスポート・タイプ。また一般に、電話やPDAなどの物理的なチャネル。
チャネル・アドレス: チャネルが通信できるアドレスの1つ。
フィルタ: 一連の通知配信プリファレンス。
システム条件: 管理者が拡張できない事前定義済のビジネス条件。
ビジネス条件: システム管理者がEnterprise Managerを通して定義し、管理するルール条件。ビジネス条件は、定義、追加または削除できます。
ルール条件: システム条件またはビジネス条件。
演算子: 比較演算子「等しい」、「等しくない」、「含む」または「含まない」。
ファクト: 送信時刻や送信者など、評価のためにメッセージから渡されるデータ。
ルール・エンジン: フィルタを処理し、評価するユーザー・メッセージング・プリファレンスのコンポーネント。
比較: ルール条件および関連する比較演算子。
アクション: 全員に送信、フェイルオーバーまたはチャネルに送信しないなど、ルールで指定された条件を満たす場合に実行されるアクション。
ユーザー・メッセージング・プリファレンスでは、次の内容に基づいて、通知配信プリファレンスを構成できます。
適切に定義された一連のルール条件(システム条件またはビジネス条件)
Oracle User Messaging Serviceによってサポートされる一連のチャネルおよび対応するアドレス
ルール・エンジンによって透過的に処理される一連のユーザー・メッセージング・プリファレンスのフィルタ
通知配信プリファレンスの1つのユースケースとして、不具合追跡システムに入力された不具合に対して使用される場合があります。たとえば、ユーザーAlexは、「type = Premium」の顧客から自分の製品に対して報告された「priority = 1」の不具合について、SMSおよび電子メールによる通知を望んでいます。その他すべての「priority > 1」の不具合については、電子メールによる通知のみを望んでいるとします。Alexのプリファレンスは、次のように記述できます。
例64-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は、ユーザー・リクエストの通知配信を処理するためにフィルタを評価します。
配信プリファレンス・ルールは、ルール比較およびルール・アクションで構成されます。ルール比較は、ルール条件(システム条件またはビジネス条件)と、それに関連する比較演算子で構成されています。ルール・アクションは、ルール内に指定した条件を満たす場合に実行されるアクションです。
表64-2に、ユーザー・メッセージング・プリファレンスによってサポートされるデータ型を示します。各システム条件およびビジネス条件には関連するデータ型があり、各データ型には一連の事前定義済比較演算子があります。管理者はこれらの演算子を拡張できません。
表64-1 ユーザー・メッセージング・プリファレンスでサポートされるデータ型
データ型 | 比較演算子 | サポートされる値 |
---|---|---|
日付 |
<、>、間、<=、>= |
日付は、 |
時間 |
==、!=、間 |
時刻を表す4桁のHHMM形式の整数。最初の2桁は24時間形式の時間です。後半の2桁は分です。 |
数値(小数) |
<、>、間、<=、>=、次の倍数、次の倍数でない |
|
文字列 |
==、!=、含む、含まない |
任意の文字列。 |
注意: 文字列データ型は正規表現をサポートしません。時間データ型は、システム条件でのみ使用できます。 |
ビジネス条件は、Oracle Application Server11g Enterprise Managerを通してシステム管理者が定義し、管理するルール条件です。ビジネス条件の追加、定義および削除の詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。ビジネス条件は、キー、データ型、オプションの説明およびオプションの値リスト(LOV)で構成されています。
表64-3に、ユーザー・メッセージング・プリファレンスによってサポートされる事前定義済のビジネス条件を示します。
表64-3 ユーザー・メッセージング・プリファレンス用の事前定義済ビジネス条件
ビジネス条件 | データ型 |
---|---|
サービス名 |
文字列 |
プロセス名 |
文字列 |
システム・コード |
文字列 |
エラー・コード |
文字列 |
発生数 |
数値(小数) |
組織 |
文字列 |
時間 |
数値(小数) |
優先度 |
文字列 |
アプリケーション |
文字列 |
アプリケーション・タイプ |
文字列 |
有効期限 |
日付 |
送信元 |
文字列 |
宛先 |
文字列 |
顧客名 |
文字列 |
顧客タイプ |
文字列 |
ステータス |
文字列 |
金額 |
数値(小数) |
期日 |
日付 |
プロセス・タイプ |
文字列 |
支出タイプ |
文字列 |
コスト合計 |
数値(小数) |
処理時間 |
数値(小数) |
順序タイプ |
文字列 |
サービス・リクエスト・タイプ |
文字列 |
グループ名 |
文字列 |
ソース |
文字列 |
分類 |
文字列 |
期間 |
数値(小数) |
ユーザー |
文字列 |
ロール |
文字列 |
特定のルールに対して、ユーザー・メッセージング・プリファレンスのユーザーは、次のいずれかのアクションを定義できます。
全員に送信: ブロードキャスト・メッセージをブロードキャスト・アドレス・リストのすべてのチャネルに送信します。
フェイルオーバー: 1つのメッセージの送信に成功するまで、アドレス・リストのチャネルに対してメッセージを順に送信します。つまり、現在のチャネルが失敗ステータスを戻すと、次のチャネルへの送信が実行されます。ユーザーは、ユーザー・メッセージング・プリファレンスを使用してチャネル固有のステータス・コードまたは有効期限を指定することはできません。
チャネルに送信しない: すべてのチャネルにメッセージを送信しません。
ヒント: ユーザー・メッセージング・プリファレンスでは、指定されたチャネルに送信しないように指示するフィルタ・アクションは提供されません。ルールには、肯定アクションのみを指定し、否定アクションを指定しないことをお薦めします。 |
デフォルト・アドレス: アクションを定義しない場合は、Enterprise Managerの「メッセージング・チャネル」ページで定義した1つ以上のデフォルト・アドレスにメッセージが送信されます。
ユーザーが作成したすべてのチャネルは、そのユーザーのシステムIDに関連付けられます。Oracle User Messaging Serviceにおけるチャネルは、携帯電話などの物理的なチャネルおよびデスクトップで実行している電子メール・クライアント・アプリケーションの両方を表し、「メッセージング・チャネル」タブ(図64-1)で構成できます。
「メッセージング・チャネル」タブを使用すると、次のタスクを実行できます。
チャネルを作成する手順は、次のとおりです。
チャネルを編集するには、「チャネル」リストからそのチャネルを選択して「編集」をクリックします(図64-4)。チャネルの編集ページが表示され、第64.2.1項「チャネルの作成」で説明したチャネル・プロパティを変更できます。
チャネルがアイデンティティ・ストアのユーザー・プロファイルから取得した情報に基づいている場合、アドレスはユーザー・メッセージング・プリファレンスで変更できません(図64-5)。このようなチャネルで実行できるのは、そのチャネルをデフォルトに設定する操作のみです。
1つ以上のチャネルをデフォルト・チャネルとして構成できます。通知の受信方法のデフォルトとしては電子メールが事前構成されています。チャネルをデフォルト・チャネルとして追加または削除できます。
追加のチャネルをデフォルトとして設定するには、そのチャネルを選択して「編集」をクリックし、デフォルト・チャネルとして設定」をクリックします。選択したチャネルの横にチェックマーク(図64-7)が表示され、通知を受信するデフォルトの方法であることが示されます。必要な場合は、この手順を繰り返してさらにデフォルト・チャネルを追加します。
「メッセージング・フィルタ」タブ(図64-8)を使用すると、ユーザーは受信する通知のタイプを指定するフィルタのみでなく、比較演算子(「は次と等しい」、「は次と等しくない」など)の組合せでこれらの通知を受信するためのチャネル、通知タイプ、コンテンツやソースを説明するビジネス条件、そして最後に通知アクション(すべてのチャネルへの通知の送信、チャネルの通知受信のブロック、または最初に使用可能なチャネルへの通知の送信)を指定するフィルタを作成できます。
図64-9に、「Travel Filter」というフィルタの作成を示します。このフィルタは、weblogicという名前のユーザーが、自分が出張している間の顧客に関する通知の処理方法を指定しています。すべてのフィルタ条件に一致した通知は、最初に「業務用携帯電話番号」チャネルに送信されます。このチャネルが使用できない場合、次に使用できるチャネルとして「勤務先電子メール」が選択されているため、Oracle User Messaging Serviceは通知を電子メールとして送信します。
フィルタを作成する手順は、次のとおりです。
「フィルタ名」フィールドにフィルタの名前を入力します。
必要に応じて、「説明」フィールドにフィルタの説明を入力します。
「次のすべての条件」または「次の任意の条件」オプションを選択して、通知がすべての条件を満たす必要があるのか、それとも一部の条件なのかを選択します。
次のように、 「条件」 セクションのリストおよびフィールドを使用して、フィルタ条件を定義します。
通知の属性を選択します。これらの属性のリストは、表64-3を参照してください。
選択した条件タイプを表64-1で説明した比較演算子のいずれかと組み合せます。
属性または演算を示す適切な値を追加します。
たとえば、「日付」属性を選択する場合は、比較演算子を1つ選択し、次に日付チューザから適切な日付を選択します。
「追加」(図64-6)をクリックして、属性と比較演算子を表に追加します。
この手順を繰り返してフィルタ条件をさらに追加します。フィルタ条件を削除するには、「削除」(図64-6)をクリックします。
次の配信ルールの1つを選択します。
選択したすべてのチャネルにメッセージを送信: リストしたすべてのチャネルにメッセージを送信するには、このオプションを選択します。
最初の使用可能なチャネルに送信(順にフェイルオーバー): フィルタ基準に一致するメッセージを優先チャネル(上矢印や下矢印を使用して設定)または次の使用可能なチャネルに送信するには、このオプションを選択します。
メッセージを送信しない: フィルタ条件に一致するメッセージの受信をブロックするには、このオプションを選択します。
配信チャネルを設定するには、「通知チャネルの追加」リストからチャネルを選択し、次に「追加」(図64-6)をクリックします。チャネルを削除するには、「削除」(図64-6)をクリックします。
必要に応じて、上矢印や下矢印を使用してチャネルに優先順位を付けます。「最初の使用可能なチャネルに送信」を選択すると、最上位のチャネル(使用可能な場合)がフィルタ基準に一致したメッセージを受信します。
「OK」をクリックしてフィルタを作成します。このフィルタは、「取消」をクリックすると破棄されます。
フィルタを編集するには、最初にそのフィルタを選択し、次に「編集」をクリックします(図64-9)。フィルタの編集ページが表示され、第64.3.1項「フィルタの作成」で説明したフィルタ・プロパティを追加または変更できます。
右上の領域からアクセスできる「設定」タブ(図64-10)を使用して、ユーザーは次のパラメータを設定できます。
アクセシビリティ・モード: 「標準」または「スクリーン・リーダー」を選択します。
ロケール・ソース: 「アイデンティティ・ストアから」または「ブラウザから」を選択します。