Automatic Updates with OSGi
The SIP Communicator project uses the OSGi platform for a kernel. As a result we could benefit from OSGI advantages such as modularity and ease of deployment.
I imagine that many of us know or at least have heard of Debian GNU/Linux and the fact that it provides a very easy way downloading, configuring, and installing applications through the dpkg package system.
In a very similar fashion, the OSGI platform offers the same feature for the plugins in an application. Here’s how this happens:
- An online OSGi Bundle Repository (OBR) contains all installable modules/bundles/plugins.
- Every bundle contains a file that describes what other bundles need to be installed for this one to be able to run (dependencies).
- When you decide you want to install a plugin you could click on a button, or type a command, and your local instance of the OBR would connect to the online repository, download the plugin you requested, download all the other plugins that it depends on, and install them locally for you.
This project would consist in the following:
- Install an OSGi Bundle Repository on an Internet accessible machine that we’re going to provide for you.
- Create the necessary user interface that would retrieve the list of available SIP Communicator plugins and show it to the user.
- Implement the user interface that would allow users to manage (start|stop|remove) locally installed plugins as well as download new ones.
References:
The Apache Felix Project
http://felix.apache.org/site/index.html
The Felix Bundle Repository:
http://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+OSGi+Bundle+Repository+%28OBR%29
Previously Felix was known as oscar and was developed here
(the site still provides some useful documentation):
http://oscar.objectweb.org
Previously the Felix Bundle Repository was available here:
The Oscar Bundle Repository
http://oscar-osgi.sourceforge.net/
Other SIP Communicator GSoC 2008 Projects
http://www.sip-communicator.org/gsoc
SIP Communicator Developer Documentation
http://www.sip-communicator.org/index.php/Documentation/DeveloperDocumentation
The official SIP Communicator website
http://www.sip-communicator.org
