Eclipse Foundation — некоммерческая организация, координирующая работы по проектам Eclipse — объявила о начале работы над проектом на основе Equinox, суть которого заключается во внедрении технологии Open Source Gateway Initiative (OSGi).
В интервью eWeek исполнительный директор Eclipse Foundation Майк Милинкович сказал, что группа объявила о новой инициативе, проводя работы по целому ряду проектов и запустив новый проект более высокого уровня, носящий название проект Eclipse Runtime или Eclipse RT.
На ежегодной конференции разработчиков Eclipse EclipseCon 17 марта Eclipse Foundation запустило новую инициативу (Третий раз одно и то же или три инициативы?) для разработки и продвижения динамического (runtime) ПО c открытым кодом на основе Equinox, облегченного динамического варианта на основе OSGi.
Милинкович сказал, что, несмотря на то что Eclipse использует хорошо известные средства разработки, современное сообщество расширяет портфель приложений Eclipse для проектов с ПО с открытым кодом, чтобы включить в него динамические технологии, которые предоставляют возможности более гибкого подхода для построения и развертывания ПО на мобильных и настольных ПК, а также на серверах.
Equinox базируется на стандартах OSGi, а точнее — на модели согласованных компонентов, которая состыковывает различные платформы и слои архитектуры. OSGi используется для мобильных и встроенных устройств, а также для приложений, устанавливаемых на настольных ПК и серверах, использующих разные ОС, такие как Linux, Windows и Solaris. По словам Милинковича, другие компонентные модели стремятся ориентироваться на конкретную ОС или схему развертывания.
OSGi предоставляет динамическую модульную систему для Java-платформ. Инфраструктура OSGi разделяется на несколько слоев: среда исполнения, представляющая собой виртуальную машину; модульный слой или модульная система для Java-платформы; слой жизненного цикла и сервисный слой.
Милинкович заявляет, что новая инициатива Eclipse представляет собой “продолжение того, что у нас делалось с OSGi”. Он говорит, “что просто не было согласованной компонентной модели, которая сочетала бы в себе различные уровни и платформы”. По его словам, .Net охватывает уровни, но не платформы, а Java — платформы, но не уровни, “поскольку JAVA SE (Standart Edition), ME (Micro Edition) и EE (Enterprise Edition) — все имеют различные компонентные модели”.
В соответствии с новой стратегией Eclipse берет компонентную модель и расширяет ее до динамической. “Лежащая в основе всего платформа строится с использованием определенных компонентов, которые выбираете вы, — говорит Милинкович. — Все это очень похоже на то, что делается в среде IDE (Integrated Development Environment)”.
Цель проекта, по его словам, состоит в том, чтобы посмотреть на гибкие возможности разработки, взять компоненты приложений и развернуть их на настольном ПК, в насыщенных интернет-приложениях или на сервере. “Таким образом, ваше решение зависит от схемы развертывания, но не от проектного исполнения”, — подчеркнул Милинкович.
Аналитик из компании RedMonk Джеймс Говернор говорит, что OSGi продвигает концепцию “кучи программ, которая кучей не является”.В феврале Говернор написал в своем блоге: “У OSGi — большой потенциал, поскольку она меняет лицо всей индустрии. Каждый раз, когда инициатива производителей мобильных телефонов или других устройств с энтузиазмом принимается вендорами межплатформенного ПО, возникает мысль, что имеет смысл ее серьезно проверить. В OSGi разработка на основе компонентов — это общая идея, но производство на основе компонентов — совсем другое дело”.
OSGi позволяет также модулям Java-классов загружаться по требованию. “Нет необходимости загружать весь Java-стек для выполнения приложения нормально работать — требуются только динамические сервисы”, — пишет он.
Кроме того, среди анонсов EclipseCon отмечено, что директора Eclipse Foundation создали более высокоуровневый проект Eclipse RT, направленный на продвижение и развитие динамических решений на основе Eclipse.
“Я немало времени потратил на то, чтобы внедрить динамическую технологию в Eclipse, и я очень рад, что мы сейчас получили поддержку от ведущих игроков рынка и сообщества пользователей, — сказал в интервью eWeek Иохен Краузе, CEO немецкой компании Innoopract. — Теперь одна из моих главных целей заключается в обеспечении незаметной интеграции всех динамических технологий, производимых Eclipse. Это позволит сделать Equinox основным динамическим стеком”.
Eclipse Foundation также запустила портал для сообщества пользователей Equinox на интернет-сайте Eclipse. Цель портала — продвижение Equinox в среде разработчиков и ознакомление их с Equinox, OSGi и соответствующими динамическими проектами Eclipse. Разработчики могут загрузить себе с портала инструкции для пользователей и видеоматериалы для самостоятельного обучения новому подходу к созданию ПО.
Более 20 компаний уже объявили о своей поддержке сообщества Equinox и намерении вступить в него.
Нейл Бартлет, лондонский разработчик, работающий на крупный инвестиционный банк, заявил, что использование Equinox существенно изменило написание программ.
“Банк создает для себя достаточно много разных приложений, но все они не связаны друг с другом. Каждое подразделение создает собственные платформы и инфраструктуры, многие усилия дублируются, — подчеркнул он. — Нам очень нужна модель повторного использования компонентов с четко определенными взаимозависимостями и версиями. Именно такую возможность дает нам Equinox/OSGi, и в отличие от предыдущих попыток, таких как J2EE (Java 2 Enterprise Edition), CORBA (Common Object Request Broker Architecture) и т. п., она действительно работает”.
По словам Бартлета, Equinox дисциплинирует весь процесс разработки: “Требуются некоторые усилия для того, например, чтобы подключить стороннюю библиотеку как новую взаимосвязь. Это может показаться определенной нагрузкой для разработчика, но зато конечным результатом становится программа, которую гораздо легче развертывать, поддерживать и многократно использовать”.