OSGi: Blueprint vs. Spring DM
Я немного смущен о Blueprint и Spring DM:
Из того, что я думаю, верно:
- Spring DM - это структура, определенная Spring Source
- Blueprint - это структура, определенная Alliance OSGi
- Blueprint "взял" многие из своих идей из Spring DM
Нет
Можно ли ожидать, что эти две структуры станут едиными в будущем (слияние)? Если нет, какой из них будет самым надежным в будущем?
Ответы
Ответ 1
OSGi 4.2 представляет спецификацию службы Blueprint на основе Spring Проект динамических модулей, для которого Spring DM (2.x) является Эталонная реализация (RI).
Короче: Blueprint - это спецификация, Spring DM - это реализация Blueprint API
Ответ 2
Blueprint был разработан в OSGi Alliance под руководством SpringSource/Interface21.
Однако, если вы ищете способ использовать OSGi, используйте Declarative Services (DS) с аннотациями между пакетами (службами). По моему опыту, вам действительно не нужен проводной XML, когда вы делаете небольшие связные связки. DS намного лучше работает с сервисами, чем Blueprint/ Spring DM, поскольку они склонны "скрывать" динамичность, в то время как DS просто делает ее тривиальной для использования.
Ответ 3
Я понимаю, что SpringDM - это мертвый проект. Проверьте даты GA и даты выпуска. Поэтому, хотя он в значительной степени способствовал разработке спецификации, в конце концов, у него был плохой подход к загрузчикам классов. Apache-Aries - это сильная реализация. Обратите внимание, что использование чертежа не исключает использования spring. Я бы предложил Karaf как надежную платформу, которая может использовать Eclipse Equinox или Apache Felix для движка OSGI. Мне нравится дизайн по сравнению с DS, если вы разрабатываете на уровне приложений, где ваши службы могут использоваться другими командами или организациями на вашем предприятии или расширены вашими клиентами. Я думаю, что план также лучше подходит для традиционных корпоративных вычислительных сред. Но DS или Ipojo могут быть более подходящими в зависимости от конкретной целевой среды.
Ответ 4
В дополнение к тому, что ответил Дмитрий Пищухин, следует отметить, что проект Spring DM - это несколько мертвый проект, так как DM 2 никогда не достигла версии "выпуска".
Вместо этого он был внес вклад в фонд Eclipse, где он мутировал в проект Близнецы Blueprint.
Ответ 5
Во вступлении в документацию Близнецов Blueprint они четко объясняют разницу:
http://www.eclipse.org/gemini/blueprint/documentation/reference/1.0.2.RELEASE/html/index.html
Я воспроизвожу здесь:
Глава 1. Spring Динамические модули становятся Eclipse Gemini Blueprint
В конце 2009 года, в качестве участника проектного предложения Gemini, SpringSource внедрил Spring Dynamic Modules (также известный как Spring OSGi) проект в Eclipse Foundation. Spring База данных DM v2 была перенесена на Eclipse.org вместе со своим трекером и форумом. Проект стал двойной лицензией по лицензии Apache и EPL.
Пока имя изменилось, код и его функции остались прежними. Существующие приложения Spring DM могут быть легко перенесены в Eclipse Gemini Blueprint, как указано в руководстве по миграции.