Inter-Language Unification

Inter-Language Unification（ILU）は、多言語対応インタフェースシステムである。ILUが提供するオブジェクトインタフェースは、プログラミング言語、アドレス空間、オペレーティングシステムによる実装上の差異を隠蔽する。ILU は、言語に依存しないインタフェースを持った多言語オブジェクト指向ライブラリ（クラスライブラリ）を構築するのに使われる。また、分散システムの実装にも使われる。分散型でないプログラムのモジュール間インタフェースの定義/文書化にも使われる。ILUインタフェースの記述には、OMGの CORBA インタフェース記述言語 (OMG IDL) か、ILU の Interface Specification Language (ISL) が使われる。

歴史 
ILU は、1991年から2000年にかけて、ゼロックスのパロアルト研究所でオープンソースプロジェクトとして開発された。最終リリースバージョンは 2.0beta1 である。

1997年から2000にかけて、ILUは World Wide Web Consortium の HTTP-NG activity として行われた「次世代」HTTPに関する実験的研究の基盤として使われた。その成果として、効率的な実験遠隔手続き呼出し (RPC) プロトコル"w3ng"と、1つのTCPコネクションに複数の双方向チャンネルを多重化する"w3mux"が開発された。HTTP-NGの成果は、2000年の World Wide Web Conference で発表された。

機能 
最終リリースでは、C++（Corba2マッピング）、ANSI C、Python、Java、Common Lisp といったプログラミング言語をサポートしている。寄付の形でサポートされている言語として、Modula-3、Guile Scheme、Perl5 がある。各種UNIX（SunOS、Solaris、HP-UX、AIX、OSF、IRIX、FreeBSD、Linux、Lynx、SCO Unixなど）上で実装されており、Microsoft Windows（3.1、95、NT）でも実装されている。スレッド型操作（POSIX、Solaris、Franz ACL、PPCR、Modula-3）とイベントループ型操作（Xt、Tk、XView）がサポートされている。

実装目標の一つは、既存のオープン標準間で互換性を最大化することであった。結果として、ILUは OMG CORBA IDL インタフェース記述言語の利用をサポートすることになり、CORBA ORB システムの一種とみなすこともできる（ただし、CORBA仕様と比較すると不足部分と余計な部分がある）。ILUには、ONC RPC の自己完結型実装も含まれており、既存のRPCサービスをILUオブジェクトとして記述可能である。ILUには、HTTPの自己完結型実装も含まれており、オブジェクト指向型ウェブブラウザとウェブサーバの実装に使うこともできる。通信セキュリティは、GSSベースのコンテキスト・ネゴシエーションと暗号化によって提供される。

関連項目 

Enterprise JavaBeans (EJB)
 (DOM)
Component Object Model (COM)
Common Object Request Broker Architecture (CORBA)

外部リンク 
 Inter-Language Unification ILUのソースがある。

コンピュータ言語