発行および購読メッセージ・ルーティングの定義
InterSystems IRIS® では、発行および購読メッセージ配信がサポートされています。発行および購読は、特定のトピックに関するメッセージが通知されるようにあらかじめ登録されているかどうかに基づいて、1 つ以上のサブスクライバにメッセージをルーティングする方法を意味します。
発行と購読の概要
メッセージングの発行と購読では、以下の要素間の実行時のインタフェースに基づき、処理が行われます。
メッセージ
メッセージは、プロダクション・メッセージです。外部のシステムでは、要求を受信し、InterSystems IRIS に転送します。InterSystems IRIS では、それをプロダクション・メッセージに変換して、特定用途のビジネス・オペレーションに送信して処理します。
トピック
トピックは、メッセージの内容を説明する文字列です。InterSystems IRIS では、トピックが定義されていません。ユーザおよびそのアプリケーションで、トピックとサブトピックの意味を定義します。
トピック文字列は、A.B.C.D という形式です。ここで、A、B、C、および D は、ピリオド (.) で区切られたサブトピック文字列です。(ピリオド) 文字。トピックには、任意数のサブトピックを含めることができます。それぞれのサブトピックの最大長は 50 文字です。以下は、すべて有効なトピック文字列です。
books
books.fiction
books.fiction.latin
ワイルドカード文字として * (アスタリスク) を使用してトピックの範囲を指定できます。以下に例を示します。
-
* はトピック文字列内の任意の完全なサブトピックを置き換えることができます (books.*.latin は機能します)。
-
* は、部分的なワイルドカードとしては機能しません (*s.fiction は機能しません。これには、books.fiction や reviews.fiction などの文字列が適合しません)。
-
後続の * 文字は、トピック文字列の最後の . (ピリオド) の右に追加される任意数のサブトピックに適合します(books.* は、books.fiction および books.fiction.latin に適合します)。
サブスクライバ
サブスクライバは、特定のトピックまたはトピックのセットに関連するエンティティ (ユーザまたは外部システム) です。サブスクライバのエントリにより、そのエンティティへのアクセス方法 (InterSystems IRIS でメッセージをそこにどのように送信するか) を指定します。
サブスクリプション
サブスクリプションは、サブスクライバとトピック文字列を関連付けます。
3 つのサブスクライバがあると仮定します。
また、3 つのトピックがあり、A.B.C で person.location.identifer を表す規則があるとします。
Doctor.ICU.88495
Patient.LAB.*
*.*.X3562564
この場合、以下のようなサブスクリプションを定義できます。
サブスクライバ |
トピック |
Abel |
Doctor.ICU.88494 |
Abel |
Doctor.ICU.88495 |
Baker |
Doctor.ICU.88495 |
Baker |
Patient.LAB.* |
Charlie |
*.*.X3562564 |
これは、以下のような意味になります。
-
Abel は、Doctor.ICU.88494 または Doctor.ICU.88495 というトピックが処理される場合のみ通知されます。
-
Baker は Doctor.ICU.88495 というトピックが処理される場合に通知されます。また、Baker は研究室 (LAB) の患者 (Patient) に関する任意のメッセージが処理される場合も通知されます。
-
Charlie は X3562564 という識別子を持つ医者または患者に関連する任意のメッセージが処理される場合に通知されます。
発行および購読メッセージ・ルーティングの実装
発行と購読の設定
プロダクションで発行と購読機能を設定する場合、基本的な手順は以下のようになります。
-
ドメインを作成します (オプション)。
-
サブスクライバのリストを作成します。
-
サブスクライバとトピックを関連付けるサブスクリプションを作成します。
[Interoperability]→[管理]→[発行と購読] ページから、[ドメインを表示]、[サブスクライバを表示]、[サブスクリプションを表示]、または [新規サブスクリプション作成] を選択することもできます。ドメイン用とサブスクライバ用のページもサブスクリプション用のものと同様ですが、それぞれには異なる [作成] コマンド、つまり [新しいサブスクライバの作成]、または [新しいドメインの作成] が用意されています。