Основатель компании Iona Technologies об интеграции технологий EJB, Java и CORBA

В гостях у сингапурского еженедельника Computerworld побывал научный директор и один из основателей компании Iona Technologies Шон Бейкер. В интервью, которое он дал редактору еженедельника Тао Ай Лей, рассматривались вопросы интеграции технологий Enterprise Java Beans (EJB), Java и CORBA. Компания Iona, занимающаяся производством брокеров объектных запросов (ORB) и промежуточного программного обеспечения, ориентированного на архитектуру CORBA, заметно упрочила свои позиции «на фронте» EJB после приобретения компании EJBHome, специализирующейся на производстве компонентов EJB. Наряду с лицензированием технологии Java у Sun Microsystems, компания намерена проводить более агрессивную политику на рынке промежуточных программных средств Java. По данным IDC, ПО Orbix, разработанное Iona, является лидером в области объектного промежуточного ПО и установлено уже в 3500 организациях.

Способна ли архитектура CORBA обеспечить полную интероперабельность?

Речь по сути идет о возможности расширить границы, в которые загнаны программы, сделать их не зависящими от языков программирования и ОС. Одно из средств, позволяющее сделать это и по-прежнему пользующееся огромной популярностью, — это языки сценариев. Наша технология позволяет выйти за эти границы и помогает людям, представляющим различные подразделения, эффективно справляться с теми задачами, без решения которых успешная реализация проекта невозможна. Существующие ограничения обусловлены техническими, историческими, административными и даже политическими причинами. Архитектура CORBA предоставляет в распоряжение разработчиков высокоуровневый интерфейс, позволяющий впоследствии оперативно внести в систему необходимые изменения.

Что вы можете сказать о промежуточном программном обеспечении, например, о IBM MQSeries, ориентированном на передачу сообщений?

CORBA сама по себе очень хорошо подходит для передачи сообщений. Появившиеся в последнее время стандарты и продукты обеспечили достаточно высокий уровень унификации. Программный пакет MQSeries сам по себе не позволяет налаживать взаимодействие между компонентами системы подобно интерфейсам высокоуровневых языков и не обладает таким разнообразием возможностей, как CORBA. С его помощью нельзя поддерживать взаимодействие типа точка-точка, многоадресную рассылку; он не предназначен для реализации модели «публикация-и-подписка».

Какой уровень интероперабельности обеспечивают продукты, предлагаемые различными поставщиками решений на базе архитектуры CORBA?

Для них характерна почти полная совместимость при нормальной передаче сообщений. В случае использования протокола IIOP (Internet Inter-ORB Protocol) реализация становится достаточно прозрачной, и продукты могут эффективно взаимодействовать друг с другом. То же самое можно сказать о поддержке транзакций и системы безопасности. На следующем этапе основное внимание необходимо обратить на средства, позволяющие организовать управление разнородными системами. Консорциум OMG активно работает в этом направлении и ищет пути дальнейшего повышения интероперабельности.

Можно ли считать архитектуру CORBA волшебной палочкой, одного взмаха которой достаточно для того, чтобы связать приложения?

Я бы не стал говорить о какой-то волшебной палочке до тех пор, пока вы не покажете мне конкретный набор приложений и не укажете, какие программные системы необходимо интегрировать. В любом случае для этого придется писать специальное ПО. В руках опытных специалистов CORBA способна творить чудеса, в то время как от плохих разработчиков каких-то удачных решений ждать не приходится. Вести речь о волшебной палочке можно лишь после того, как мы окончательно избавимся от программистов и информационных служб.

В каких областях находит применение архитектура CORBA?

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

Как вы оцениваете перспективы архитектуры CORBA после появления технологии EJB?

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

Над компьютерным миром нависла тень Microsoft с ее Windows NT. Индустрия информационных технологий переживает процесс унификации. Может быть, вскоре мы придем к какой-то единой архитектуре?

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

А что можно сказать о будущем Java?

На начальном этапе своего развития технология Java была не более чем языком программирования, этим и воспользовались идеологи CORBA. Следующим этапом стало определение уровней транзакций и безопасности. Затем на Java обратили внимание создатели графических конструкторов серверного ПО. Очень мощные визуальные средства на стороне клиента давно уже не являются чем-то особенным (в качестве примера можно привести средства Visual Basic). С появлением визуальных средств поддержки построения серверного ПО достаточно нажать кнопку, и система сама сгенерирует нужный код. Используя графические средства, программист может выбирать нужные компоненты и встраивать их в уже работающую систему.