OSGi vs Spring vs Struts vs EJB vs. Hibernate - полностью новый вопрос
Я не знаком с этими "рамками" "компонентов" вообще, но может ли кто-нибудь дать мне представление о том, каковы отношения между собой? В принципе, я хочу знать примерно о:
-
что и что представляют собой друг друга
-
что и что является дополнительной технологией (например, A в качестве рамки может использоваться с B как компонент)
-
Какие большие имена я пропустил выше списка, который у меня не был бы?
Может ли кто-нибудь дать мне вступительное слово на высоком уровне? Прочитав первые два ответа, может ли кто-нибудь дать больше объяснений о Spring и OSGi - они находятся на отдельном рынке (Enterprise vs. Mobile)?
Большое спасибо
Ответы
Ответ 1
"vs" неверен, потому что многие из них могут использоваться вместе.
-
OSGi - это метод модуляции (а не каркас). Это дает вам возможность отделить ваше программное обеспечение от независимых модулей, которые могут сосуществовать в разных версиях, с другими модулями и без них.
-
Spring - легкий контейнер для инъекций зависимости. Он позволяет подключать ваши компоненты, определяя их зависимости и позволяя создавать и настраивать инфраструктуру, тем самым обеспечивая большую гибкость (здесь не может быть больше слов).
-
Struts - MVC, основанная на действии инфраструктура - используется в веб-уровне
-
EJB - бизнес-компоненты JavaEE - вы размещаете свою бизнес-логику в Enterprise JavaBeans, и у вас есть обработка транзакций, обработка состояния (JMS), таймеры и т.д. из коробки
-
Hibernate - решение ORM (объектно-реляционное сопоставление) - в основном это позволяет работать с объектами (oop), когда у вас есть реляционная база данных в качестве хранилища данных.
Ответ 2
Ну, вы могли бы попробовать что-нибудь прочитать о них?
- Struts - это среда для создания веб-сайтов поверх технологии Java-сервлетов.
- Spring - это "контейнер контейнера зависимостей" для управления конфигурацией программ Java (т.е. соединения ваших компонентов вместе).
- Hibernate - это объектно-реляционная структура отображения для связывания реляционных баз данных (RDMS) и объектно-ориентированных программ.
- EJB - входит в спецификацию Java Enterprise Edition. Суть их состояла в том, чтобы продать много дорогостоящих серверов приложений от Oracle, BEA и IBM. Они потерпели неудачу (ну, немного); следовательно, Spring
- OSGi - это "контейнер" для управления приложением, состоящим из нескольких компонентов, где вы хотите поменять местами реализации модулей (или обновить их) без перезапуска системы. Он начал ориентироваться на рынок мобильных телефонов, и я никогда не сталкивался с ним "на предприятии".
Это в некоторой степени ортогональные технологии, т.е. они не являются взаимоисключающими. Spring теперь дополняет OSGi, например, и технология сервлетов является подмножеством Java EE.
Ответ 3
Я также предлагаю вам прочитать что-то о GWT. Ребята из Google приложили все усилия, объясняя всю связанную с Интернетом архитектуру.