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つに分けて定義している:

バイナリ形式

バイナリ形式でGIOPメッセージをダンプ表示すると、ヘッダが独特であるために即座に判別できる:

  1. 4文字のASCII文字: G I O P
  2. 2バイトのバージョン番号(1バイト目がメジャーバージョンで現在は 1 のみ)
  3. 1バイトのメッセージフラグ。LSBでエンディアンを示す(0 - ビッグエンディアン、1 - リトルエンディアン)。
  4. 1バイトのメッセージ型(Reply、Request、Fragmentなどを示す)
  5. 4バイトのメッセージ長(ヘッダ部は含めない)

メッセージは整数タグ付きの任意のデータフラグメントの転送にも使われる。そのようなデータフラグメントはサービスコンテクストと呼ばれ、必要に応じて通信標準規格を拡張するのに使われる。例外を投げるサービスコンテキスト、文字コードを指定するサービスコンテキストなどが標準で用意されている。クライアントとサーバのインターセプターでメッセージにサービスコンテキストを付加してやり取りすることも可能である。

GIOP という略称の法的状態

CORBA、IIOP、OMG などの略称は Object Management Group の登録商標であり、利用には注意が必要である。しかし、GIOP は登録商標ではない(list of OMG marks参照)。したがって、場合によっては GIOP という用語を使った方がよい。

外部リンク

⌬ Phoenix Mesh CID: 未登録 IPFS未登録 📡 0ピア N=1 CRITICAL PQS D18