Thursday, April 02, 2009

Apache Karaf

ApacheCon was really interesting this year! Recently, a lot of people have expressed a real interest in ServiceMix Kernel, our generic OSGi distribution for server side applications. We've been discussing moving this subproject into Apache Felix for several reasons:
  • raise the visibility and awareness on ServiceMix Kernel
  • attract a broader community

Several Apache projects are planning to use ServiceMix Kernel as their container: this includes Apache James, Apache Directory and Apache ActiveMQ. The Apache Sling community is also willing to contribute to this effort along with some other groups like the OPS4J project.

During this discussion, a name as been proposed by Jamie Goodyear: Apache Karaf.
A carafe is a small container used for serving wine and other drinks (http://en.wikipedia.org/wiki/Carafe). In similarity to the name the Kernel allows applications to be more easily handled, and improves their characteristics (much like a bottle of wine left to breath in a decanter) :)

I have to thanks Jamie for this name, I really like it. Plus the K might eventually fill a hole in the list of Apache projects and also reminds the Kernel.

Moving into Felix does not mean that Karaf will be tied to the Felix OSGi runtime. We haven't really worked on that yet, but the goal is to be able to use either Felix or Equinox runtimes inside Karaf. Maybe we'll provide two different distributions in the future...

Today, both ServiceMix and Felix community have voted and accepted this move. I think this is a great news for ServiceMix Kernel users, for the Apache communities and for all OSGi users and I'm really excited about that...

6 comments:

IgorHVR said...

Hello!

I would like to download a copy of your ssh server in Java - however google is giving me a permission denied when I try to access the URL you published in your post: http://gnodet.blogspot.com/2008/11/ssh-server-in-java.html

The url that gives error is: http://code.google.com/p/sshd/

Searching in code.google.com didn't yield any results.

Is this available anywhere else?

- igorhvr

Guillaume Nodet said...

As I wrote in December, the code is now available as an Apache Mina subproject at http://mina.apache.org/sshd/

peter royal said...

For those that are just getting their feet wet with OSGi, how does Karaf compare to just using "raw" Felix?

It sounds like there are advantages, but its not entirely clear to me.

Guillaume Nodet said...

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 more. You can have an overview of the provided features at http://servicemix.apache.org/kernel/ .

In addition we have a provisioning mechanism that can be used to deploy at runtime or build time (though this needs to be simplified a bit) additional features such as a web container.

Of course nothing can't be rewritten, but in short the difference is the same as between a framework and a container.

Nico said...

Hi Guillaume,

How is karaf migration process to felix going on ?
Both websites (http://cwiki.apache.org/SMX4/index.html and http://felix.apache.org/site/apache-felix-karaf.html) refers to Karaf. SMX4 refers to ServiceMix kernel 1.1.0 whereas felix website refers to Karf 1.0.0. Are they the same piece of software ?
Also the user's guide on felix has some dead links.
So, could you tell me what is the current up-to-date source of informations concernin Karaf ?
Thanks,
Nicolas.

Guillaume Nodet said...

Karaf is still in the process of being moved to Felix. We now use felix infrastructure (svn, mailing list, jira issue tracker and web site) for development, but there is still lot of work to do (package renaming, fix the web site, etc...).

If you want a stable version, you should use the ServiceMix Kernel web site and distribution until Karaf is in a more stable state.