I really like the concept of modular bundles as implemented by OSGi.
I also like "managed deployment" services like Google AppEngine (for web application) or Java WebStart (for client software).
These two ideas seem to complement each-other rather well conceptually.
However, the OSGi standard includes a couple of features that make it impossible for implementations like Felix or Equinox to run on top of sandboxed virtual machines, such as AppEngine or Webstart. In these environments, it is not possible to get direct access to a file system, for example, which precludes the OSGi bundle cache that is used to store persistent bundle state and native libraries.
Now, I have no great interest in using native libraries or have persistent bundle state. Is there some framework that implements the core bundle and services concept of OSGi (ideally in a compatible way so that OSGi bundles can be deployed into it as is), but can work without a bundle cache (and other facilities not available in a sandbox)?
I am looking for something like a limited version of Felix that works on AppEngine or WebStart.
Of course, if the WebStart engine and the Google AppEngine just provided OSGi framework services out-of-the-box that would be great, too...
Update: Another very limiting aspect of AppEngine is that you cannot start new Threads. This prevents (among other things) asynchronous bundle life-cycle management. Obviously not an issue with WebStart.
http://code.google.com/p/lemmon/
however, check the issues for URLStreamHandler Problem.
No personal experience, just a clue that might help you.
EclipseSource have a patched version of osgi engine that (kind of) working in AppEngine, download the project zip files from the blog: http://eclipsesource.com/blogs/2009/04/10/osgi-on-appengine/
You should talk to Chris Aniszczyk. He made it work with Equinox and Knopflerfish. See the screenshot here: http://twitpic.com/300lk He was planning on blogging about it, but I guess he is pretty busy at the moment. Here is the link to his blog: http://mea-bloga.blogspot.com/
I'm pretty sure it can be done, and This eclipse help page could probably get you started. If I understand it correctly, your bundles must be signed and your jnlp file needs to request all permissions.
If your sole problem comes from the bundle cache and you don't need it, you can may be get rid of it by set this property to null in Equinox or Felix ? I'm pretty sure that this cache is not mandatory to have Equinox to run (don't know for Felix)