Here comes my next question. I have created a bundle with sts tooling and now I want to make a web-bundle out of it. I found posts about web-modules but they seen to be deprecated or not longer supported when I got it right.
Where to put web.xml, simply in WEB-INF on my classpath ? will the servlet-context xml pick up my bundle context as root context ?
The short answer is that you can either use a standard WAR file or a Web Application Bundle (WAB) which is described in the Web Applications chapter of the OSGi Enterprise Spec v4.2.
In a WAB, web.xml sits in the WEB-INF directory.
I'm not sure about the answer to your other question (for some reason this web stuff never sticks in my mind - my defence is Rutherford's "All science is either physics or stamp collecting." I regard the kernel as physics... ), so please refer to the OSGi spec for details. Certainly the servlet context is published as an OSGi service using the WAB's bundle context.
I'm not sure whether you are thinking of bringing your web skills to Virgo or escaping the web by fleeing to the Virgo kernel, but whatever your motivation, you'll be very welcome to get involved in Virgo development should you wish to.
Certainly subscribe to virgo-dev for starters. Take a tour round the Virgo wiki to get a perspective on the internals. Then pick a likely looking bug - most current bugs are enhancements - and see if you can solve it and provide a patch.
You should also take a look at our sister project Gemini Web for the core of the web function.
Hi Thomas, WAB is something I've to see myself, but in the meantime please find attached an experimental war file that I am bulding for my own fun. Not so useful as an app to you but definitely you can check it's structure.
I am not using STS myself, I'd rather just create good-old war & jar files for my bundles based on plain J2ee Eclipse with the help of maven to handle dependencies. But probably STS is your best option of an IDE and I don't know if they provide a wizard for web bundles. I got a book which says that you need to create a standard web project, add bundle project nature and publish it under your virgo runtime.