Inter-Language Unification(ILU)は、異なる
プログラミング言語や
オペレーティングシステム間でオブジェクトのやり取りを可能にする、多言語対応インターフェースシステムです。ILUは、そのオブジェクトインターフェースを通じて、
プログラミング言語、
アドレス空間、
オペレーティングシステムといった
実装上の差異を隠蔽します。
これにより、開発者は言語に依存しないインターフェースを持つ多言語対応のオブジェクト指向
ライブラリ(クラス
ライブラリ)を構築することが容易になります。また、分散システムの開発においても、ILUは重要な役割を果たします。さらに、分散型でないプログラムの
モジュール間のインターフェース定義や文書化にも活用できます。
ILUインターフェースの記述には、OMG(
Object Management Group)のCORBA(
Common Object Request Broker Architecture)インターフェース記述言語(OMG IDL)または、ILU独自のInterface Specification Language(ISL)が用いられます。
歴史
ILUは、1991年から2000年にかけて、
ゼロックスの
パロアルト研究所にてオープンソースプロジェクトとして開発されました。最終リリースバージョンは2.0beta1です。
1997年から2000年の間、ILUは
World Wide Web Consortium(W3C)のHTTP-NG活動における「次世代」HTTPに関する実験的研究の基盤としても利用されました。この研究から、効率的な実験用リモートプロシージャコール(RPC)プロトコルである"w3ng"と、単一のTCPコネクション上で複数の双方向チャンネルを多重化する"w3mux"が開発されました。これらの成果は、2000年のWorld Wide Web Conferenceで発表されています。
機能
ILUは、最終リリース版において、
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インターフェース記述言語の利用をサポートしており、ILUはCORBA ORBシステムの一種とみなすことも可能です(ただし、CORBA仕様と比較すると一部不足している部分や余分な部分が存在します)。
ILUには、ONC RPCの自己完結型
実装も含まれており、既存のRPCサービスをILUオブジェクトとして記述できます。また、HTTPの自己完結型
実装も含まれているため、オブジェクト指向型のウェブブラウザやウェブサーバの
実装にも利用可能です。通信のセキュリティは、GSSベースのコンテキストネゴシエーションと暗号化によって提供されます。
関連項目
外部リンク