OSGi против Spring против Struts против EJB vs. Hibernate - вопрос совершенно нового пользователя - PullRequest
13 голосов
/ 27 августа 2010

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

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

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

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

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

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

Ответы [ 3 ]

13 голосов
/ 27 августа 2010

«vs» неверно, потому что многие из них могут использоваться вместе.

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

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

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

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

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

10 голосов
/ 27 августа 2010

Что ж, возможно, вы могли бы попытаться прочитать что-нибудь о них?

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

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

0 голосов
/ 28 февраля 2011

Я также предлагаю вам прочитать кое-что о GWT .Ребята из Google прилагают все усилия, чтобы объяснить всю веб-архитектуру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...