OSGi против Spring против Struts против EJB против Hibernate - вопрос совершенно нового пользователя

Я вообще не знаком с этими "базовыми" "компонентами", но может ли кто-нибудь дать мне 101 представление о том, как они связаны друг с другом? В основном, я хочу примерно узнать о:

  1. что и что является аналогом друг другу

  2. что и что является дополнительной технологией (например, A в качестве основы можно использовать с B в качестве компонента)

  3. какие громкие имена я пропустил в списке выше, который я должен нет?

Кто-нибудь может дать мне вступление высокого уровня? Прочитав первые два ответа, может кто-нибудь дать более подробное объяснение о Spring против OSGi - находятся ли они на отдельном рынке (Enterprise vs. Mobile)?

Большое спасибо

13
задан sean 26 August 2010 в 21:42
поделиться

2 ответа

Ну, может, попробуешь что-нибудь про них почитать?

  • Struts — это фреймворк для создания веб-сайтов поверх «технологии» сервлета Java
  • Spring — это «контейнер» с внедрением зависимостей для управления конфигурацией программ Java (т. компоненты вместе)
  • Hibernate — это объектно-реляционная структура отображения для моста реляционных баз данных (RDMS) и объектно-ориентированных программ.
  • EJB — часть спецификации Java Enterprise Edition. Смысл их состоял в том, чтобы продать много дорогих серверов приложений от Oracle, BEA и IBM. Они потерпели неудачу (ну, немного); следовательно, Spring
  • OSGi - это «контейнер» для управления приложением, состоящим из нескольких компонентов, где вы хотите поменять местами реализации модулей (или обновить их) без перезапуска системы. Изначально он был ориентирован на рынок мобильных телефонов, и я никогда не сталкивался с ним «на предприятии»

. Это в некоторой степени ортогональные технологии, то есть они не исключают друг друга. Например, Spring теперь дополняет OSGi, а технология сервлетов является подмножеством Java EE.

10
ответ дан 1 December 2019 в 22:06
поделиться

Неверный вариант "vs", поскольку многие из них можно использовать вместе.

  • OSGi — это метод модуляризации (а не фреймворк). Это дает вам возможность разделить ваше программное обеспечение на независимые модули, которые могут сосуществовать в разных версиях, с другими модулями и без них.

  • Spring — облегченный контейнер внедрения зависимостей. Это позволяет вам связывать ваши компоненты, определяя их зависимости и позволяя фреймворку создавать и настраивать их, что обеспечивает большую гибкость (здесь не могу сказать больше модных словечек).

  • Struts — MVC, основанная на действиях структура — используется на веб-уровне

  • EJB — бизнес-компоненты JavaEE — вы размещаете свою бизнес-логику в Enterprise JavaBeans, и у вас есть обработка транзакций, обработка состояний (JMS) потребление сообщений, таймеры и т. д. из коробки

  • Hibernate — решение ORM (объектно-реляционное сопоставление) — в основном оно позволяет вам работать с объектами (oop), когда у вас есть реляционная база данных в качестве хранилище данных.

13
ответ дан 1 December 2019 в 22:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: