Мне очень нравится концепция модульных комплектов, реализованная OSGi.
Мне также нравятся службы «управляемого развертывания», такие как Google AppEngine (для веб-приложений) или Java WebStart (для клиентских программ).
Эти две идеи, по-видимому, концептуально дополняют друг друга.
Тем не менее, стандарт OSGi включает в себя несколько функций, которые делают невозможным запуск таких реализаций, как Felix или Equinox, на виртуальных машинах с песочницей, таких как AppEngine или Webstart. В этих средах невозможно получить прямой доступ, например, к файловой системе, что исключает использование кеша OSGi, который используется для хранения постоянного состояния пакета и собственных библиотек.
Теперь у меня нет большого интереса к использованию собственных библиотек или к постоянному состоянию пакета. Существует ли какая-либо инфраструктура, которая реализует концепцию ядра пакета и сервисов OSGi (в идеале совместимым образом, чтобы пакеты OSGi могли быть развернуты в нем как есть), но может работать без кэша пакета (и других средств, недоступных в песочнице)
Я ищу что-то вроде ограниченной версии Felix, которая работает на AppEngine или WebStart.
Конечно, если бы движок WebStart и Google AppEngine просто предоставляли готовые сервисы OSGi Framework, это тоже было бы здорово ...
Обновление: Еще один очень ограничивающий аспект AppEngine - невозможность запуска новых потоков. Это предотвращает (среди прочего) управление жизненным циклом асинхронного пакета. Очевидно, не проблема с WebStart.