An introduction to OSGI

I gave a talk about OSGi (dynamic module system for Java) for the London Java Community on 28th October.

I had hoped to cover some more advanced stuff such as exactly what happens when modules are replaced in a running application and code is trying to make calls into the module being replaced but I ran out of time preparing the presentation and wasn’t able to put together some code for this.

You can get the presentation here (PDF format).

Here are some useful links (taken from the last page of the presentation):
- OSGi : www.osgi.org
- Equinox: http://www.eclipse.org/equinox/
- Server side Equinox: http://www.eclipse.org/equinox/server/
- Apache Felix: http://felix.apache.org/site/index.html
- Knoplerfish: http://www.knopflerfish.org/
- Spring DM: http://www.springframework.org/osgi/
- http://wiki.eclipse.org/Where_Is_My_Bundle
- http://www.javaworld.com/javaworld/jw-03-2008/jw-03-osgi1.html
- http://www.javaworld.com/javaworld/jw-04-2008/jw-04-osgi2.html
- http://www.javaworld.com/javaworld/jw-06-2008/jw-06-osgi3.html
- OSGi+Jetty tips: http://docs.codehaus.org/display/JETTY/OSGi+Tips
- Impala: http://code.google.com/p/impala/ Impala does not (currently at least) use OSGi but it could be an alternative to it for developers using the spring framework.

The javaworld articles are a good introduction and most of the code examples in the presentation are from there.