IIOP という略称はOMGの商標であり、利用には注意が必要である。このプロトコルは GIOP 上にあるため、GIOPを利用しているとした方がよい場合もある。これは間違いではないが、やや正確さを欠く（GIOP の実装は他にも様々存在する）。詳しくはGIOPを参照されたい。
最初にサーバ、次にクライアントがそれぞれ別のマシン上で開始される（同一マシンの別プロセスでもよい）。サーバは The client says: it is raining と表示する。クライアントは And the answer is: Yes, it is raining, it is raining, it is raining.. と表示する。ここに示したコードはサン・マイクロシステムズの Java 1.5 と GNU Classpath 0.95 で動作する。
MyClient the_client;             new Thread()       {         public void run()         {           try             {               ORB orb = ORB.init(args, parameters);               the_client = new MyClientImpl(Server_IOR, orb);               POA rootPOA = POAHelper.narrow(desk.orb.resolve_initial_references("RootPOA"));               rootPOA.the_POAManager().activate();               // Tie 構築               Tie tie = new _MyClientImpl_Tie();               // 実装クラス（呼び出しターゲット）の設定               tie.setTarget(the_client);               // Tie を POA サーバントとして接続               org.omg.CORBA.Object object = rootPOA.servant_to_reference((Servant) tie);               // IOR 文字列を使ってWeb上でこのオブジェクトを探すことが可能               String IOR = desk.orb.object_to_string(object);               orb.run();             }           catch (Exception exc)             {               exc.printStackTrace();             }         }       }.start();ORB スレッドが開始した後で、以下のコードを実行する:the_client.talk("it is raining");
new Thread()       {         public void run()         {           try             {               // CORBA ORB の生成               MyServerImpl.orb = ORB.init(args, properties);               // ルート Portable Object Adapter を取得:               POA rootPOA = POAHelper.narrow                 (MyServerImpl.orb.resolve_initial_references("RootPOA"));                             // MyServerImpl にはサーバがサポートしなければならない               // メソッドの実装が含まれる。               MyServerImpl impl = new MyServerImpl();               PortableRemoteObject.exportObject(impl);               // Tie の構築。Tie はサーバントでもある。               // _MyServerImpl_Tie クラスは MyServerImpl から自動的に生成される。               Tie tie = new _MyServerImpl_Tie();               // この Tie の呼び出しターゲットを設定               tie.setTarget(impl);               // 対応する CORBA オブジェクトへの参照を取得:               org.omg.CORBA.Object object = rootPOA.servant_to_reference((Servant) tie);               // ルート POA の活性化               rootPOA.the_POAManager().activate();               // クライアントに渡す IOR URL を取得               String Server_IOR = MyServerImpl.orb.object_to_string(object);               MyServerImpl.orb.run();               // 文字列変数 Server_IOR の内容をどうにかしてクライアントに               // 転送しなければならない             }           catch (Exception exc)             {               exc.printStackTrace();             }         }       }.start();
北魏の隴西王源纂（源懐の子）の子として生まれた。秘書郎を初任とし、まもなく征虜将軍の位を加えられた。528年、父の源纂が爾朱氏のために殺害されたため、源雄は身ひとつで逃亡し、姓名を変えて、西の長安にたどりついた。宇文泰はかれに隴西郡公の爵位を与えた。後に源雄は北周の武帝に従って北斉を討ち、功績により開府儀同三司の位を受け、朔方郡公に改封され、冀州刺史に任じられた。ときに突厥が北周の北辺を侵したので、源雄は平州刺史となってこれに備えた。まもなく徐州総管を検校した。580年、楊堅が北周の丞相となり、尉遅迥が乱を起こした。ときに源雄の家族が相州にあったので、尉遅迥は手紙で源雄を誘ったが、源雄は相手にしなかった。尉遅迥の将の畢義緒が蘭陵に拠り、席毗が昌慮と下邑を落とした。源雄は徐州刺史の劉仁恩を派遣して畢義緒を討ち、儀同の劉弘・李琰に席毗を討たせて、これらを平定した。581年、南朝陳がその将の陳紀・蕭摩訶・任蛮奴・周羅睺・樊毅らを派遣して江北地方に侵入させた。西は江陵から、東は寿陽まで、多くが陳に呼応し、城鎮が攻め落とされた。源雄は隋の呉州総管の于顗や揚州総管の賀若弼や黄州総管の元景山らとともに陳軍を攻撃して敗走させ、失地を回復した。宋州刺史の曹孝達が乱を起こすと、源雄は兵を派遣して襲撃し、これを斬った。位は上大将軍に進み、徐州総管に任ぜられた。後に懐州刺史となった。587年、朔州総管に転じた。突厥の侵入を受けると、源雄は突厥軍を捕えて斬った。588年、南朝陳に対する征討において、源雄は秦王楊俊の下で信州道に進出した。589年、陳が平定されると、功績により位は上柱国に進んだ。再び朔州に駐屯した。2年後、引退を請願して、長安に召還され、邸で死去した。享年は70。