В начале января 2010 года SpringSource объявил, что dm Server войдет в проект Eclipse, открыв первую главу нового года модульности Java. OSGi продолжает процветать в течение последнего месяца, сигнализируя о том, что 2010 год станет годом модульности Java.
Новости от InfoQ: Последние достижения в области модульности Java в январе 2010 г. (Оригинальное название: «Bundle.update: Год модульности» http://www.infoq.com/cn/news/2010/01/year-of-modularity )
Рекомендация редактора 51CTO: начало работы с OSGi
dm Server перенесен на Eclipse
Самой большой новостью, несомненно, является предложение проекта Eclipse Virgo (см. отчеты, связанные с 51CTO, здесь). Текущая версия dm Server — 2.0.0, а это означает, что следующая версия 2.1 будет разработана и выпущена под Eclipse.
Одним из существенных различий между существующим проектом и новым предложением является протокол. Это означает, что в будущем dm Server будет основан на EPL, а не на нынешней GPL — соглашении, более благоприятном для деловой практики. Цель состоит в том, чтобы увеличить вклад сообщества и одновременно поощрять этот подход к разработке программного обеспечения.
Текущие корпоративные OSGi и dm Server вызвали интерес многих людей, и инновации вокруг них никогда не прекращались. Этот интерес особенно высок среди ранних пользователей и проектов, требующих соответствия функциям динамических модулей сервисной платформы OSGi. Но для основных групп разработчиков (которые просто хотят создавать корпоративные приложения как можно быстрее, с меньшими и меньшими проблемами) текущая стоимость внедрения корпоративного OSGi может превысить его краткосрочные выгоды. Этот вопрос необходимо рассмотреть, прежде чем корпоративный OSGi станет фактическим стандартом для основных методов разработки корпоративных приложений.
Опубликована новая книга, знакомящая с OSGi и Equinox
На этой неделе была опубликована новая книга, знакомящая с OSGi и Equinox. Это также первая книга из серии Eclipse RunTime. В этой книге рассказывается, как создавать модульные приложения Java с помощью OSGi. Хотя примеры в книге основаны на Equinox, книга также полезна для разработчиков, которые хотят разрабатывать приложения на других платформах OSGi.
В книге также от начала до конца реализован пример проекта Toast с целью проложить путь для последующих книг серии с помощью специального примера кода (чтобы разработчики, прочитавшие эту книгу, могли быстро начать другие книги). Эта книга разделена на четыре части: первая представляет собой обзор OSGi, за ней следует руководство по созданию примера Toast, в третьей части подробно рассматриваются детали OSGi и, наконец, библиография.
Завершена разработка удаленных сервисов ECF
Недавно в проекте Eclipse Communications Framework была реализована спецификация удаленных служб OSGi, которая позволяет подключать службы OSGi между виртуальными машинами с помощью различных гетерогенных протоколов, включая REST, WS-*, JMS, XMPP, Skype и универсальную реализацию ECF.
Кроме того, существует множество различных механизмов обнаружения, таких как ZeroConf, SLP и статическое обнаружение на основе файлов.
Также была выпущена реализация удаленных служб OSGi Apache Felix (Apache CXF), которая также является эталонной реализацией OSGi. Но эта реализация ориентирована на доступ через транспортный уровень WS-*, тогда как ECF не зависит от транспортного уровня. Независимо от реализации API, используемый конечными пользователями и разработчиками, один и тот же. Это позволяет пользователям заменять реализацию во время выполнения.
Работа группы корпоративных экспертов близится к завершению
Недавно Питер Криенс объявил, что OSGi Enterprise Expert Group вот-вот будет завершена, а также не так давно был выпущен проект Enterprise Expert Group 4, который предоставляет большое количество функций Java EE. У нас есть основания ожидать, что финальная версия будет выпущена в марте этого года, когда пройдут OSGi DevCon и EclipseCon.
EEG предоставит новые механизмы запросов для поиска в стиле JNDI через OSGi, будет использовать JMX для управления средой выполнения OSGi, доступа к базе данных через JTA, JPA и DataSources, а также обеспечит управление удаленными службами и архитектурой компонентов служб. Кроме того, будет выпущен новый пакет развертывания: WAB, чтобы пакеты веб-приложений можно было устанавливать в контейнеры, такие как WAR. InfoQ предоставит подробный обзор результатов ЭЭГ по мере их публикации.
WebSphere выпускает альфа-версию
IBM WebSphere уже некоторое время разрабатывается на базе OSGi, а недавно выпустила альфа-версию приложений OSGi. Приложение основано на Apache Aries и включает в себя контейнер OSGi Blueprint (аналог Eclipse Gemini, предложенный SpringSource). Все эти проекты надеются решить некоторые проблемы, с которыми сталкиваются JNDI и JTA, которые также находятся в центре внимания Enterprise Expert Group.
Эти контейнеры расширяют границы среды выполнения OSGi для поддержки нескольких приложений. В будущем приложения будут разделяться с помощью вложенных платформ OSGi (аналогично тому, как серверы веб-приложений разделяют WAR). Но в отличие от серверов веб-приложений (WAR полностью отделен и не может совместно использовать код), WAB может интегрировать среду выполнения OSGi, и тогда вы сможете совместно использовать код и сервисы так же легко, как при использовании частных пакетов и сервисов.
Тихо собирает OSGi с помощью Maven
Недавно Sonatype выпустила Tycho 0.6.0, используя новую версию Maven 3. Tycho — это набор сборщиков Maven, которые могут выводить зависимости на основе OSGi Manifest.MF вместо того, чтобы предполагать, что зависимости существуют в Maven POM. Это позволяет создавать пакеты OSGi либо сначала POM (когда манифест генерируется автоматически), либо сначала манифест.
Хотя большинство разработчиков OSGi, использующих Maven (например, разработчики под Apache Felix), более привычны к методу разработки с приоритетом POM, метод разработки с приоритетом манифеста является дополнением к этому и может быть более продвинутым с помощью Eclipse PDE (разработка подключаемых модулей). Environment). Удобная разработка пакетов OSGi.
Среди многих проектов Eclipse EGit и инкубационный проект Tigerstripe построены с использованием Maven вместо Ant.
Проект Maven движется к Maven 3, который подвергся обширному рефакторингу и использует Google Guice. Кроме того, успех репозитория Maven (управляемого Sonatype) также доказывает, что разработка Java с множеством зависимостей не сложна. Также все больше и больше людей используют репозитории пакетов OSGi (например, репозитории OBR и SpringSource), и их можно распространять между разными провайдерами. В настоящее время проводится предварительное исследование по теме предоставления унифицированного набора репозиториев OSGi (используется Tycho с помощью Nexus). Экспериментальные репозитории расположены по адресам Bundles.sonatype.org и osgi.sonatype.org. Будущая цель — предоставить доступ к нескольким форматам (OBR, P2 и т. д.), чтобы использование пакетов OSGi было таким же простым, как JAR-файлы Maven.
Шустрый и ШИКАРНЫЙ
Если вы только получаете пакеты OSGi, то лучшим выбором будет использование анализатора пакетов OSGi. Недавно компания Paremus выпустила Nimble — парсер для получения и загрузки пакетов OSGi.
Paremus связывает POSH (Paremus OSGi Shell) с парсером Nimble. Таким образом, вы можете использовать один и тот же набор команд для инициализации и управления общей средой OSGi (это упростит тестирование Felix, Equinox и Knopflerfish), а с помощью Nimble вы сможете быстро запустить среду выполнения OSGi, как это сделал Дэйв. Сэвидж сказал: «Расскажи». Вы можете установить и запустить веб-приложения OSGi на базе Spring с помощью следующих двух строк команд:
posh -kc "repos -l Springdm;add org.springframework.osgi.samples.simplewebapp@active " open http://localhost:8080/simple-web-app/ Заинтересованные читатели могут узнать больше о Nimble на DZone. Дополнительная информация.
Группа пользователей OSGi UK и OSGi DevCon в Лондоне
Группа пользователей OSGi UK процветает и насчитывает более 100 членов. Последнюю лекцию прочитали Марсель Офферман (из Luminis) и Грэм Чартерс (из IBM). Видео и материалы, связанные с лекцией, будут размещены на ее сайте через несколько дней.
Первая часть лекции представляла собой введение в инкубационный проект Apache ACE, целью которого является упрощение использования OSGi на нескольких устройствах, в том числе удаленно.
В процессе сборки программного обеспечения из повторно используемых компонентов наиболее сложной проблемой является развертывание программного обеспечения на растущем числе подключаемых устройств. Ситуация усугубляется, если программный стек на устройстве неоднороден и требует одновременного использования разных компонентов. Эта лекция знакомит нас с тем, как распространять программные компоненты на различные типы устройств на основе Apache ACE (решение с открытым исходным кодом на базе OSGi), охватывающее все: от мобильных телефонов до узлов в облаке.
Проект Apache Ace основан на программном обеспечении, предоставленном компанией Luminis в начале прошлого года. Это программное обеспечение применялось во многих реальных проектах, таких как бортовые радиолокационные системы, полевое рентгеновское оборудование, обновление программного обеспечения CMS и управление протоколами, а также обработка багажа в аэропортах. системы.
Во второй лекции были представлены удаленные службы OSGi (уже включенные в OSGi 4.2) и то, как они взаимодействуют с архитектурой сервисных компонентов (SCA), на примере Apache Tuscany.
Концепции модульности Java и краткое изложение текущей ситуации
Подробное описание примеров приложений OSGi и WebSphere.
Выпуск Sun JSR 294 остановился, поскольку серверы приложений сделали ставку на OSGi
Обзор преимуществ и принципов реализации модульного программирования, чтобы ответить на вопросы: JSR 294, наглядность и удобство использования.
OASIS работает над разработкой спецификации архитектуры сервисных компонентов (SCA). SCA предоставляет гетерогенную модель программирования SOA, которая охватывает многочисленные технологии реализации (EJB, BPEL, C++, COBOL и т. д.), привязки (веб-сервисы, JMS, IIOP и т. д.) и политики (WS-Policy и т. д.).
В лекции было дано краткое введение в технологии OSGi Remote Services и Service Component Architecture, а затем говорилось о том, как их интегрировать, чтобы приложения OSGi могли получить доступ к множеству технологий реализации SCA, привязок и структур политик через Remote Services.
Объявлены расписания предстоящих конференций OSGi DevCon London и JAX London. Предложение заканчивается сегодня, но члены группы пользователей OSGi UK могут получить дополнительные скидки.
Подвести итог
Очевидно, что все больше и больше крупных серверных систем будут использовать OSGi, и в то же время OSGi также начнет проникать в системы малого и среднего размера. Поскольку инструменты сборки продолжают развиваться, разработчики могут разрабатывать пакеты OSGi в различных IDE; в то же время появляются новые репозитории для совместного использования пакетов OSGi, а разработка модульных Java-приложений становится все более простой. На основании этого Кирк Норншильд утверждает: 2010 год станет годом модульности Java.