2012-02-01 19 views

Odpowiedz

25

Nieprecyzyjna analogia: Equinox to silnik, Virgo to samochód.

Equinox to środowisko wykonawcze z projektu Eclipse (alternatywy to Felix (z Apache) i Knopflerfish).

Virgo używa Equinoxu w swojej istocie, ale zapewnia wiele rzeczy, których można wymagać, jeśli używa się go w produkcji. Virgo jest w zasadzie projektem SpringSource dm Server przekazanym na rzecz Eclipse Foundation, więc oczywiście ma silne wsparcie dla wszystkich rzeczy Spring. Istnieje wiele podobnych produktów (Karaf (ServiceMix), a także liczne serwery aplikacji Java EE).

Środowisko wykonawcze OSGi to zazwyczaj bardzo małe środowisko (środowisko wykonawcze), wystarczające do uruchomienia/udostępnienia środowiska OSGi. Produkty takie jak Virgo oferują wspólną funkcjonalność produkcyjną/korporacyjną w spójny, przetestowany sposób i często obejmują zdalny dostęp do powłoki, obsługę aplikacji internetowych, bezpieczeństwo itp.

Możesz bezpośrednio pracować z środowiskiem wykonawczym, dodając każdą funkcję zgodnie z wymaganiami , ale chociaż może to być przydatne w systemach z ograniczonymi zasobami, zwykle wymaga to dużo wysiłku za niewielką nagrodę (oczywiście poza edukacją).

+3

Świetna odpowiedź, dodałbym, że Virgo wspiera koncepcję "podukładów" i podziału między regionem jądra a regionem użytkownika dla pakietów. Dzięki temu pakiety zainstalowane przez użytkownika nie mogą zakłócać działania jądra, a także umożliwiają wdrażanie niezależnych wysp funkcjonalności - zwanych również aplikacjami - bez interferencji krzyżowej. –

+2

Świetna odpowiedź. Tylko jedna korekta: Virgo to projekt SpringSource dm Server, który został wniesiony do Eclipse, a Gemini Blueprint to projekt Spring DM przekazany na rzecz Eclipse. –

+0

Poprawione, dziękuję Glyn – earcam

8

Z technicznego punktu widzenia Equinox to OSGi Framework, a Virgo to kontener. Kontener przejeżdża nad ramą i dodaje funkcjonalność. Konkurencyjnymi technologiami są Felix i Karaf, które są szkieletem OSGi firmy Apache Software Foundation (Felix) i kontenerem (Karaf). Różnica między ofertą ASF a fundacją Eclipse oferująca głównie to, że oferty Eclipse są referencyjną implementacją specyfikacji OSGI 4.2.

Implementacja referencyjna "podsystemy" w Pannie jest istotnym ulepszeniem dla skoordynowanego wdrażania zestawów pakietów. W Karafu używają mechanizmu wdrażania "cech". Główną różnicą między mechanizmem wdrażania "podsystem" i "funkcje" jest to, że w podsystemach można segregować określone zestawy bibliotek i uniemożliwić wykorzystanie ich pakietów poza zdefiniowanym podsystemem. Dzięki funkcjom wszystkie pakiety udostępniane innym bibliotekom są udostępniane w postaci kontenera.