2011-06-05 6 views
4

У меня есть план переопределения одного из моих небольших, но полезных приложений с OSGI. Я никогда не использовал его, поэтому я прошу уместно использовать OSGI на маленьком приложении, и это большая разница в скорости и/или памяти при использовании такой структуры. Кроме того, если это хороший вариант, я бы спросил, какая реализация лучше всего подходит для небольших приложений.Уместно ли использовать OSGI-фреймворк для небольшого java-приложения?

спасибо!

+0

Что такое ** небольшое приложение ** для вас? Он один кадр? 10 различных кадров? Лучшая подходящая структура - это в основном тот, с которым у ваших разработчиков (у вас) больше всего опыта. Я хочу узнать OSGI, попробовать. – Thor

ответ

5

Для современных компьютерных систем скорость и объем памяти OSGi не имеют значения: помните, что OSGi был разработан для устройств с ограниченными ресурсами. Объем памяти находится в сотнях килобайт, и после разрешения службы структура не влияет на скорость вашего приложения (например, нет прокси-серверов). Короче говоря, не беспокойтесь о времени исполнения.

Мне нравится, как правильно разработанное приложение OSGi очищает структуру приложения, заставляя вас думать о своих модулях и сервисах. Я буду держаться подальше от всех преимуществ модуляции и ориентации на обслуживание здесь, просто помните, что они применимы также к небольшим приложениям, как к большому. Эй, вы можете даже начать находить многоразовые компоненты!

Вы будет нужно думать о упаковке и доставке вашего приложения: в зависимости от вашей аудитории, вы можете уйти с просто грузить кучу жгутов, используя скрипт, чтобы получить систему Пойдут (используя, например, Pax Runner), или вам может потребоваться инвестировать в нечто более интересное, например, красивую упаковку приложения с иконкой.

2

OSGi все еще «немного» накладные расходы, чем обычные Java-проекты. Вместо этого я полагаюсь на модули Maven, если вы хотите иметь управление версиями.

Если вы выберете OSGi apporach, посмотрите на создание плагина Eclipse. Это основано на Eclipse Equinox и может быть применено к новым проектам быстро благодаря Wizzards. Предложения Eclipse для создания новых проектов.

Удачи вам!

+0

Взгляните на bndtools. Они обеспечивают очень простой способ начать работу с OSGi, включая и запускать приложения из Eclipse. –

3

Я использую karaf/iPOJO в качестве контейнера OSGi, чтобы обновлять версии библиотек во время работы приложения.

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

3

Сегодня OSGi не имеет накладных расходов, рамки варьируются от 350 тыс. До 1 мб. Во время выполнения OSGi не работает.

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

Вы можете найти bndtools на рынке Eclipse.

Смежные вопросы