Я вообще не знаком с этими "базовыми" "компонентами", но может ли кто-нибудь дать мне 101 представление о том, как они связаны друг с другом? В основном, я хочу примерно узнать о:
что и что является аналогом друг другу
что и что является дополнительной технологией (например, A в качестве основы можно использовать с B в качестве компонента)
какие громкие имена я пропустил в списке выше, который я должен нет?
Кто-нибудь может дать мне вступление высокого уровня? Прочитав первые два ответа, может кто-нибудь дать более подробное объяснение о Spring против OSGi - находятся ли они на отдельном рынке (Enterprise vs. Mobile)?
Большое спасибо
Ну, может, попробуешь что-нибудь про них почитать?
. Это в некоторой степени ортогональные технологии, то есть они не исключают друг друга. Например, Spring теперь дополняет OSGi, а технология сервлетов является подмножеством Java EE.
Неверный вариант "vs", поскольку многие из них можно использовать вместе.
OSGi — это метод модуляризации (а не фреймворк). Это дает вам возможность разделить ваше программное обеспечение на независимые модули, которые могут сосуществовать в разных версиях, с другими модулями и без них.
Spring — облегченный контейнер внедрения зависимостей. Это позволяет вам связывать ваши компоненты, определяя их зависимости и позволяя фреймворку создавать и настраивать их, что обеспечивает большую гибкость (здесь не могу сказать больше модных словечек).
Struts — MVC, основанная на действиях структура — используется на веб-уровне
EJB — бизнес-компоненты JavaEE — вы размещаете свою бизнес-логику в Enterprise JavaBeans, и у вас есть обработка транзакций, обработка состояний (JMS) потребление сообщений, таймеры и т. д. из коробки
Hibernate — решение ORM (объектно-реляционное сопоставление) — в основном оно позволяет вам работать с объектами (oop), когда у вас есть реляционная база данных в качестве хранилище данных.