2012-04-04 17 views
34

jestem trochę zagubiony Blueprint i wiosennym DM:OSGi: Blueprint vs. Wiosny DM

Z tego co myślę prawda:

  • Wiosna DM jest ramy określone przez wiosennym Źródło
  • Blueprint to ramy określone przez OSGi Alliance
  • Blueprint został „wzięty” to za wiele pomysłów od wiosny DM

Nie?

Czy możemy oczekiwać, że te dwie struktury staną się jednością w przyszłości (scalenie)? Jeśli nie, który będzie najbardziej przyszłościowy?

Odpowiedz

30

OSGi 4.2 wprowadza specyfikację usługi Blueprint oparciu o projektu Wiosna Dynamiczne moduły do ​​których Wiosna DM (2.x) jest realizacja odniesienia (RI).

W skrócie: Blueprint jest specyfikacją, Wiosna DM jest implementacją Blueprint API

+2

A w dzisiejszych czasach, następca Gemini Blueprint Wiosna DM jest wdrożenie odniesienia ([źródło] (http://www.eclipse.org/gemini/blueprint/documentation/reference/1.0.2.RELEASE/html/blueprint. html)) interfejsu API Blueprint. –

17

Blueprint opracowano w sojuszu OSGi pod kierownictwem SpringSource/Interface21.

Jeśli jednak szukasz sposobu na wykorzystanie OSGi, skorzystaj z usług deklaratywnych (DS) z przypisami między pakietami (usługami). Z mojego doświadczenia wynika, że ​​nie potrzebujesz kodu XML podczas tworzenia małych spójnych pakietów. DS znacznie lepiej radzi sobie z usługami niż Blueprint/Spring DM, ponieważ mają skłonność do "ukrywania" dynamiczności, podczas gdy DS sprawia, że ​​korzystanie z niej jest banalnie proste.

+1

do czego służy skrót DS? –

+3

@ArchimedesTrajano [Usługi deklaracyjne] (http://wiki.osgi.org/wiki/Declarative_Services) – pauli

+0

Dzięki, po prostu sprawdziłem link i myślę, że nadal będę zmierzać w kierunku Blueprint. –

12

Moje zrozumienie jest takie, że SpringDM is a dead project. Sprawdź daty GA i wydania. Chociaż w dużej mierze przyczynił się do rozwoju specyfikacji, to jednak miało złe podejście do klas ładujących. Apache-Aries to mocna implementacja planu. Zauważ, że użycie planu nie wyklucza użycia sprężyny. Proponuję, aby Karaf była solidną platformą, która może używać albo Eclipse Equinox lub Apache Felix dla silnika OSGI. Podoba mi się blueprint versus DS, jeśli rozwijasz się na poziomie aplikacji, gdzie twoje usługi mogą być wykorzystywane przez inne zespoły lub organizacje w twoim przedsiębiorstwie lub rozszerzane przez twoich klientów. Myślę, że blueprint jest również lepiej dopasowany do tradycyjnych środowisk komputerowych. Jednak DS lub Ipojo może być bardziej odpowiedni w zależności od konkretnego środowiska docelowego.

+1

Czy możesz podzielić się spostrzeżeniami/wskazówkami na temat "złego podejścia do ładunków klasy Spring DM"? Jestem ciekawy konsekwencji. – user1310749

2

We wstępie dokumentacji Blueprint Gemini wyjaśniają wyraźnie różnicę: http://www.eclipse.org/gemini/blueprint/documentation/reference/1.0.2.RELEASE/html/index.html

I reprodukowania tutaj:

rozdziale 1.Spring Dynamic Modules staje się Eclipse Gemini Blueprint

Pod koniec 2009 roku, jako członek projektu Gemini, SpringSource przekazał Spring Dynamic Modules (znany również jako Spring OSGi) projekt do Eclipse Foundation. Baza kodu Spring DM v2 została przeniesiona do Eclipse.org wraz z trackerem problemów i forum. Projekt został podwójnie licencjonowany na licencji Apache i EPL.

Po zmianie nazwy kod i jego funkcjonalność pozostały niezmienione. Istniejące aplikacje Spring DM można łatwo przenieść do Eclipse Gemini Blueprint, jak wspomniano w podręczniku migracji.