ToolTalk ユーザーズガイド

アプリケーションの ToolTalk メッセージの使用法

アプリケーションは、ToolTalk メッセージを作成、送信、または受信することによって、他のアプリケーションと通信します。送信側は、メッセージを作成、書き込み、または送信します。ToolTalk サービスは受信側を判別し、そのメッセージを受信側に配信します。受信側はメッセージを検出し、メッセージ内の情報を検査してから、メッセージを破棄するか、操作を実行してその結果を応答します。

ToolTalk メッセージの送信

ToolTalk メッセージの構造は簡単で、アドレス、サブジェクト、および配信情報を含んでいます。ToolTalk メッセージを送信するために、アプリケーションは空のメッセージを取得し、メッセージ属性を書き込んだ後、メッセージを送信します。送信を行うアプリケーションは、次の情報を提供する必要があります。

送信側アプリケーションは、メッセージ配信の範囲を限定するために、メッセージ内にさらに情報を指定できます。

メッセージパターン

ToolTalk の重要な特徴は、送信側が受信側について何も知らなくてかまわないということです。これは、メッセージを受信したいアプリケーションの方が、受け取りたいメッセージがどのようなものかを明示的に示すからです。メッセージの型に関する情報は、「メッセージパターン」という形で ToolTalk サービスに登録されます。

アプリケーションはインストール時または実行時に、メッセージパターンを ToolTalk サービスに対して指定します。メッセージパターンは、メッセージと同様に作成します。つまり、どちらの場合も同種の情報を使用します。アプリケーションは受信したいそれぞれの型のメッセージについて、空のメッセージパターンを取得し、属性を書き込み、そのパターンを ToolTalk サービスに登録します。これらのメッセージパターンは通常、アプリケーションが相互に合意しているメッセージプロトコルと一致します。アプリケーションは、個々の使用に応じてさらにパターンを追加できます。

ToolTalk サービスは、送信側アプリケーションからメッセージを受信すると、メッセージ内の情報と登録されているパターンとを比較します。一致するものが見つかると、ToolTalk サービスは、パターンがメッセージと一致するすべての受信側アプリケーションにメッセージのコピーを配信します。

アプリケーションは、受信したいメッセージを記述したパターンごとに、メッセージを「処理」または「監視」できるかを宣言しています。多数のアプリケーションがメッセージを監視できますが、メッセージを処理できるアプリケーションは 1 つだけです。これは、要求された操作が確実に一度だけ行われるようにするためです。ToolTalk サービスが、メッセージを処理するハンドラを見つけ出せなかった場合は、そのメッセージを送信側アプリケーションに返し、配信が失敗したことを示します。

ToolTalk メッセージの受信

ToolTalk サービスは、メッセージを特定のプロセスに配信する必要があると判断すると、メッセージのコピーを作成し、受信待ちメッセージがあることをそのプロセスに通知します。受信側アプリケーションが実行中でない場合は、ToolTalk サービスは、アプリケーション起動方法に関する指示 (インストール時にアプリケーションが指定したもの) を検索します。

プロセスは、メッセージを検索し、その内容を検査します。