Hallo kemot,
ich habe das vor einiger Zeit mal gemacht, werde mal schauen ob ich noch ein Beispielprojekt finde. Du musst auf jeden Fall die GWT-Library in ein OSGi-Bundle überführen. Dazu gibts aber einige Tools, die das für dich übernehmen. Ich persönlich bevorzuge die von Eclipse PDE angebotene Funktionalität (File - New - Other - Plug-in Development - Plug-in from Existing JAR Archive - Add External), wenn du im New-Wizard noch den Haken bei "Analyze library contents and add dependencies" setzt, kann dir Eclipse die Abhängigkeiten in der Manifest pflegen. Wenn ich mich recht erinnere, habe ich jedoch alle javax.servlet packages nachträglich entfernt, weil die bei mir bereits von anderen Bundles zur Verfügung gestellt werden.
Ich habe damals GWT mit Equinox genutzt und es war nicht wirklich angenehm. Am Ende lief es zwar, aber ich musste dafür angepasste Ant build-files, angepasste run-configuration für das GWT Plugin, veränderte Ordnerstrukturen etc. nutzen. Auch der Umstand, dass das JavaScript immer kompiliert werden muss, beißt sich etwas mit der Modularität von OSGi. Eine andere Alternative zu GWT wäre Vaadin (kommt schon OSGi-ready daher), dass sehr ähnlich ist jedoch einen serverseitigen Ansatz verfolgt. Glücklich geworden bin ich aber auch mit Vaadin in Verbindung mit OSGi nicht. Derzeit versuche ich mich gerade mit Eclipse RAP und erhoffe mir davon die gewünschte Modularität für meine Web-Anwendungen. Ansonsten gibts noch die Möglichkeit, konventionelle Web-Anwendungen mit eigenem JavaScript anzureichern. Hierzu sei auf
Jörg Viola: Eclipse Virgo + Snaps: Modular Web Apps, finally, Part 1 verwiesen, wo gezeigt wird wie sowas aussehen könnte.
Ich weiß jetzt nicht, welches OSGi-Framework du benutzt, würde dir aber empfehlen mal einen Blick auf Eclipse Virgo und EclipseRT zu werfen. Dort hast du die Möglichkeit, erstmal die war-Files unverändert in einem eingebetteten Tomcat (bald hoffentlich auch Jetty) ausführen zu lassen. Dann kannst du schrittweise dein war in ein Web Application Bundle (oder so ähnlich) überführen indem du zuerst die Abhängigkeiten über die MANIFEST.MF anstatt den lib-Ordner bereitstellst und später dann auch OSGi-Services nutzt (Stichwort Gemini Blueprint). Imo ist Virgo derzeit die fortschrittlichste Runtime im Bereich OSGi, gibt aber mit EclipseRT, Apache Karaf und Apache Aries noch andere sehr interessante Projekte im Bereich OSGi.
Gruß
fkh
PS: Bei Fragen zu OSGi/GWT solltest du diese imo besser im Bereich Plattformprogrammierung stellen, zu SOA passt das nicht.