Advanced OSGi
Abstract
This university session is geared to people that have basic knowledge of OSGi (you should know how to make a bundle) but want to learn more about the how to design with services. There are many misconceptions about services and some of their characteristics (like their dynamics) sound scary for some people. However, in practice services are very easy to use with helpers like Spring, iPOJO, Declarative Services, and others. The dynamic nature and their n:m cardinality maps extremely well to many real world problems. And for many a surprise: the use of services makes many class loader problems completely disappear.
As we all know, the best way to learn is to just do it. We will therefore build a small system in this workshop, compressing the usual process in 3 hours. We'll start with a requirements document, and then decompose this in a set of interacting services. Together we will define the service interfaces that are needed and will then (try to) implement a prototype using Declarative Services and bnd. Obviously, 3 hours is insanely short to develop any system so you should come prepared. You must be able to build basic bundles with bnd (using maven, ant, eclipse, or from the command line) and declarative services.
The focus of this university session is to get a grip on when to use services, and in which form they should be used.
Speaker