[Recently created (10/1996). Click here to go to the next FAQ in the "chain" of recent changes]
サーバは、CORBA IDLでInterfaceとして定義されます。クライアントとサーバ間で送受されるデータは、IDL構造体(structure)やシーケンス(sequence)として定義されます。IDLは、IDLコンパイラによってコンパイルされ、生成したコードは、クライアントとサーバプロセスの中に取り込まれます。
サーバは、特定のインターフェースを実装します。その実装が分散オブジェクトです。
クライアントは、オブジェクトリファレンスを通して、その分散オブジェクトと通信します。
オペレーションがオブジェクトリファレンスで実行されている時、ネットワーク通信が起こり、オペレーションパラメータはサーバに送られ、そして、実際の分散オブジェクトはオペレーションを実行します。それから、適当なデータがクライアントに返ります。
Back to the top of section [10]
[Recently created (10/1996). Click here to go to the next FAQ in the "chain" of recent changes]
あるアプリケーションは、分散されたリクエストを送信したいのだけれど、応答を待たないものがあります。
理想的には、返答を受けられるようになった時に、その事を通知されたいのです。スレッドによりアプリケーションが一つ以上のリクエストを発行したり、応答があるまで、リクエストを発行するスレッドはブロックされてしまいますが、その間に他のタスクの実行を続けたりすることができます。CORBAの通信は、基本的に同期された要求/応答です。これは、全ての静的起動にとって真実です。 動的起動は、遅延要求/応答(defferd request response)をサポートしています。これは、アプリケーションがリクエストを発行した後、レスポンスがあるかどうかを調べる(POLL)ことができることを意味します。
CORBAの通信は、以前のリクエストの応答があった場合に、アプリケーションへ通知する目的で使うことができます。これは、アプリケーションアーキテクチャをより複雑なものにします。
Back to the top of section [10]