Мини-OSGi, который может работать в песочнице (например, AppEngine или WebStart)?

Мне очень нравится концепция модульных пакетов, реализованная OSGi.

Мне также нравятся сервисы "управляемого развертывания", такие как Google AppEngine (для веб-приложений) или Java WebStart (для клиентского программного обеспечения).

Эти две идеи, кажется, дополняют друг друга довольно хорошо концептуально.

Однако стандарт OSGi включает в себя несколько функций, которые делают невозможным выполнение таких реализаций, как Felix или Equinox, поверх изолированных изолированных машин, таких как AppEngine или Webstart. В этих средах невозможно получить прямой доступ к файловой системе, например, что исключает кеш-пакет OSGi, который используется для хранения состояния стойких пакетов и собственных библиотек.

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

Я ищу что-то вроде ограниченной версии Felix, которая работает на AppEngine или WebStart.

Конечно, если движок WebStart и Google AppEngine просто предоставили сервисы инфраструктуры OSGi из коробки, это тоже было бы здорово...

Обновление: Еще одним очень важным аспектом AppEngine является то, что вы не можете запускать новые темы. Это предотвращает (помимо прочего) асинхронное управление жизненным циклом пакета. Очевидно, что проблема не связана с WebStart.

Ответы

Ответ 2

Я уверен, что это можно сделать, и Эта страница справки затмения, возможно, заставит вас начать. Если я правильно понимаю, ваши пакеты должны быть подписаны, а ваш файл jnlp должен запрашивать все разрешения.

Ответ 3

Вам следует поговорить с Крисом Анищиком. Он заставил его работать с Equinox и Knopflerfish. См. Скриншот здесь: http://twitpic.com/300lk Он планировал вести блог об этом, но я думаю, что он довольно занят на данный момент. Вот ссылка на его блог: http://mea-bloga.blogspot.com/

Ответ 4

http://code.google.com/p/lemmon/

однако, проверьте проблемы для проблемы URLStreamHandler.

Нет личного опыта, просто подсказки, которые могут вам помочь.

Ответ 5

Если ваша единственная проблема исходит из кеша пакета, и вам это не нужно, вы можете избавиться от него, установив это свойство равным нулю в Equinox или Felix? Я уверен, что этот кеш не является обязательным для запуска Equinox (не знаю, для Felix)