Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
Dontpush ozonelayer - OSGi - results
the last 7 days i started to migrate from ICEPush to Dontpush.
Step 1 - Dontpush Ozone
I started with the "dontpush ozone layer" addon and recognized, that there are several dependencies to atmosphere. Atmosphere itself had strong dependencies to a couple of known web frameworks like catalina, jetty, jboss,... Since import packages from the combat layer have not been "optional" i decided to use the "dontpush" addon. Otherwise a lot of dependencies had to be added to my target platform.
Step 2 - Dontpush
So i tried to implement dontpush addon. It was soo simple. Took about a few hours and i could start the application. But, i did not support several tabs. I tried to implement a multi tab support but could not do it, since my experience of the UIDL is not that strong.
Step 3 - Back to Dontpush Ozone
I detected, that the import package statements of the atmosphere combat layer could be "optional". So i gave it a try and changed them. That change allowed me to start the OSGi server with minimal dependencies - and it worked; so far.
Suddenly i got an exception occured by a split package contained in the "Dontpush ozonelayer addon". Since the updateClientSideDetails(String) method of vaadins WebBrowser is "package protected", the DontPushWebBrowser had to be located in the same package. If you are working on pure java class path, that works fine. But OSGi can not handle such issues.
So i changed the visibility of vaadins WebBrowser to public, moved DontPushWebBrowser into its own package, built the vaadin bundle, installed all of that into the target platform and yeeeeeaaaahhhhhh... Now "Dontpush Ozone Layer" works really fine in the OSGi environment.
It is pretty fast. It seems that websockets are a real booster.
I hope this might be usefull for you.