2012-01-23 16 views
15

Szukam sposobów wdrażania i aktualizacji aplikacji OSGI (Karaf). Wygląda na to, że istnieje kilka opcji. Jedną z nich jest użycie repozytorium pakietów OSGi (OBR), innym jest użycie funkcji w Karaf, a trzecia to użycie Karaf Cave.Jaka jest różnica między funkcjami w Karaf i OBR

Nie jestem pewien, czy te opcje są naprawdę różne. Wydaje się, że wszyscy robią to samo. Czy są to po prostu różne implementacje tej samej funkcjonalności? Czy ktoś mógłby wyjaśnić różnice lub podać jakieś zalecenia?

Odpowiedz

38

Funkcje Karaf i OBR to różne sposoby rozwiązania (rodzaju) tego samego problemu. Oba umożliwiają instalację pakietów OSGi w strukturze OSGi, ale w jaki sposób decydują, które pakiety do zainstalowania są inne.

Dzięki funkcji Karaf udostępniasz plik (feature.xml, say), który jawnie wyświetla adresy URL wszystkich pakietów dla tej funkcji. Mogą żyć w systemie plików lub w repozytorium maven lub gdziekolwiek indziej, które można opisać za pomocą adresu URL.

OBR, z drugiej strony, opracowuje pakiety do opracowania na podstawie wymagań i możliwości. Wypracuje przejściowe zależności od tego, co instalujesz, jako punkt wyjściowy i upewni się, że wszystkie zostaną zainstalowane. Zwykle należy skonfigurować jeden lub więcej zewnętrznych repozytoriów obsługujących format OBR, a następnie resolver OBR w środowisku wykonawczym dostarczać pakiety z tych repozytoriów. Możesz więc powiedzieć "Potrzebuję pakietu org.foo" lub "Potrzebuję usługi OSGi, która implementuje org.bar", a dostawca zdecyduje, które pakiety najlepiej odpowiadają Twoim wymaganiom. OBR jest bardziej elastyczny i ogólny niż funkcje Karafa, ale może to być przesada, jeśli dopiero instalujesz dobrze zdefiniowany zestaw pakietów w ramach, która jest już przygotowana do potrzebnej infrastruktury. Nie pomaga także, jeśli pakiety, które składają się na twoją aplikację, nie mają zależności od siebie - musisz je wszystkie uwzględnić w swoim "zestawie startowym".

Rozróżnienie zostaje nieco zamazane, ponieważ funkcje Karaf pozwalają na określenie zakresów wersji w adresach URL, więc nawet z funkcją można być nieco elastycznym w tym, co zostanie udostępnione. Funkcje Karaf mają również współdziałanie z OBR, dzięki czemu możesz napisać plik definicji cech pod względem wymagań OBR.

Wierzę, że Jaskinia Karaf to implementacja OBR z kilkoma funkcjami. Więc jest to serwer, a nie nowa "technologia", jak funkcje lub dostarczanie OBR.

- Enterprise OSGi w działaniu: http://www.manning.com/cummins

+2

self-reklamuje właściwą drogę;) dobra odpowiedź, dzięki! – Kjellski

+0

"ale może to być przesada, jeśli dopiero instalujesz dobrze zdefiniowany zestaw pakietów do frameworka, który jest już gotowy do korzystania z potrzebnej infrastruktury" i przejechałem go do tego artykułu ... może pewnego dnia , ale jeszcze nie teraz :) – sloven

Powiązane problemy