Интерес сообщества Internet к Java - хороший повод для разработчиков создать новый класс интерактивных приложений для Web.

Новая технология InfoBus, предложенная Lotus Development, позволяет без дополнительного программирования добиться того, чтобы приложения JavaBeans совместно использовали данные и обменивались информацией. InfoBus дает возможность создавать мощные интерактивные клиентские и серверные приложения Java для Internet/intranet, использующие стандартный промышленный протокол обмена данными.

Lotus разрабатывала технологию InfoBus в рамках общей программы развития Java, получившей кодовое название Kona. Корпорация Sun Microsystems одобрила предложение принять данную технологию в качестве стандарта информационного обмена между приложениями JavaBeans.

В июле предварительные спецификации InfoBus были представлены на всеобщее обсуждение на Web-узле компании JavaSoft (www.javasoft.com/ beans/infobus).

При построении многокомпонентных программ Java перед разработчиками часто ставится задача обеспечить совместное использование данных различными компонентами приложений. До появления InfoBus управление взаимодействием двух апплетов обычно осуществлялось с помощью кода JavaScript, а для выполнения более сложных задач в апплеты встраивались специальные функции.

Такая технология ограничивала возможности обмена информацией между компонентами Beans, написанными для конкретного протокола.

Общий API

InfoBus определяет общий прикладной программный интерфейс (API), который может использоваться классами и компонентами Java, апплетами, сервлетами и другими приложениями для взаимодействия с любыми программами, поддерживающими технологию InfoBus.

Все апплеты, в которых реализована поддержка InfoBus, имеют возможность обмениваться информацией с другими программами, поддерживающими ту же технологию, ничего при этом "не зная" о внутренней архитектуре этих программ. С появлением InfoBus программисты избавились от необходимости длительного и трудоемкого связывания компонентов JavaBeans с помощью написанных вручную сценариев. Теперь разработчики без труда могут встроить в свои апплеты стандартные средства, которые позволяют разделять данные в Internet с другими апплетами, поддерживающими технологию InfoBus.

Преимущество новой технологии заключается в том, что множество апплетов InfoBus могут совместно обрабатывать большие объемы данных различных типов, используя стандартный отраслевой протокол.

Код для взаимодействия пишется быстро, легко и включает небольшое число инструкций. Компоненты, встраиваемые в приложения InfoBus, можно разделить на три типа.

  • Производители данных (data producers) - компоненты, отвечающие на запросы, с помощью которых пользователи хотят получить доступ к тем или иным данным.
  • Потребители данных (data consumers) - компоненты, отслеживающие поступление в рабочую среду новых наборов данных.
  • Контроллеры данных (data controllers) - своеобразные инспектора трафика InfoBus, дополнительные компоненты, которые регулируют и переадресуют потоки данных тому или иному их источнику.

    Технология InfoBus очень похожа на аппаратную шину. Множество абонентов получают и обрабатывают данные, распространяемые источниками. Каждый абонент легко может воспользоваться информацией из любого источника. На самом деле на один запрос можно получить ответы сразу из многих источников. Выдача информации при многостороннем обмене производится одновременно и не требует каких-либо специальных действий от взаимодействующих компонентов.

    Снижение затрат

    InfoBus способна уменьшить стоимость разработки и внедрения приложений, предоставляя возможность компоновать приложения для Web с использованием технологий JavaBeans и InfoBus без явного программирования. Например, компонент JavaBean, реализующий доступ к базе данных, выбирает из нее информацию и при помощи функций InfoBus делает ее общедоступной. Таким образом, другие компоненты JavaBeans также получают доступ к информации, после чего ее можно обрабатывать или просматривать на экране монитора.

    Технология InfoBus содержит функцию, с помощью которой источник уведомляет абонента об изменении данных.

    Архитектура InfoBus разрабатывалась с таким расчетом, чтобы не вызывать затруднений у пользователей и вместе с тем обеспечивать достаточную мощность, позволяющую различным компонентам оперативно обрабатывать потоки данных. При помощи InfoBus можно получать быстрый и прямой доступ к данным другого апплета.

    InfoBus - это не хранилище, куда можно поместить данные. Данная технология реализует механизм, с помощью которого два компонента обмениваются данными напрямую, без дополнительного копирования. Обмен информацией, основанный на пересылке копий, неэффективен, а Lotus InfoBus обеспечивает прямой доступ одного компонента к данным другого.

    В ближайшие несколько месяцев планируется определить окончательные спецификации InfoBus, а также разработать версию, совместимую с JDK 1.1. Несколько позже будет выпущен продукт, поддерживающий средства безопасности JDK 1.2.


    Марк Колан - главный идеолог технологии InfoBus.

    Путешествуя в автобусе InfoBus

    InfoBus - это интерфейс прикладных программ Java, который позволяет наладить взаимодействие между различными компонентами или интероперабельными приложениями, запускаемыми с Web-страницы. Технология предоставляет стандартный способ обмена информацией между апплетами и компонентами Beans в среде виртуальной машины Java. Реализация 30 команд InfoBus занимает в памяти приблизительно 4 Кбайт. Технология InfoBus позволит разработчикам и пользователям:

  • сократить объем кода JavaBeans, который необходимо писать вручную;
  • улучшить возможности совместного использования данных;
  • гарантировать совместимость с другими компонентами JavaBeans;
  • осуществлять выборку информации из баз данных, электронных таблиц и документов текстовых процессоров, а также интегрировать все эти возможности в единое приложение.