2009-10-23 11 views

Odpowiedz

194

do „lekki kontener OSGi” etykieta jest bardziej kontrastowe Karaf m.in. pojemników bogaty OSGi, nie z Felix.

Cytując Guillaume Nodet (autor Karaf'S) from here:

Felix to właśnie środowisko wykonawcze rdzeń OSGi. Karaf zapewnia "dystrybucję" opartą na Felixie, dodając inne funkcje, takie jak konsola, mechanizm SSH, serwer plików i wiele innych.

W tym schemacie architektury Karaf, Felix (lub inna realizacja OSGi - obecnie Equinox jest również obsługiwane) jest skrzynka OSGi, pozostałe pola są funkcje dodane przez Karaf:

Karaf Architecture Dlatego chyba że masz konkretne potrzeby, które nie są spełnione przez Karaf (wymagające dostępu do podstawowej implementacji), zazwyczaj ma to sens, ponieważ zapewnia więcej "gotowości".

+2

Dzięki. To oczyszcza zamieszanie :) – GabiMe

+0

Dzięki, wielkie i czyste wyjaśnienie. – eduardohl

+4

Jedną z ciekawych funkcji dowolnego kontenera OSGi jest to, że możesz wybrać tylko potrzebne pakiety i wdrożyć je w swoim kontenerze. Tak więc moja rada to najpierw zaprojektować aplikację, a następnie wybrać to, czego potrzebujesz. Porada "po prostu zainstaluj całą platformę, ponieważ jest bogata w funkcje" brzmi trochę jak powrót do ogromnych serwerów aplikacji Java EE. Teraz nie mówię, że Apache Karaf jest wszędzie blisko, tak samo jak ja, tylko podkreślam, że możesz i powinieneś wdrożyć to, czego naprawdę potrzebujesz. –

3

@Marcel Karaf nie jest monolityczny ani wielki jak serwer Java EE. Jest to bardzo wąska i minimalistyczna implementacja. Jest to podstawowy produkt bez większej funkcjonalności niż podstawowa konsola, ładowanie plików, dzięki czemu można faktycznie odczytać pliki konfiguracyjne itp. Najnowszy plik zip to 19,1 MB. Tak. Mały. Można go łatwo uruchomić na małych urządzeniach i pracować w osadzonym.

To, o czym myślisz, to coś więcej niż ServiceMix, który używa Karafa jako jądra/jądra. Ale zawiera CXF, ActiveMQ, Camel i inne biblioteki w pełnej konfiguracji. Nawet wtedy mają one minimalne, średnie i pełne rozmiary.

Naprawdę, w przypadku 99% projektów na zewnątrz nie byłoby sensu, aby zacząć bezpośrednio z Felixem i zamiast tego używać Karaf.

-1

Obecnie istnieją trzy popularne pojemniki OSGi Open Source

- 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

Projekt Apache utrzymuje kontener OSGi ogólnego przeznaczenia o nazwie Felix. Tutaj jest używany jako ServiceMix i

Główną różnicą pomiędzy ServiceMix i Karaf że ServiceMix wiązki kilka innych komponentów integracyjnych - ActiveMQ Message Broker, silnik routingu wielbłądzie, i kilka innych rzeczy

Według: http://kevinboone.net/osgitest.html