この節では、ToolTalk サービスが解決する相互運用に関する問題について説明します。ToolTalk サービスは、アプリケーションが次のようなことを必要とする場合に使用するのに適切な技術です。
ツール互換性
制御統合
ごく一般的なサーバ (たとえば X サーバ) では所有しておらず、予想可能なリスナの集合がないネットワーク透過イベント
自動ツール起動機能
広範囲で使用可能な分散オブジェクトシステム
固定表示オブジェクト
もちろん、相互運用の問題に対して ToolTalk サービスを使用するのは適切でない場合もあります。しかし、アプリケーションが両方の問題 (つまり、ToolTalk サービスが解決するようになっている相互運用に関する問題と ToolTalk サービスが解決するのではない問題) の解決を必要としている場合は、ToolTalk サービスを他の技術と組み合わせて使用できます。
プラグ・アンド・プレイ機能を必要とする場合は、ToolTalk サービスを使用してください。プラグ・アンド・プレイという語は、ツールを同じプロトコルを提供する他のツールと交換可能であることを意味します。つまり、ToolTalk によって与えられるプロトコルをまねするツールをコンピューティング環境に配置 (プラグ) し、プロトコルが示す関数を実行 (プレイ) できます。ツールを変更することなく、お互いに特定の組み込み知識を持っていなくてもツールを併用できます。
アプリケーションが制御統合を要求する場合、ToolTalk サービスを使用してください。制御統合という語は、ユーザの直接介入がなくても共通の目的に向かって一緒に動作するツールのグループを示します。ToolTalk サービスを使うと、簡単で柔軟性のある機能により特定のツール・インスタンスか不特定のサービス・プロバイダに対して任意の要求を発行する制御統合が可能になります。
アプリケーションがネットワーク透過イベントの生成や受信を必要とする場合は、ToolTalk サービスを使用してください。従来のイベント機構 (シグナルやウィンドウ・システム・イベントなど) を使用するには、特別な環境を必要とします。たとえば、プロセスやウィンドウ ID を認識していることなどです。ToolTalk サービスにより、イベントが参照するファイルや、イベントを適用できるネットワーク上のプロセスのグループに関してイベントは自然に記述されます。ToolTalk サービスは、ネットワーク上のいたる所にある配信対象プロセスにイベント (通知と呼ぶ) を配信します。
アプリケーションがネットワーク透過な自動起動機能を必要とする場合は、ToolTalk サービスを使用してください。ToolTalk サービスは、メッセージがネットワークから送信されると、ツールを起動させるメッセージを記述させます。ToolTalk 自動起動機能の使用は簡単で、従来の inetd(1) 機能ほどホストに固有のものではありません。
さまざまなプラットフォームにまたがって使用可能である分散オブジェクト・システムでアプリケーションを作成する必要がある場合は、ToolTalk を使用してください。ToolTalk のオブジェクト・システムは、一般的な UNIX プラットフォームにあるアプリケーションで使用できます。次のアプリケーションでも使用できます。
シングル・スレッドまたはマルチ・スレッドである
コマンド行またはグラフィカル・ユーザ・インタフェースを持っている
独自のイベント・ループ、またはウィンドウ・システムのツールキットのイベント・ループを使用している
ToolTalk のオブジェクト指向メッセージ・インタフェース用にコーディングされたプログラムは、ソースコードを変更をしなければ CORBA 準拠のシステムに移植できません。
アプリケーションが UNIX ファイル・システムでオブジェクトを目立たないように配置する必要がある場合は、ToolTalk サービスを使用してください。
この節にあるシナリオは、ToolTalk サービスを利用することによって、業務上の問題をどのように解決できるかを示しています。これらのシナリオで使用するメッセージ・プロトコルは架空のものです。
ToolTalk デスクトップ・サービス・メッセージ・セットを使用することにより、アプリケーションは、ユーザの介入がなくても他のアプリケーションを統合およびコントロールできます。この節では、デスクトップ・サービス・メッセージ・セットの実行方法を示す 2 つのシナリオ (「スマート・デスクトップ」と 「統合ツールセット」) について説明します。
この節のシナリオは、ユーザの要求を翻訳するアプリケーション・レベルのプログラムで ToolTalk サービスを使用する方法を示すためのものです。共通デスクトップ環境プロダクトにより ToolTalk サービスにユーザの要求を翻訳させる方法を示すためのものではありません。
グラフィカル・ユーザ・インタフェース (GUI) のフロント・エンドに対するユーザの共通した要求は、データ・ファイルがアプリケーションに気づく (または「知っている」) ようにできることにあります。これを行うには、アプリケーション・レベルのプログラムがユーザの要求を翻訳する必要があります。このアプリケーション・レベルのプログラム (スマート・デスクトップという) には、アップル社の Macintosh ファインダ、マイクロソフト社の Windows ファイル・マネージャ、共通デスクトップ環境のファイル・マネージャなどがあります。スマート・デスクトップの主な共通要件は、次のとおりです。
ファイルを取得する
アプリケーションを決定する
アプリケーションを起動する
ToolTalk サービスは、ツールのクラスが特定のデータ型を編集できるようにすることによって柔軟性が増します。次のシナリオでは、デスクトップ・サービス・メッセージ・セットをエンドユーザに対して透過的なスマート・デスクトップとして実行する方法を説明します。
ダイアンが [ファイルマネージャ] アイコンをダブルクリックします。
ファイル・マネージャが開き、ダイアンの現在のディレクトリ内のファイルを表示します。
ダイアンは、データ・ファイルのアイコンをダブルクリックします。
ファイル・マネージャは、アイコンで表現されているファイルの表示を要求します。また、表示メッセージ内のファイル・タイプを符号化します。
ToolTalk セッション・マネージャは、登録されたアプリケーション (この場合はアイコン・エディタ) に表示メッセージ内のパターンを照合して、ダイアンのデスクトップ上で実行中のアプリケーションのインスタンスを見つけます。
ToolTalk セッション・マネージャがアプリケーションの実行中のインスタンスを見つけられない場合は、静的に定義した ptype をチェックし、メッセージ内のパターンに最も一致するアプリケーションを起動します。一致する ptype がないと、ファイル・マネージャに異常終了を返します。
アイコン・エディタは表示メッセージを受け取り、自分のアイコン化を解除し、自分を一番上に表示します。
ダイアンは、ファイルを手動で編集します。
デスクトップ・サービス・メッセージ・セットを実行できるもう 1 つの重要なアプリケーションは、統合ツールセットです。これらの環境は、垂直のアプリケーション (CASE ソフトウェア開発者用ツールセットなど) または水平の環境 (複合ドキュメントなど) に適用できます。その両方のアプリケーションの共通点は、総合的な解決法が 1 つの特定のタスクをうまく実行するように設計されている専門のアプリケーションから構築されたという前提があることです。統合ツールセット・アプリケーションには、テキスト・エディタ、描画パッケージ、ビデオ・ディスプレイ・ツール、オーディオ・ディスプレイ・ツール、コンパイラのフロント・エンド、デバッガなどがあります。統合ツールセット環境には、相互に呼び出して対話し、ユーザからの要求を処理するアプリケーションが必要です。たとえば、ビデオを表示するには、エディタがビデオ・ディスプレイ・プログラムを呼び出します。完成したコードのブロックを確認するには、エディタがコンパイラを呼び出します。
次のシナリオでは、デスクトップ・サービス・メッセージ・セットを統合ツールセットとして実行する方法を説明します。
ブルースはエディタを使用して複合ドキュメントを扱う作業をしています。
ソースコード・テキストの一部を変更することにします。
ブルースは、ソースコード・テキストをダブルクリックします。
ドキュメント・エディタは、まずソースコードが表すテキストを判別し、その後そのソースコードがどのファイルに入っているかを判別します。
ドキュメント・エディタは、ファイル名をメッセージのパラメータとして使用し、編集メッセージ要求を送信します。
ToolTalk セッション・マネージャは、登録されたアプリケーション (この場合はソースコード・エディタ) に編集メッセージ内のパターンを照合して、ブルースのデスクトップ上で実行中のアプリケーションのインスタンスを見つけます。
ToolTalk セッション・マネージャがアプリケーションの実行中のインスタンスを見つけられない場合は、静的に定義した ptype をチェックし、メッセージ内のパターンに最も一致するアプリケーションを起動します。一致する ptype がないと、ドキュメント・エディタ・アプリケーションに異常終了を返します。
ソースコード・エディタが編集メッセージ要求を受け取ります。
ソースコード・エディタは、ソースコード・ファイルが構成コントロールを受けていると判別し、ファイルをチェックするためのメッセージを送信します。
そのメッセージをソースコード制御アプリケーションが受け取り、要求されたファイルの読み取り書き込み用コピーを作成します。その後、ファイル名をソースコード・エディタに戻します。
ソースコード・エディタは、ソース・ファイルが入っているウィンドウを開きます。
ブルースは、ソースコード・テキストを編集します。
ToolTalk ドキュメント・メディア交換メッセージ・セットは、非常に柔軟性があり、強力です。この節では、次のような ToolTalk ドキュメント・メディア交換メッセージ・セットの 3 つの使用方法について説明します。
マルチメディアのオーサリング・アプリケーションへの統合
既存のアプリケーションへのマルチメディア拡張機能の追加
メディア変換機能の追加による X のカット&ペースト機能の拡張
マルチメディア機能をアプリケーションに統合することによって、アプリケーションのエンド・ユーザは、さまざまなメディアの型をそれらのドキュメントに埋め込むことができます。
通常、メディア・オブジェクトを表すアイコンは、ドキュメントに埋め込まれます。埋め込まれたオブジェクトを選択すると、ToolTalk サービスは自動的に適切な外部メディア・アプリケーションを起動し、オブジェクトは次のシナリオで説明するように処理されます。
ダニエルがマルチメディア・オブジェクトが入っているドキュメントを開きます。
ウィンドウがさまざまなメディアの種類 (音声、画像、グラフィックなど) を表す複数のアイコンでドキュメントを表示します。
ダニエルは、 [音声] アイコンをダブルクリックします。
音声アプリケーション (プレイヤと呼ぶ) が起動され、録音済みの音声が再生されます。)
録音状態を編集するために、ダニエルはアイコンを 1 回クリックして選択し、3 番目のマウス・ボタンを使用して [編集] メニューを表示します。
編集アプリケーションが起動され、ダニエルはメディア・オブジェクトを編集します。
ToolTalk ドキュメント・メディア交換メッセージ・セットによって、アプリケーションは他のマルチメディア・アプリケーションを使用して、その機能または性能を拡張することもできます。たとえば、次のシナリオで示すように、カレンダ・マネージャを拡張し、オーディオ・ツールを使って、音声ファイルをアポイントメントの覚え書きとして再生することもできます。
シェルビーは、自分のカレンダ・マネージャを開き、アポイントメントを設定します。
シェルビーが [音声応答] ボタンをクリックすると、オーディオ・ツールが起動します。
シェルビーは、たとえば「レポートを持ってくる」といったようなメッセージを記録します。
シェルビーがアポイントの覚え書きを実行すると、カレンダ・マネージャはオーディオ・ツールを起動し、シェルビーが録音した覚え書きを再生します。
ToolTalk ドキュメント・メディア変換メッセージ・セットは、拡張可能なオープン・エンドの変換機能をサポートできます。次のシナリオは、拡張可能なマルチメディアのカット&ペースト機能の動作を示します。