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

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

Разработка технологии InfoBus является одним из этапов общей Java-программы Lotus, имеющей условное название Kona; компания Sun Microsystems без промедления приняла эту технологию в качестве стандарта для обмена информацией между приложениями JavaBeans. В июле прошлого года проект спецификации InfoBus был размещен на Web-узле компании JavaSoft по адресу www.javasoft.com/beans/infobus для всеобщего рассмотрения.

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

Открытые API-интерфейсы

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

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

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

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

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

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

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

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

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

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

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

    InfoBus не является неким хранилищем, куда вы помещаете данные. Скоpее эта технология опpеделяет механизм, с помощью котоpого два Beans-компонента могут непосредственно обмениваться данными, не делая их копию. копирование данных для обмена неэффективно; вместо этого технология InfoBus компании Lotus предлагает средства прямого доступа от одного компонента к другому.

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

  • Участник InfoBus - любой Java-компонент, способный взаимодействовать с InfoBus; для обмена данными он может подключаться к модулю InfoBus Randezvous. В модели InfoBus эти "встречи" происходят в асинхронном режиме. Поставщики данных по мере готовности могут объявлять о наличии новых данных, а потребители данных при необходимости запрашивают данные из источников.
  • Доступ к данным - различные поставщики данных могут предоставлять данные разных типов, а потребители могут пожелать получить доступ к ним каким-либо простым или сложным способом. Чтобы удовлетворить потребности как поставщиков, так и потребителей, в технологии InfoBus определено количество стандартных интерфейсов доступа к данным для осуществления обмена ими. Эти интерфейсы позволяют потребителю данных выбирать способ ориентации в данных, предоставляемых поставщиками.

    Окончательная спецификация технологии и ее версия, совместимая с набором Java Development Kit (JDK) 1.1, появятся через несколько месяцев. Вскоpе после этого последует продукт, реализующий функции защиты набора JDK 1.2.

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


    Маpк Колэн (Mark Colan) - ведущий архитектор технологии InfoBus.