Унификация языков взаимодействия Inter Language Unification (ILU)
Inter-Language Unification
Унификация языков Inter Language Unification (ILU) для обмена данными между системами. Независимость от языков, ОС и архитектур. Библиотеки и распределенные системы.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Интерлингвальное унификация (ILU) — это метод обмена данными между компьютерными системами, преодолевающий различия в способах представления различных типов данных. Даже если две системы работают на одном компьютере или на идентичном аппаратном обеспечении, многие различия возникают из-за использования различных языков программирования при создании этих систем. Объектные интерфейсы, предоставляемые ILU, скрывают различия в реализации между разными языками, адресными пространствами и типами операционных систем. ILU может использоваться для создания многоязычных объектно-ориентированных библиотек ("библиотек классов") с чётко определёнными, независимыми от языка интерфейсами. Его также можно использовать для реализации распределённых систем и для определения и документирования интерфейсов между модулями нераспределённых программ. Интерфейсы ILU могут быть специфицированы либо на языке определения интерфейсов CORBA (OMG IDL) группы управления объектами, либо на языке спецификации интерфейсов ILU (ISL).
Inter Language Unification or ILU is a method for computer systems to exchange data, bridging differences in the way systems represent the various kinds of data. Even if two systems run on the same computer, or on identical computer hardware, many differences arise from the use of different computer languages to build the systems. The object interfaces provided by ILU hide implementation distinctions between different languages, between different address spaces, and between operating system types. ILU can be used to build multi lingual object oriented libraries ("class libraries") with well specified language independent interfaces. It can also be used to implement distributed systems. It can also be used to define and document interfaces between the modules of non distributed programs. ILU interfaces can be specified in either the Object Management Group's CORBA Interface Definition Language (OMG IDL), or ILU's Interface Specification Language (ISL).
История
ILU был разработан как проект с открытым исходным кодом в исследовательском центре Xerox Palo Alto (Xerox PARC) с 1991 по 2000 год. Последний релиз – 2.0beta1. С 1997 по 2000 год ILU использовался в качестве основы для экспериментальных работ над протоколом HTTP «следующего поколения» в рамках рабочей группы HTTP NG Всемирной паутины. В результате этой работы был разработан особенно эффективный экспериментальный протокол RPC под названием «w3ng», а также способ эффективного мультиплексирования одного TCP-соединения на несколько каналов в обоих направлениях, получивший название «w3mux». Результаты эксперимента HTTP NG были представлены на Всемирной конференции по всемирной паутине в 2000 году.
ILU was developed as an Open Source project at the Xerox Palo Alto Research Center (Xerox PARC) from 1991 until 2000. The last release was 2.0beta1. From 1997 to 2000, ILU was used as the foundation for experimental work on a "next generation" HTTP protocol by the World Wide Web Consortium's HTTP NG activity. As a result of this work, a particularly efficient experimental RPC protocol called "w3ng" was developed, along with a way of efficiently multiplexing a single TCP connection into multiple channels in both directions, called "w3mux". The results of the HTTP NG experiment were presented at the 2000 World Wide Web Conference.
Особенности
Последний выпуск поддерживал языки программирования 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 и шифрованием канала передачи данных.
The last release supported the programming languages C++ (Corba2 mapping), ANSI C, Python, Java, and Common Lisp. Contributed support was also available for Modula 3, Guile Scheme, and Perl 5. ILU has been installed on most flavors of UNIX (SunOS, Solaris, HP UX, AIX, OSF, IRIX, FreeBSD, Linux, LynxOS, SCO Unix, etc.) and MS Windows (3.1, 95, NT). It supported both threaded (POSIX, Solaris, NT, Franz ACL, PPCR, Modula 3) and event loop (Xt, Tk, XView) operation. One of the implementation goals was to maximize compatibility with existing open standards. As a result, ILU provided support for use of the OMG CORBA IDL interface description language, and can be thought of as a CORBA ORB system (though with omissions from and extensions to the CORBA spec). ILU also included a self contained implementation of ONC RPC, and it was possible to describe and use existing RPC services as ILU objects. ILU also included a self contained implementation of the World Wide Web's Hypertext Transfer Protocol (HTTP), and could thus be used to implement object oriented web browsers and servers. Communication security was provided by GSS based context negotiation and on the wire encryption.