What is the difference between OSGi Components and Services

“Components” are less formally defined than services. A service is any object that is registered in the OSGi Service Registry and can be looked up using its interface name(s). The only prerequisite is that a service should implement some interface… any interface. For example I could register a runnable object under the java.lang.Runnable interface, and … Read more

What exactly is Apache Karaf?

TLDR: Apache Karaf is much more ‘batteries-included’. It can also run on any OSGI runtime. Apache Felix (which is an implementation of the OSGi 4.2 framework) Sort of. Apache Karaf can use Apache Felix. Apache Karaf can also use Equinox or another OSGi runtime. By default, the Apache Karaf standard download does come with Apache … Read more

OSGi: What are the differences between Apache Felix and Apache Karaf?

The ‘lightweight OSGi container’ label is contrasting Karaf with more feature rich OSGi containers, not with Felix. To quote Guillaume Nodet (Karaf’s author) from here: Felix is just the OSGi core runtime. Karaf provides a “distribution” based on Felix by adding other features such as a console, an SSH remoting mechanism, a file deployer and … Read more