Я довольно новичок во всем мире Java и OSGi, и мне трудно понять экосистемную систему веб-приложения OSGi.Непонимание всей системы OSGi для веб-сайтов
Чтобы быть более точным, я нахожусь в данный момент пытается понять, как все части экологической системы связаны друг с другом:
- OSGi Framework (например, Apache Felix, Equinox, Knoplerfish)
- OSGi время выполнения (например, весна DM сервер, Пакс Runner, Apache Karaf)
- Web Extender (например Pax Web Extender, Spring Web Extender)
- веб-контейнер (например, Apache Tomcat, Jetty)
Чтобы дать Вам визуальное представление моего фактического понимания их взаимосвязи проверить это изображение:
alt text http://img253.imageshack.us/img253/1631/osgiwebenvironmentschem.png
Насколько я знаю OSGi Framework является реализация спецификации OSGi. Время выполнения - это дистрибутив, который добавляет дополнительные функции поверх спецификации OSGi, например, для ведения журнала. Поскольку, как представляется, существуют некоторые отличия в механизме для классов OSGi и веб-контейнеров, таких как Tomcat, вам нужен какой-то переводчик. Эта часть обрабатывается «Web Extender».
Не могли бы вы прояснить все это для меня? Я все правильно понимаю?
Благодарим вас за отзыв. Если я правильно понимаю вас, веб-расширитель принимает файлы WAR, которые обычно развертываются в веб-контейнере, таком как tomcat, и заставляют их запускаться во время выполнения OSGi. OSGi HttpService затем сделает их доступными «в Интернете» через HTTP-протокол. Верный? В заключение: мне не нужен веб-контейнер, такой как Tomcat? – Jens
Да, точно, как это сочетается. Вы будете доступны через службу OSGi http. Однако на практике веб-расширитель использует веб-контейнер для развертывания WAR в любом случае. Преимущество, которое вы получаете, состоит в том, что WAR можно запустить с вашими обычными сценариями запуска OSGi, и WAR могут участвовать в нормальном управлении зависимостями среды OSGi (то есть вы можете зависеть от WAR: s и WAR: s может зависеть от других пакетов OSGi). –
И все сервлеты будут зарегистрированы в службе OSGi http. –