Как создавать настольные приложения с Apache Karaf / OSGi?

Я приступил к созданию приложения OSGi для пока, но я не могу найти несколько руководств, которые показывают способ создания настольного приложения (на любых языках) с OSGi / Karaf.

Я хочу использовать karaf, потому что он может затем обернуть Felix / Equinox. Большинство найденных мной руководств посвящены Enteprise Application (WEB). Так есть ли какие-нибудь учебники, в которых рассказывается о создании настольных приложений на основе OSGi / Karaf?


person 3logy    schedule 09.05.2013    source источник
comment
Думаю, в десктопных приложениях нет ничего особенного. Я создал окно Swing просто в методе запуска активатора моего пакета, точно так же, как я могу сделать это в своем основном методе, и он работал очень хорошо. Я уничтожил окно в методе остановки активатора.   -  person Balazs Zsoldos    schedule 09.05.2013
comment
Привет, Балаш. Этот вопрос вдохновил меня, и я начал экспериментировать со Swing в Karaf (для SWT более естественным подходом является чистый Equinox). Однако пока безуспешно. Не могли бы вы вставить код, который вы использовали?   -  person Sebastian Łaskawiec    schedule 10.05.2013
comment
Привет, Балаш! Спасибо за ваш комментарий ... Мне также интересно узнать, насколько успешно вы создали такое настольное приложение! Спасибо   -  person 3logy    schedule 10.05.2013
comment
Наиболее типичный способ создания настольного приложения с использованием OSGi - использовать Eclipse RCP. Я не уверен, насколько тесно это связывает вас с Equinox.   -  person Holly Cummins    schedule 10.05.2013
comment
Почему вы хотите использовать Караф ?? Это серверная платформа, поэтому вы можете найти только учебники по веб-приложениям. Лучше просто использовать OSGi с SWT, Swing или JavaFX.   -  person Neil Bartlett    schedule 11.05.2013
comment
Спасибо, Нил Бартлетт ... ну, хотя возможно также использовать возможности Karaf для создания настольных приложений. Знаете ли вы несколько руководств, в которых рассказывается, как создавать приложения SWT или Swing с OSGi.   -  person 3logy    schedule 12.05.2013


Ответы (3)


Вот пример проекта приложения с графическим интерфейсом пользователя, в котором используется Apache karaf:

https://bitbucket.org/lorainelab/igb-fx

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

Мы используем OSGi, потому что мы хотим большей модульности в базе кода и потому, что мы хотим поддерживать динамически загружаемые «приложения», разработанные сторонними разработчиками, которые пишут с использованием нашего API-интерфейса браузера генома.

person aloraine    schedule 17.05.2017

Извините, сейчас основная цель Karaf - использовать его в качестве сервера, хотя все еще должна быть возможность запускать некоторые guis поверх. Поскольку вы уже знакомы с созданием таких пакетов, я уверен, что вы, скорее всего, могли бы использовать только младшую версию Karaf и размещать в ней свои пакеты. Должен признаться, что никогда не делал этого раньше, поэтому я не совсем уверен в этом.

person Achim Nierbeck    schedule 09.05.2013
comment
Привет, Ахим! так что нет другого способа или учебника, чтобы показать, как создать настольное приложение с OSGi? - person 3logy; 10.05.2013

Прежде всего, OSGI - это компонентная структура, она также использует функцию, отсутствующую в Java с момента ее создания, - управление версиями во время выполнения. Если вам это действительно нужно (OSGI), это не зависит от того, разрабатываете ли вы веб-приложение или настольное приложение. В общем, я бы рекомендовал вам взглянуть на эту документацию: http://fusesource.com/docs/esb/4.2/deploy_osgi/Build-ModifyMaven.html По этой ссылке вы узнаете, как преобразовать существующий проект Maven в пакет, проверьте следующие главы - там есть информация о том, как развернуть jar-файлы. например, в Караф (Караф - контейнер OSGI)

Надеюсь это поможет

person user1267751    schedule 23.05.2013