2009-10-23 9 views

Répondre

194

L'étiquette est contrastante Karaf avec plus fonction « conteneur OSGi léger » conteneurs OSGi riches, pas avec Felix.

Pour citer Guillaume Nodet (l'auteur de Karaf) from here:

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

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

Karaf Architecture Par conséquent, À moins que vous n'ayez des besoins spécifiques qui ne sont pas satisfaits par Karaf (nécessitant l'accès à la mise en œuvre sous-jacente), il est généralement logique de l'utiliser, car il fournit plus de «prêts à l'emploi».

+2

Merci. Cela efface la confusion :) – GabiMe

+0

Merci, grande et propre explication. – eduardohl

+4

Une caractéristique intéressante de tout conteneur OSGi est que vous pouvez sélectionner uniquement les paquets dont vous avez besoin et les déployer dans votre conteneur. Donc, mon conseil serait d'abord l'architecture de votre application, puis choisissez ce dont vous avez besoin. Le conseil pour "installer simplement toute la plate-forme parce qu'elle est riche en fonctionnalités" ressemble un peu à revenir aux énormes serveurs d'applications Java EE. Maintenant, je ne dis pas qu'Apache Karaf est à peu près aussi grand que ceux-là, je fais simplement remarquer que vous pouvez et devriez simplement déployer ce dont vous avez réellement besoin. –

3

@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 noyau sans beaucoup de fonctionnalité autre qu'une console de base, chargement de dossier de sorte que vous puissiez réellement lire des fichiers de configuration, etc. Le dernier fichier zip de celui-ci est 19.1 MB. Ouais. Petit. Il peut facilement fonctionner sur de petits appareils et fonctionner en mode embarqué. Ce que vous pouvez penser est quelque chose de plus comme 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 alors, 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.

-1

Actuellement, il y a 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. 

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. ici est utilisé comme ServiceMix et

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

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

Questions connexes