Я разрабатываю веб-приложения на основе OSGi на ежедневной основе. У нас есть немного альтернативный подход, который работает очень хорошо:
- RESTful веб-сервисы, реализованными с использованием OSGi Services
- Модульного AngularJS пользовательского интерфейса, упакованные в OSGi расслоении
Хотя AngularJS, очевидно, не является Java web framework, он идеально подходит для современного веб-разработки. Если вы знакомы с веб-фреймворками Java MVC, то также легко понять Angular.
Главный вопрос заключается в том, как модулировать код. На бэкэнд мы реализуем все как службы OSGi. Веб-службы RESTful реализованы с помощью JAX-RS с использованием Amdatu (amdatu.org). С Amdatu вы можете использовать JAX-RS таким образом, который хорошо подходит OSGi. Каждый ресурс RESTful и сервисы нижнего уровня также упаковываются в отдельные пакеты, поэтому бэкэнд полностью модульный.
Для модульного пользовательского интерфейса мы отделяем функциональные различные части приложения от разных угловых приложений. Каждое Угловое приложение также упаковано в отдельные пакеты, используя поставщика ресурсов Amdatu.
В настоящее время Apache Felix и Eclipse, Equinox являются наиболее Шифрование до даты рамки OSGi доступны, лично я использую Феликса и она работает лучше всего. –
Как бы то ни было, с OSGi я практически столкнулся с большими трудностями. Это был кошмар, и я потратил невероятное количество времени на разрешение зависимостей версий, когда конфликт не существовал для начала. –
@PradeepSimha, однако, это только контейнеры osgi. Он не решает вопрос о том, какие серверы приложений должны использовать эти рамки. – eis