Apache Karaf est un sous-projet d' Apache Felix . Il est défini comme "un conteneur OSGi léger".
Je ne comprends pas quand dois-je utiliser le poids lourd et quand utiliser le poids léger. Leur site n'explique pas trop cela.
Apache Karaf est un sous-projet d' Apache Felix . Il est défini comme "un conteneur OSGi léger".
Je ne comprends pas quand dois-je utiliser le poids lourd et quand utiliser le poids léger. Leur site n'explique pas trop cela.
Réponses:
L'étiquette «conteneur OSGi léger» contraste avec Karaf avec des conteneurs OSGi plus riches en fonctionnalités, pas avec Felix .
Pour citer Guillaume Nodet (l'auteur de Karaf) d'ici :
Felix n'est que le moteur d'exécution principal d'OSGi. Karaf fournit une "distribution" basée sur Felix en ajoutant d'autres fonctionnalités telles qu'une console, un mécanisme de communication à distance SSH, un déployeur de fichiers et plus encore.
Dans ce diagramme de l'architecture Karaf, Felix (ou une autre implémentation OSGi - Equinox est également supporté actuellement) est la box OSGi, les autres cases sont les fonctionnalités ajoutées par Karaf:
Par conséquent, à moins que vous n'ayez des besoins spécifiques qui ne sont pas satisfaits par Karaf (nécessitant un accès à l'implémentation sous-jacente), il est généralement judicieux de l'utiliser car il fournit plus «prêt à l'emploi».
@Marcel Karaf n'est pas monolithique ou énorme comme un serveur Java EE. C'est une mise en œuvre 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 pour que vous puissiez réellement lire les fichiers de configuration, etc. Le dernier fichier zip est de 19,1 Mo. Ouais. Petit. Il peut facilement fonctionner sur de petits appareils et fonctionner en mode intégré.
Ce à quoi vous pensez peut-être, c'est quelque chose qui ressemble plus à ServiceMix qui utilise Karaf comme noyau / noyau. Mais il inclut CXF, ActiveMQ, Camel et d'autres bibliothèques dans sa configuration complète. Même dans ce cas, ils ont des tailles minimales, moyennes et complètes.
Vraiment, pour 99% des projets, il ne serait pas logique de commencer directement avec Felix et de ne pas utiliser Karaf à la place.
Actuellement, il existe trois conteneurs OSGi open source populaires:
- Equinox. It is the modular Java runtime at the heart of the Eclipse IDE, - Knopflerfish, Is an open source implementation of the OSGi R3 and OSGi R4 specifications. - Apache Felix. Is the open source OSGi container from the Apache Software Foundation.
Le projet Apache gère un conteneur OSGi à usage général appelé Felix. Ici est utilisé comme ServiceMix et
La principale différence entre ServiceMix et Karaf est que ServiceMix regroupe un tas d'autres composants d'intégration - le courtier de messages ActiveMQ, le moteur de routage Camel et d'autres choses.