Введение

Интерлингвальное унификация (ILU) — это метод обмена данными между компьютерными системами, преодолевающий различия в способах представления различных типов данных. Даже если две системы работают на одном компьютере или на идентичном аппаратном обеспечении, многие различия возникают из-за использования различных языков программирования при создании этих систем. Объектные интерфейсы, предоставляемые ILU, скрывают различия в реализации между разными языками, адресными пространствами и типами операционных систем. ILU может использоваться для создания многоязычных объектно-ориентированных библиотек ("библиотек классов") с чётко определёнными, независимыми от языка интерфейсами. Его также можно использовать для реализации распределённых систем и для определения и документирования интерфейсов между модулями нераспределённых программ. Интерфейсы ILU могут быть специфицированы либо на языке определения интерфейсов CORBA (OMG IDL) группы управления объектами, либо на языке спецификации интерфейсов ILU (ISL).

История

ILU был разработан как проект с открытым исходным кодом в исследовательском центре Xerox Palo Alto (Xerox PARC) с 1991 по 2000 год. Последний релиз – 2.0beta1. С 1997 по 2000 год ILU использовался в качестве основы для экспериментальных работ над протоколом HTTP «следующего поколения» в рамках рабочей группы HTTP NG Всемирной паутины. В результате этой работы был разработан особенно эффективный экспериментальный протокол RPC под названием «w3ng», а также способ эффективного мультиплексирования одного TCP-соединения на несколько каналов в обоих направлениях, получивший название «w3mux». Результаты эксперимента HTTP NG были представлены на Всемирной конференции по всемирной паутине в 2000 году.

Особенности

Последний выпуск поддерживал языки программирования C++ (Corba2 mapping), ANSI C, Python, Java и Common Lisp. Также была доступна поддержка для Modula 3, Guile Scheme и Perl 5. ILU был установлен на большинстве вариантов UNIX (SunOS, Solaris, HP UX, AIX, OSF, IRIX, FreeBSD, Linux, LynxOS, SCO Unix и т. д.) и MS Windows (3.1, 95, NT). Он поддерживал как потоковую (POSIX, Solaris, NT, Franz ACL, PPCR, Modula 3), так и событийную (Xt, Tk, XView) модели работы. Одной из целей разработки было максимальное обеспечение совместимости с существующими открытыми стандартами. В результате ILU обеспечивал поддержку использования языка описания интерфейсов OMG CORBA IDL и может рассматриваться как система CORBA ORB (хотя и с некоторыми отклонениями от и дополнениями к спецификации CORBA). ILU также включал в себя автономную реализацию ONC RPC, и существовала возможность описывать и использовать существующие RPC-сервисы как объекты ILU. ILU также включал в себя автономную реализацию протокола передачи гипертекста (HTTP) Всемирной паутины, что позволяло использовать его для реализации объектно-ориентированных веб-браузеров и серверов. Безопасность связи обеспечивалась контекстными согласованиями на основе GSS и шифрованием канала передачи данных.