Почему osgi используется?
Я хочу знать, почему инфраструктура OSGI используется для создания Java-приложений. Я ищу в Интернете для этого, но ответы выглядят сложными для меня. Может кто-нибудь объяснить несколько пунктов о том, почему нам нужно принять osgi.
Извините, если вопрос не подходит для stackoverflow
Я ценю терпение читателей. Спасибо.
Ответы
Ответ 1
OSGi предоставляет модульную систему с версиями модулей и, кроме того, немного управления жизненным циклом. Это управляет зависимостями между модулями, динамическим/ленивым запуском/удалением модулей, поиском/обнаружением и т.д.
Часть этого станет частью java-языка. Он обеспечивает меньшую сложность, чем проводка спагетти классов.
Ответ 2
ИМХО OSGI сам по себе требует большого количества кодовых табличек кодов для того, что он делает. Однако, если вы используете библиотеку, такую как Karaf и iPOJO, большая часть накладных расходов скрыта, и вы получаете большую часть преимуществ.
Основным преимуществом является возможность управления версиями и надлежащей изоляцией модулей. Например, вы можете
- загрузите правильные версии из репозитория maven, например, nexus.
- использовать несколько версий одной и той же библиотеки и иметь нужные им модули, которые используют правильные.
- останавливать, обновлять и запускать модули во время работы приложения.
- веб-консоль, чтобы увидеть состояние всех ваших модулей и управлять ими коллективно или индивидуально.
Ответ 3
Пройдите с помощью tutorial. Вы можете получить ответ.
Ответ 4
Для меня лучшая часть OSGi заключается в том, что она способствует сервис-ориентированному представлению вашей системы, что помогает развязывать, тестировать и работать в команде.
Я не думаю, что это должно быть сложно, поскольку я попытался продемонстрировать пример приложения "OSGi для простых смертных" [1] и слайдов [2] (оба бесстыдных пробки; -)
[1] https://github.com/bdelacretaz/OSGi-for-mere-mortals
[2] http://www.slideshare.net/bdelacretaz/osgi-for-mere-mortals