ToolTalk ユーザーズガイド

第 2 章 ToolTalk サービスの概要

コンピュータのユーザーは、独立して開発した個々のアプリケーションの共同作業に対する要求をますます高めています。このため、ソフトウェア開発者にとっては「連携」が重要なテーマになっています。連携アプリケーションは、相互の機能を協調して使用することによって、1 つのアプリケーションでは提供しきれないユーザー機能を提供します。ToolTalk サービスは、個人やグループに提供する連携アプリケーションの開発を容易にするように設計されています。

ToolTalk アーキテクチャ

次の ToolTalk サービスの構成要素が一緒に動作して、アプリケーション間の通信とオブジェクト情報の管理を提供します。

ToolTalk サービスは、SunSoftTM ONCTM 遠隔手続き呼び出し (RPC) を使用して、これらの ToolTalk 構成要素間で通信します。

アプリケーションは、ToolTalk サービスにプロセス型情報とオブジェクト型情報を提供します。この情報は、XDR 形式のファイルに格納されます。このマニュアルでは、このファイルのことを ToolTalk 型データベースと呼びます。

ToolTalk セッションの開始

ToolTalk サーバーとの通信を開始する際に、ToolTalk のメッセージサーバー ttsession は自動的に起動します。メッセージの送受信の前に、このバックグラウンドプロセスが実行中でなければなりません。各メッセージサーバーは、セッションを 1 つずつ定義します。


注 –

1 つのセッションは、複数のセッション識別子を持つことができます。


セッションを手入力で開始するには、次のようにコマンドを入力します。

ttsession [-a level][-d display][-spStvh][-{-E|X}][-c command]

ttsession コマンド行のオプションについては、表 2–1 を参照してください。

表 2–1 ttsession コマンド行のオプション

引数 

説明 

-a level

サーバー認証レベルを設定する。

レベルは、unixgss、または des でなければならない

-d display

指定されたディスプレイの X セッションの開始を ttsession に指示する。

通常、ttsession$DISPLAY 環境変数を使用する

-h

ttsession の呼び出し方法と終了方法についてヘルプを出力する

-p

新しい ttsession を開始して、そのセッション ID を出力する

-S

ttsession に、そのセッションを管理するために、バックグラウンドインスタンスをフォークしないように指示する

-o

allow_unaut_types_ load=<yes|no>

デフォルトでは、ToolTalk API の tt_session_types_load(3) への呼び出しは、TT_ERR_ACCESS では失敗する。システム全体のデフォルト値は、ttsession_file(4) で変更できる。このオプションを使用した特定の ttsession を変更できるのは、ttsession_file(4) がセッションごとの変更をこのオプションに「固定」されていない場合のみ

-s

サイレント操作を可能にする。警告メッセージは出力されない

-N

開いているファイル記述の制限値を引き上げることによって、このセッションに接続可能なクライアント数を最大限にする。使用可能なファイル記述子の正確な数は、システムによって異なる。Solaris 2.6 オペレーティング環境およびその互換バージョンでは、ttsession は常にクライアント数を最大にするので、このオプションを指定する必要はない

-t

トレースモードを設定する。ttsession 実行中にトレースモードが設定されると、コンソール上にメッセージが表示される。

トレースモードは、メッセージが添付または送信される様子を確認したい場合に設定する。ttsession コマンドによって最初に確認された時のメッセージの状態を表示する。また、与えられたプロセスへのメッセージの送信の試行も、成功した場合には表示する。

トレースモードの設定と解除を切り替えるには、USR1 シグナルを使用する

-v

バージョン番号を出力して終了する

-E

分類機構データベースからタイプを読み取る。このオプションは使用不可 (現在の ToolTalk サービスは XDR 形式のデータベースを使用している) 

-X

$TTHOME/.tt/types.xdr/etc/tt/types.xdr 内の XDR 形式のデータベースからタイプを読み取る。このオプションはデフォルト設定

-c command

プロセスのツリーセッションを開始して与えられたコマンドを実行する。

特別な環境変数 TT_SESSION が本セッション名に設定される。この環境変数で開始されたプロセスは、デフォルト状態で本セッションに含まれる。

このオプションは、コマンド行の最後で指定しなければならない。コマンド行の -c オプションの後に置かれた文字は、すべて実行するコマンドと解釈される。

commandを省略すると $SHELL の値が代わりに使用される


注 –

-c-d、または -p オプションのどれも指定しない場合、ttsession は、$DISPLAY 環境変数で指定したディスプレイの X セッションを開始します。


ttsession は、次の 2 つのシグナルに応答します。

バックグラウンドおよびバッチセッション

バッチセッション内または文字端末に確立したセッション内で、アプリケーションをバックグラウンドジョブとして実行する場合は、このアプリケーションを自身のセッションとして実行します。アプリケーショ ンを自身のセッションで実行するには、次のように ttsession コマンドで -c パラメタを使用します。


ttsession -c [command-to-non-in-batch]

このコマンドは、ユーザーのアプリケーションを実行できるシェルをフォークします。


注 –

-c パラメタは、コマンド行上の最後のオプションでなければなりません。コマンド行上の -c パラメタの後に置かれる文字は、実行コマンドと見なされます。


X Window System

X Window System でセッションを確立するには、ttsession を引数なし ($DISPLAY 環境変数からディスプレイ設定をとる) で実行するか、次のようにディスプレイを -d パラメタ付きで指定します。

ttsession -d :0

ttsession が呼び出されると、すぐにフォークして親コピーが終了します。セッションを管理するプロセスは、バックグラウンドで実行されます。セッションはプロパティとして登録され、画面 0 のルートウィンドウ上で TT_SESSION によって命名されます。ホスト番号とポート番号が指定され、セッションを管理するプロセスとの通信に使用されます。

ttsession の検出

X ディスプレイのセッションの sessid を表示するには、次のように入力します。

xprop -root | grep TT_SESSION

ToolTalk ファイルとデータベースの管理

ToolTalk パッケージには、ToolTalk ファイル (つまり、メッセージで述べられているファイルと ToolTalk オブジェクトが入っているファイル) のコピー、移動、および削除に使用できる一連の特定のシェルコマンドが入っています。標準シェルコマンド (cpmvrm) の実行後、ToolTalk サービスは、ファイルの場所が変更されたという通知を受けます。

また、ToolTalk パッケージには、ToolTalk データベース用の、データベースの検査および修復のユーティリティである ttdbck も入っています。これを使用すれば、ToolTalk データベースの検査と修復ができます。

デモンストレーションプログラム

ToolTalk サービスソースファイルには、2 つの Motif 型のデモンストレーションプログラムが含まれています。