Bonobo и CORBA
Заметим, что Bonobo, libIDL и ORBit устарели; используйте D-Bus и другие средства. Смотрите выше.
Bonobo — это платформа для создания повторно используемых в приложениях компонентов. Будучи построенной на основе индустриального стандарта Общей архитектуры брокера объектных запросов (COBRA) Bonobo предоставляет интерфейсы, необходимые для создания компонентов с хорошим поведением в приложениях GNOME.
Компоненты Bonobo можно использовать в различных ситуациях для созданиям гибкого и расширяемого программного обеспечения. Например, компонент показа мультимедиа-содержимого можно внедрить в текстовый процессор, таким образом эффективно обеспечить поддержку мультимедиа без непосредственной её обработки. Компоненты Bonobo также используются для вставки апплетов в панель GNOME. С помощью Bonobo апплеты эффективно взаимодействуют с панелью, предоставляя пользователю целостный интерфейс.
Компоненты Bonono не ограничены графическими элементами управления. Bonobo использовался Evolution — почтовым клиентом и средством групповой работы — для доступа к адресной книге и календарю, что позволяет хранить информацию в одном месте, откуда её могут получить все приложения.
Bonobo — реализация COBRA, позволяющая выполнять компоненты в раздельных процессах. Компоненты могут быть написаны на различных языках и выполняться в различных средах выполнения, необходимо лишь, чтобы их интерфейсы соответствовали синтаксису языка определения интерфейсов (IDL). Гибкий дизайн COBRA позволяет компонентам выполняться даже на различных машинах в сети.
GNOME предоставляет собственную быструю и легкую реализацию CORBA — ORBit. Инструменты и библиотеки, поставляемые с GNOME позволяют написание компонентов на языке C, в то время как другие реализации COBRA исключают такую возможность.ORBit является невероятно быстродейственной реализацией CORBA.
Bonobo помогает заполнить пробелы в CORBA, предоставляя дополнительные интерфейсы и спецификации, необходимые для поддержки совместимых компонентов. Если же всё таки необходимо использовать CORBA без Bonobo, можно использовать его напрямую. Например, подсистема специальных возможностей GNOME использует CORBA для того, чтобы позволить вспомогательным инструментам наблюдать и взаимодействовать с запущенными приложениями.
Bonobo можно использовать для реализации сложных графических компонентов, которые могут быть внедрены в приложение. Тем не менее, для большинства задач межпроцессного взаимодействия GNOME всё больше использует подсистему D-Bus, так как интегрирование D-Bus в приложения значительно проще.
За дополнительной информацией о Bonobo обратитесь к Справочнику по Libbonobo иСправочнику по LibbonoboUI. За информацией об ORBit — GNOME реализацией CORBA обратитесь к Справочнику по ORBit2.