127 votes

OSGi: Quelles sont les différences entre Apache Felix et Apache Karaf ?

Apache Karaf est un sous-projet d'Apache Felix. Il est défini comme "un conteneur OSGi léger".

Je ne comprends pas quand je devrais utiliser le conteneur lourd et quand utiliser le conteneur léger. Leur site n'explique pas cela en détail.

206voto

Matthew Murdoch Points 11530

Le libellé du « conteneur OSGi léger » contraste Karaf avec des conteneurs OSGi plus riches en fonctionnalités, pas avec Felix.

Pour citer Guillaume Nodet (l'auteur de Karaf) d'ici:

Felix est simplement le temps d'exécution de base de l'OSGi. Karaf fournit une « distribution » basée sur Felix en ajoutant d'autres fonctionnalités telles qu'une console, un mécanisme de télécommande SSH, un déployeur de fichiers et plus.

Dans ce diagramme de l'architecture de Karaf, Felix (ou une autre implémentation OSGi - actuellement Equinox est également pris en charge) est la boîte OSGi, les autres boîtes sont les fonctionnalités ajoutées par Karaf:

Architecture de Karaf Par conséquent, sauf si vous avez des besoins spécifiques qui ne sont pas satisfaits par Karaf (nécessitant l'accès à l'implémentation sous-jacente), il est généralement judicieux d'utiliser cela car il fournit plus de fonctionnalités « prêtes à l'emploi ».

8voto

Ranx0r0x Points 71

@Marcel Karaf n'est pas monolithique ou énorme comme un serveur Java EE. C'est une implémentation très mince et minimaliste. C'est un produit de base sans beaucoup de fonctionnalités autres qu'une console de base, le chargement de fichiers afin que vous puissiez réellement lire des fichiers de configuration, etc. Le dernier fichier zip de celui-ci est de 19,1 Mo. Oui. Petit. Il peut facilement fonctionner sur de petits appareils et fonctionner en mode embarqué.

Ce que vous pourriez penser, c'est quelque chose de plus proche de ServiceMix qui utilise Karaf comme un cœur/noyau. Mais il inclut CXF, ActiveMQ, Camel et d'autres bibliothèques dans sa configuration complète. Même alors, ils ont des tailles minimale, moyenne et complète.

Vraiment, pour 99% des projets là-bas, il n'aurait pas de sens de commencer directement avec Felix et de ne pas utiliser Karaf à la place.

0voto

Alejandro Hdz Points 31

Actuellement, il existe trois conteneurs OSGi open source populaires:

  - Equinox. Il s'agit du moteur d'exécution Java modulaire au cœur de l'IDE Eclipse,
  - Knopflerfish, est une implémentation open source des spécifications OSGi R3 et OSGi R4. 
  - Apache Felix. Est le conteneur OSGi open source de la Fondation Apache.

http://www.javaworld.com/article/2077837/java-se/java-se-hello-osgi-part-1-bundles-for-beginners.html

Le projet Apache maintient un conteneur OSGi à usage général appelé Felix. Il est utilisé comme ServiceMix et

La principale différence entre ServiceMix et Karaf est que ServiceMix regroupe plusieurs autres composants d'intégration - le courtier de messages ActiveMQ, le moteur de routage Camel, et quelques autres choses

According: http://kevinboone.net/osgitest.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X