Вариант использования OSGi - прав я или нет?

Я просто знаком с технологией OSGi - никогда не использовал, но слышал об этом много раз. Я прочитал несколько статей "для чайников", но думаю, что до сих пор не понимаю полностью его вариант использования. Может быть, некоторые из вас могли бы подтвердить, правильно ли я понял.

Вот пример того, что я мог бы сделать. Допустим, я хочу создать веб-приложение на Java. Простая война. Но организован таким образом, что он содержит разные модули. Каждый модуль будет содержать различные функции. Может быть, каждый модуль будет упакован в отдельную банку, я не уверен.

Теперь то, что я хотел бы иметь, это часть пользовательского интерфейса приложения, способная проверять, какие модули тоже развернуты, чтобы показать (или нет) связанные меню, элементы, части страниц и т. Д.

Итак, является ли технология OSGi решением для такого рода проблем или нет? Это то, для чего он предназначен, или я не в курсе?

Заранее благодарю за ответы.

3 ответа

Решение

Да, технология OSGi - это решение проблемы, о которой вы упоминали в своем вопросе.

Eclipse - это одно решение, которое использует технологию OSGi. В Eclipse пользовательским интерфейсом будет Eclipse Rich Client Platform (RCP), в то время как другие модули будут подключаемыми модулями Eclipse. Каждый модуль будет отдельным пакетом, который включает в себя больше компонентов, чем JAR.

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

Итак, является ли технология OSGi решением для такого рода проблем или нет? Это то, что он предназначен для использования или я из трека?

Я бы сказал, что это именно тот сценарий, который обслуживает OSGi.

Изучите проект Eclipse RAP, который выполняется поверх контейнера Equinox OSGI и выполняет то, что вы описываете.

Некоторые отличные учебники доступны на vogella.de.

Vaadin - это основанная на osgi веб-инфраструктура, в которой вы можете сделать это. В качестве альтернативы вы можете взглянуть на книгу OSGI и Equinox, в ней должно быть достаточно информации, чтобы помочь вам найти собственное решение.

Другие вопросы по тегам