Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Apache Karaf vs. Servicemix

Tags:

Is anyone using Karaf instead of Servicemix? If so, how did you come to this decision? I'm aware that Servicemix adds a layer of functionality around Karaf, just curious if Karaf is being used on its own and why...

like image 659
Ben ODay Avatar asked Aug 03 '11 16:08

Ben ODay


People also ask

Is Karaf a OSGi?

Karaf is not an OSGi framework. It's a OSGi runtime environment.

Is Apache Camel an ESB?

While Apache Camel, on its own, provides substantial EIP capabilities, it does not qualify as a genuine ESB. In comparison to Apache ServiceMix and other ESB solutions, it is missing several integral features, such as a message broker à la ApacheMQ and a container like Apache Karaf.

How do I cancel ServiceMix?

If you're running from the main console, exiting the shell using logout or Ctrl+D will also terminate the Karaf instance.

How does Apache Karaf work?

Remote: Apache Karaf embeds an SSHd server allowing you to use the console remotely. The management layer is also accessible remotely. Security: Apache Karaf provides a complete security framework (based on JAAS), and provides a RBAC (Role-Based Access Control) mechanism for console and JMX access.


Video Answer


1 Answers

We're using Karaf for a number of our applications. We were already using Camel (JMS and Esper) for integration between several different platforms (a JBoss 4.2 instance, a Tomcat and several Felix instances) and as this was working well there was little justification in migrating this too (which would have been cause to consider ServiceMix).

The only reason we have some Felix nodes, is that they're limited in use (on client desktops), rarely need/get updated and I wanted the smallest footprint for these nodes. For anything OSGi on the serverside we're using Karaf.

Karaf provides all of the features you'd expect and need for a production environment (see the apache-karaf tag's info). We do our development and testing against standard minimal framework (using pax-exam) but deploy to Karaf.

If you don't need an ESB, JCA, BPEL, etc but want a solid, tunable OSGi container, then Karaf on it's own is more than adequate. (And if you found yourself needing a limited subset of ServiceMix's functionality you can always install these in a Karaf instance).

You can also customise the Karaf distribution as part of a maven build - personally I like have the container as part of the application's build, as I can checkout, build and run the entire setup from the command line in minimal time.

Recently there's a clustering subproject of Karaf called Cellar using HazelCast, I not sure if this applies to ServiceMix too.

like image 77
earcam Avatar answered Nov 12 '22 22:11

earcam