|
|
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Всем добрый день! Поясните пожалуйста плюсы и минусы EJB по сравнению со Spring. В каких случаях стоит использовать первый, в каких второй? Правильно ли я понимаю, что в целом они решают сходные задачи, но: 1. в Spring в отличие от EJB отсутствует кластеризация; 2. в отличие от EJB для реализации управления транзакциями Spring должен подключаться к JDBC/Hibernate etc.; 3. Spring в основном используется для разработки web-приложений, в то время как EJB - для разработки корпоративных проектов (не web); 4. EJB - часть Java EE, в то время как Spring - просто альтернатива EJB. В интернете много статей на эту тему, но я хочу как-то систематизировать инфу, а она пока не особо укладывается:-( Большое спасибо!:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2017, 21:45 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Natalia_1412771. в Spring в отличие от EJB отсутствует кластеризация; Это громкое и поверхностное заявление. Как именно в EJB работает кластеризация спецификации не говорят. Поэтому кластеризация в EJB это то как реализует её EJB контейнер. В тоже самое время навернуть любое opensource решение для кластеризации на Spring не составляет никаких сложностей. И вы вольны сами решать как именно у вас будет реализована кластеризация. Natalia_1412772. в отличие от EJB для реализации управления транзакциями Spring должен подключаться к JDBC/Hibernate etc.; Это заявление высосано из пальца. Spring может точно так же пользоваться и JTA транзакциями как и EJB, если у вас они реализованы. В тоже время транзакции в реальной жизни всё равно упираются в базу данных. Распределенные транзакции, которыми так сильно кичится JEE в реальной жизни не нужны. А когда нужны, то зачастую они нужны совсем не так как реализовал их ваш контейнер. Natalia_1412773. Spring в основном используется для разработки web-приложений, в то время как EJB - для разработки корпоративных проектов (не web); Это голословное заявление даже комментировать нет смысла. Нет никаких четких граней между web\не web. "Корпоративные" проекты это вообще любые проекты для бизнеса. Natalia_1412774. EJB - часть Java EE, в то время как Spring - просто альтернатива EJB. Да. Но это не всегда плюс. То что в спецификации не сказано реализовано контейнером. И если у вас есть средства на хороший контейнер, вы получите полноценную реализацию. А если возьмете opensource контйнер, то и получите тот же opensource что и Spring. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2017, 11:42 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Natalia_141277но я хочу как-то систематизировать инфу, а она пока не особо укладывается не в той плоскости критерии. Спринг был как догоняющий, а теперь стал полноценной заменой. Поэтому и говорить, что вот тут спринг, а вот тут EJB не приходится. Natalia_1412773. Spring в основном используется для разработки web-приложений, в то время как EJB - для разработки корпоративных проектов (не web); Вы говорите тут об _инструменте_ разработки веб и десктоп. Но сейчас сама постановка веб и десктоп со стёртыми гранями. Если в той и той команде профессионалы, то они сделаю веб неотличимым от десктоп. ... Natalia_141277В каких случаях стоит использовать первый, в каких второй? рассмотрите другой критерий - Стратап проект или нет)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2017, 13:20 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Petro123Если в той и той команде профессионалы, то они сделаю веб неотличимым от десктоп.Не сделают. Хотя и (по)стараются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2017, 13:21 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovНе сделают. Хотя и (по)стараются. Как посмотреть). В ветке Проектирование ИС про это 140 страниц. Один этот факт говорит о том что грани стираются. ... Конечно, я понимаю разницу и она есть. Её просто стало меньше. И с этим не поспорить). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2017, 13:35 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Чтобы стереть разницу между "толстыми" и "тонкими" требуется специализированный браузер. А эту задачу пока никто не решил - всё лепится из подручных средств. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2017, 13:38 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЧтобы стереть разницу между "толстыми" и "тонкими" требуется специализированный браузер. я разницу вычислял как юзверь или потребитель. А не как программист. По ГОСТ это функциональные требования. В них не входи что там под капотом. ЗЫ Я считаю протокол виноват, но это OFF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2017, 13:47 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
В каких случаях лучше использовать EJB, в каких - Spring? Есть ли какие-то рекомендации? Или можно считать Spring полноценной заменой EJB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2017, 13:48 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Natalia_141277Есть ли какие-то рекомендации? Для всех всех случаев и особенностей? Вы лучше сужайте тему, т.к. вы на спринг сами 2 года. 140 страниц тут вряд ди будет)) IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2017, 13:55 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Natalia_141277В каких случаях лучше использовать EJB, в каких - Spring? На вкус и цвет. Нет никаких фактических критериев. Есть обстоятельства. Natalia_141277Или можно считать Spring полноценной заменой EJB? Нет. Spring умеет на много больше чем EJB и успешно заменяет весь JEE стэк. Именно с EJB вообще пересечений не так много. У вас очень отдаленное представление об обеих технологиях, поэтому вы даже полезные для себя вопросы не можете сформулировать. Скачайте спецификацию EJB в PDF. Скачайте любую книгу по Spring или откройте хотя бы мануал. Не нужно всё это читать. Прочитайте содержание и просмотрите информацию об одном и другом выхватывая отдельные абзацы. Тогда у вас будет поверхностное понимание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2017, 17:18 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
ejb - одна из сомнительных технологий в джаве, я б не связывался, если есть выбор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2017, 19:31 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Детали не главное. Главное- это подходы. Насколько я знаю, EJB не имеет смысле баз JavaEE (забыл, как оно теперь называется). EJB это часть JavaEE. Это стандарт, подразумевающий релазизацию всего сразу- от доступак БД и сетевого взаимодействия до веб-ui. Это такой windows-style. Spring- это набор компонентов, реализующих часть функциональности JavaEE. Вместе с кучкой других компонент (на выбор) можно собрать нужный стек технологий. При этом можно брать некоторые куски от JavaEE (тот же hornetQ - часть jboss, вроде хорош сам по себе). Тут unix-стайл - выбираешь нужные компоненты и собираешь свой велосипед. Соответственно JavaEE выбирают чаще те, кому не хочется разбираться во всём этом, а хочется сделать быстро. Но, как обычно, расплатой за это- проблемы при попытке заставить работать это на доступном железе, или обойти недостатки конкретной реализации. PS: а в целом- монолитные сервера на основе JavaEE или Spring уже не то- надо микросервисы делать, когда каждую задачу делает небольшой сервер, а общаются они через API/БД,сообщения/.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2017, 20:17 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Alexey TominДетали не главное. Главное- это подходы. Насколько я знаю, EJB не имеет смысле баз JavaEE (забыл, как оно теперь называется). EJB это часть JavaEE. Это стандарт, подразумевающий релазизацию всего сразу- от доступак БД и сетевого взаимодействия до веб-ui. Это такой windows-style. Spring- это набор компонентов, реализующих часть функциональности JavaEE. Вместе с кучкой других компонент (на выбор) можно собрать нужный стек технологий. При этом можно брать некоторые куски от JavaEE (тот же hornetQ - часть jboss, вроде хорош сам по себе). Тут unix-стайл - выбираешь нужные компоненты и собираешь свой велосипед. Соответственно JavaEE выбирают чаще те, кому не хочется разбираться во всём этом, а хочется сделать быстро. Но, как обычно, расплатой за это- проблемы при попытке заставить работать это на доступном железе, или обойти недостатки конкретной реализации. PS: а в целом- монолитные сервера на основе JavaEE или Spring уже не то- надо микросервисы делать, когда каждую задачу делает небольшой сервер, а общаются они через API/БД,сообщения/.. Спасибо большое, помогли, ответ приблизительно в таком ракурсе я и хотела получить:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 18:53 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за инфо!:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 21:49 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Natalia_141277Спасибо большое, помогли, ответ приблизительно в таком ракурсе я и хотела получить:-) Небольшое уточнение. Нельзя противопоставлять Spring и EJB. Т.к., по большому счету, spring это "обертка", в том числе и над EJB. Т.е. spring никоим образом не отменяет EJB, а наоборот, использует его в некоторых случаях. Spring работает вместе с EJB, а не вместо EJB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 04:34 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, Мягко стелишь) Если стартап начать на спринге, та мало что от EJB останется. Выбирать придётся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 07:19 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Petro123mad_nazgul, Мягко стелишь) Если стартап начать на спринге, та мало что от EJB останется. Выбирать придётся. Зачем? По идее можно продолжить на EJB. Как минимум бины, можно использовать EJB-ные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 17:46 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Blazkowicz Это заявление высосано из пальца. Spring может точно так же пользоваться и JTA транзакциями как и EJB, если у вас они реализованы . В тоже время транзакции в реальной жизни всё равно упираются в базу данных. Распределенные транзакции, которыми так сильно кичится JEE в реальной жизни не нужны. А когда нужны, то зачастую они нужны совсем не так как реализовал их ваш контейнер. У вас это у кого? Что значит реализовать транзакции ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 18:07 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, Ок. Я назову спринг как не просто обёртка, а самодостаточная обёртка. Суть в новом проекте, а не в том чтобы не выкидывать из старого. Насчёт бинов, не уверен, что это пригодится. Imho. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 18:07 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
questioner, Это значит выбрать менеджер транзакций. Например, jta это просто api ....begin ..end. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 19:09 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
questioner, Более интересно, что в ee бин может быть связан с транзакцией даже при отключении базы). А в хибере пошли проще - тразакции делать как можно короче). И баста. Эх, люблю простые решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 19:13 |
|
||
|
Spring vs EJB
|
|||
|---|---|---|---|
|
#18+
Natalia_1412774. EJB - часть Java EE, в то время как Spring - просто альтернатива EJB. Не просто альтернатива. Вкратце дело было так. Первые версии JEE были тяжелыми для восприятия. Тогда группа товарищей разработала Spring как альтернативу JEE. Разработчики стали покидать JEE и переходить на Spring. Тогда JEE радикально переформатировалась, позаимствовав многое из Spring'a. Это описано в https://en.wikipedia.org/wiki/Java_EE_version_history Так что когда-то Spring был альтернативой JEE, а теперь наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 23:46 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2122491]: |
0ms |
get settings: |
10ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 395ms |

| 0 / 0 |
