GIOP
(General Inter-ORB Protocol から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2009/09/15 17:42 UTC 版)
GIOP(General Inter-ORB Protocol)とは、分散コンピューティングにおけるObject Request Broker(ORB)間の抽象プロトコルである。このプロトコルに関する標準規格はObject Management Group(OMG)が管理している。
IIOP(Internet Inter-ORB Protocol)とは、TCP/IP上の GIOP の実装である。つまり、抽象プロトコルである GIOP の実体化である。
目次 |
メッセージ型
Object Management Group は GIOP を以下の3つに分けて定義している:
- The Common Data Representation (CDR) - OMG IDL のデータ型を ORB 間などの低レベルな通信用表現にマッピングする規定
- The Interoperable Object Reference (IOR) - リモートオブジェクトへの参照の形式を規定。IOR はタグ付きプロファイルと各種情報を運ぶコンポーネントから構成される。典型的な IOR には、プロトコルのバージョン、サーバのアドレス、リモートオブジェクトを識別するバイト列(オブジェクトキー)からなる。
- The defined message formats - オブジェクト要求を行ったり、オブジェクト実装を確定したり、通信路を管理するなどの目的で、メッセージがエージェント間で交換される。メッセージには以下のようなものがある:
- Request - リモートメソッドの呼び出し
- Reply - Request への応答メッセージ。通常、リモートメソッドから返されるデータを含む。場合によっては、サーバ側へのリダイレクション指示や例外記述が含まれる。
- CancelRequest - 前に送った Request をキャンセルする(Replyを待たないことの宣言)。
- LocateRequest - そのサーバがあるリモートオブジェクトをサポートしているかを確認するメッセージ。サポートしていない場合は、そのオブジェクトへの要求を送るべきアドレスを尋ねる。
- LocateReply - LocateRequest への応答メッセージ。場合によってはそのリモートオブジェクトの新たなアドレスが含まれる。
- CloseConnection - サーバから送られ、今後応答しないことを示す。
- MessageError - 不正なメッセージへの応答として送られる。外部へのエラー通知には使われない(その場合は管理サーバからのRequestに対するReplyでエラーを通知する)。
- Fragment - 前のメッセージの続きを含むメッセージ。長いメッセージは分割して送られる。
バイナリ形式
バイナリ形式でGIOPメッセージをダンプ表示すると、ヘッダが独特であるために即座に判別できる:
- 4文字のASCII文字: G I O P
- 2バイトのバージョン番号(1バイト目がメジャーバージョンで現在は 1 のみ)
- 1バイトのメッセージフラグ。LSBでエンディアンを示す(0 - ビッグエンディアン、1 - リトルエンディアン)。
- 1バイトのメッセージ型(Reply、Request、Fragmentなどを示す)
- 4バイトのメッセージ長(ヘッダ部は含めない)
メッセージは整数タグ付きの任意のデータフラグメントの転送にも使われる。そのようなデータフラグメントはサービスコンテクストと呼ばれ、必要に応じて通信標準規格を拡張するのに使われる。例外を投げるサービスコンテキスト、文字コードを指定するサービスコンテキストなどが標準で用意されている。クライアントとサーバのインターセプターでメッセージにサービスコンテキストを付加してやり取りすることも可能である。
GIOP という略称の法的状態
CORBA、IIOP、OMG などの略称は Object Management Group の登録商標であり、利用には注意が必要である。しかし、GIOP は登録商標ではない(list of OMG marks参照)。したがって、場合によっては GIOP という用語を使った方がよい。
外部リンク
General InterORB Protocol (GIOP)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/15 08:57 UTC 版)
「Common Object Request Broker Architecture」の記事における「General InterORB Protocol (GIOP)」の解説
GIOPとは、Object Request Broker(ORB)同士が通信する際の抽象プロトコルである。このプロトコルに関する標準はObject Management Group(OMG)が管理保守している。GIOPアーキテクチャはいくつかの実際のプロトコルを提供している: Internet InterORB Protocol (IIOP) - CORBA ORB 同士の通信プロトコルであり、インターネット上のGIOPの実装である。従って、GIOPメッセージとTCP/IPとの橋渡しをする。 SSL InterORB Protocol (SSLIOP) - SSL 上のIIOP。暗号化と認証機能を提供する。 HyperText InterORB Protocol (HTIOP) - HTTP上のIIOP。プロキシを透過的に迂回するなどの機能がある。 その他いろいろ…
※この「General InterORB Protocol (GIOP)」の解説は、「Common Object Request Broker Architecture」の解説の一部です。
「General InterORB Protocol (GIOP)」を含む「Common Object Request Broker Architecture」の記事については、「Common Object Request Broker Architecture」の概要を参照ください。
- General Inter-ORB Protocolのページへのリンク