2013-06-27 29 views
47

Jestem trochę zdezorientowany tym, czym jest Apache Karaf.Czym dokładnie jest Apache Karaf?

można powiedzieć, że Apache Karaf obejmuje, między innymi:

  • Apache Felix (która jest implementacją OSGi 4.2 ram)
  • Apache Baran (która jest implementacją standardu Blueprint)
+15

Pracuję z OSGi od prawie dziesięciu lat i też nie rozumiem punktu Karaf ;-) –

+0

Powiązane pytanie http://stackoverflow.com/questions/1612120/osgi-what-are-the -differences-between-apache-felix-and-apache-karaf –

Odpowiedz

53

TLDR: Apache Karaf ma znacznie więcej "baterii w zestawie". Może również działać w dowolnym środowisku wykonawczym OSGI.

Apache Felix (która jest implementacją OSGi 4.2 ram)

Rodzaju. Apache Karaf może używać Apache Felix. Apache Karaf może również używać Equinox lub innego środowiska wykonawczego OSGi. Domyślnie pobieranie standardowego Apache Karaf pochodzi z Apache Felix.

Apache Baran (który stanowi implementację standardu Blueprint)

Ponownie rodzaju. Standardowe pobieranie Apache Karaf pochodzi z Apache Aries domyślnie.

Teraz porozmawiajmy o tym, co OSGI (Apache Felix, Equinox) jest i co jest Apache Karaf:

OSGI jest bardzo prosta. Możesz uruchomić środowisko wykonawcze OSGI w swojej aplikacji, a nawet go nie zauważyć. Powłoka, możliwość szybkiego instalowania z folderu, instalacja z maven repo itp. Są to wszystkie dodatki, których OSGI nie musi wykonywać i są dostarczane przez dodatkowe projekty, takie jak Karaf, GOGO lub Pax

Teraz do Apache'a Karafa:

Jest to zasadniczo środowisko OSGI, które zapewnia dodatkowe korzyści poza standardową implementacją OSGI. Ponieważ Apache Karaf jest zbudowany na standardowym OSGI, może teoretycznie działać na dowolnym środowisku wykonawczym OSGI. Daje to jednolity interfejs do pracy z środowiskami wykonawczymi OSGI.

Niektóre gadżety Apache Karaf zapewnia, że ​​nie będzie widać w Apache Felix bez jakiejś dodatkowej pracy:

  • Folder oparty gorąco rozmieszczania
  • A (IMHO) lepiej niż konsola domyślny GoGo. (org.apache.karaf.shell)
  • Zdalny dostęp SSH do tej konsoli. (org.apache.karaf.shell.ssh)
  • Scentralizowany system rejestrowania. (org.apache.karaf.log)
  • Ma własny sposób dostarczania pakietów i poziomów początkowych. (org.apache.karaf.features)
  • Karaf ma również własne wtyczki maven.

prawie wszystko tutaj:

http://mvnrepository.com/search.html?query=org.apache.karaf *

wspominałem Karaf mający swój własny sposób na zasilenie wiązek i rozpocząć poziomów. Apache Karaf ma również zestaw gotowych do użycia. Wiem, że Apache Felix również jest dostępny za pośrednictwem OBR, ale Apache Karaf ma znacznie więcej "baterii w zestawie".

28

Apache Karaf to szwajcarski nóż wojskowy do uruchamiania "rzeczy" OSGi i rzeczy nieobsługiwanych przez OSGi jako OSGi.

Felix i Aries są domyślne, ale ramy można podłączyć, więc działa równorzędnie.

  • "Unix jak" shell dostępny z CLI lub SSH
  • Hotdeploy wiązek
  • może oddelegować prawie wszystko jako pakiet (zwykły JAR, wiosna xml, plan, etc)
  • plików WAR
  • Wdrażanie z maven - w tym autowrapping non OSGi bundles.
  • Konsola internetowa
  • Funkcje Karaf - pliki ".kar" obejmujące pakiety i niestandardowe funkcje/polecenia karaf.

Uwaga: Karaf jest częścią ServiceMix (początkowa nazwa to jądro ServiceMix), więc ma bardzo ścisłą integrację z Apache Camel, Apache CXF i Apache ActiveMQ. Przekształcenie Karaf w ESB z tymi cechami jest banalne.