What is Apache Karaf?

I'm a little confused about what Apache Karaf is.

Can you say that Apache Karaf includes, among other things:

  • Apache Felix (which is an implementation of the OSGi 4.2 framework)
  • Apache Aries (which is an implementation of the Blueprint standard)
+46
osgi apache-felix apache-karaf aries
Jun 27 '13 at 18:07
source share
2 answers

TL; DR: Apache Karaf has a lot more "batteries included." It can also work in any OSGI environment.

Apache Felix (which is an implementation of OSGi 4.2)

Grade. Apache Karaf can use Apache Felix. Apache Karaf can also use Equinox or another OSGi runtime. By default, the standard Apache Karaf download comes with Apache Felix.

Apache Aries (which is an implementation of the Blueprint standard)

Again, sort of. The default Apache Karaf download comes with Apache Aries by default.

Now tell us what OSGI (Apache Felix, Equinox) is and what Apache Karaf is:

OSGI is very simple. You can run the OSGI runtime in your application and not even notice it. Shell, the ability to hot install from a folder, install from maven repo, etc. These are all additional functions that OSGI does not need to do and are provided by additional projects such as Karaf, GOGO or Pax

Now on Apache Karaf:

This is mainly an OSGI environment that provides some additional benefits over and above the standard OSGI implementation. Since Apache Karaf is simply built on standard OSGI, it can theoretically work in any OSGI environment. This gives you a single interface for working with OSGI battery life.

Some goodies of Apache Karaf provide that you won't see in Apache Felix without extra work:

  • Hot Folder Based Deployment
  • A (IMHO) is better to use the default console than gogo. (Org.apache.karaf.shell)
  • Remote SSH access to this console. (Org.apache.karaf.shell.ssh)
  • Centralized registration system. (Org.apache.karaf.log)
  • He has his own way of creating packages and entry-level levels. (Org.apache.karaf.features)
  • Karaf has its own maven plugins.

Pretty much here:

http://mvnrepository.com/search.html?query=org.apache.karaf *

I mentioned that Karaf has its own way of creating packages and runlevels. Apache Karaf also comes with a bunch of predefined ones to get started. I know that Apache Felix comes with some, as well as through OBR, but Apache Karaf comes with much more "batteries included."

+53
Jun 28 '13 at 15:57
source share

Apache Karaf is a Swiss army knife for launching OSGi "stuff" and not OSGi, which ships with OSGi.

Felix and Aries are by default, but frameworks are connected, so the equinox works as well.

  • Unix-like shell available from CLI or SSH
  • Hot Package Deployment
  • Can deploy almost anything as a package (simple .jar, spring xml, drawing, etc.)
  • WAR Files
  • Deployment from maven - including automatic deployment of packages without OSGi.
  • Web console
  • Karaf functions are ".kar files" which include packages and karaf user functions / commands.

Note that Karaf is part of ServiceMix (the original name was the core of ServiceMix), so it has very tight integration with Apache Camel, Apache CXF, and Apache ActiveMQ. Turning Karaf into an ESB with these features is trivial.

+27
Jul 01 '13 at 6:41
source share



All Articles