|
|
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
svenom1) Что использует приложение? Если ему нужно EJB, JPA с XA транзакциями, то что проще - купить ту же WebSphere с уже готовыми реализациями EJB, JPA и иже с ними, где IBM их будет вылизывать с ного до головы, оперативно реагировать на баги и предоставлять прочие плюшки лицензионного ПО, или же взять Томкат, в который потом запихнуть какой-нибудь опен-сорсный OpenEJB, разработчики которого вам ничего не должны + хз, как оно вообще заведется с томкатом? Если приложение мелкое, а бабал нет - не вопрос, мудимся с Tomcat, если с деньгами нормуль - покупаем готовое коробочное решение, вместо попыток скрестить коня с ослом. В такие плюшки AppServer-ов входят EJB, JDBC - всякие коннекшн пулы, WebService - с кучей всякий плюшек по всяким WS-Security, WS-Adressing и прочих WS-*, JMS и т.д.SpringSources предоставляет саппорт и на сам Спринг и на Tomcat под него. Сами же еще и "облачные" системы предлагают поверх этого. Если приложение завинчено на EJB то никуда от JavaEE не деться. А если пишете сами, то что удобнее использовать "универсальный самосвал на 100 тонн" или "скрестив два колеса с двигателем получить мотоцикл" - тут уже выбор архитектора. Что ему больше нужно для решения - многотоннажный самосвал или спортивный байк ;) svenom2) Возможности инфраструктуры. Вот нужно моему приложению работать с MQ, оно заведется на Tomcat? Ну, с кучей возни и проблем, гляди и заведется. А в сфере заводится с пол-щелчка, используя все плюшки и особенности MQ. А вот мне надо приложение воткнуть в ESB-шину. Что делать? В той же сфере шина поднимается в лет, мгновенно интегрируется со всякими security realm'ами и JMS'ами. А томкат что? MQ заводится на Spring + Tomcat в той конфигурации в которой нужно. А можно вообще вынести MQ на отдельную машину и разгребать месседжи с нескольких нод. svenomДалее - кластеризация и кеширование, high availability. У каждого вендора свои плюхиСтоит знать, что Spring также предлагает подобные возможности ;) svenom4) Чуть не забыл - а как с еарниками то быть? при работе со спрингом можно работать и с WAR и с EAR. Tomcat это способ запустить Спринг попутно получая бонусы. Можно и на полноценном JavaEE гонять Spring. Вопрос - нужно ли? ИМХО если проект не очень архитектурно странный, то проще его запилить в виде WAR и гонять на более легких серверах нежели WebSphere. PS WebSphere это наверное круто и интересно. Но в опыте моей компании я не нашел задач которые на WebSphere решались бы лучше, чем кастомное решение на Spring (+ любой подходящий контейнер). выбор WebSphere был только по соображениям маркетинга или из-за хорошо залеченных топ-менеджеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 15:59:57 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
VoDA... Ну т.е. как я и говорил апп сервера - это понты ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:02:51 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
VoDAСтоит знать, что Spring также предлагает подобные возможности ;)Можно ссылочку на эту "возможность" спринга? Спринг мне может кластер организовать? VoDAИМХО если проект не очень архитектурно странный, то проще его запилить в виде WAR и гонять на более легких серверах нежели WebSphere.Можете привести критерии "странности" проекта? VoDAWebSphere это наверное круто и интересно. Но в опыте моей компании я не нашел задач которые на WebSphere решались бы лучше, чем кастомное решение на Spring (+ любой подходящий контейнер). выбор WebSphere был только по соображениям маркетинга или из-за хорошо залеченных топ-менеджеров.Ок все ясно, вы основываетесь на своем негативном опыте и пытаетесь его экстраполировать на все случаи. Бывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:03:18 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
svenomСпринг мне может кластер организовать? Spring это универсальный клей. JBoss Tree Cache либо Terracotta приклеиваются к нему на раз. И что главное - вы сами себе выбираете стратегию и топологию кластеризации. В JEE как реализовано, так и будете использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:07:34 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
svenom... Погугли Cluster4Spring ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:08:49 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
justforsqlruПросто часто слышу типа "нахера эти сервера приложений" взял томкат прикрутил spring и все работает.Tomcat + Spring это конструктор который при должном умении позволяет собрать мотоцикл, гоночный болид или кран. А может самолет или самосвал - зависит от задачи. Сервера приложений - это собранные за вас самосвалы. Что вам больше подходит решение собранное специально под вас или коробка, где все запаяно и закрыто - решать только вам. justforsqlruВот и интересно стало если сервера приложения все же живы значит кто то их юзает.Кому то стабильность нужна намного сильнее чем скорость работы или скорость разработки. К примеру банки. Вот они и покупают готовые решения. Еще коммерческие (сильно платные) сервера приложений могут работать в едином кластере, когда версии серверов входящих в кластер - различны. Это позволяет произвести миграцию на новую версию серверов без остановки кластера. В Spring подобное тоже реализуется, но это потребует усилий. Ибо нужно заранее просчитать такой вариант и подготовиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:08:58 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
VoDAСервера приложений - это собранные за вас самосвалынет, их можно тюнить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:14:49 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
VoDATomcat + Spring это конструктор который при должном умении позволяет собрать мотоцикл, гоночный болид или кран. А может самолет или самосвал - зависит от задачи. Сервера приложений - это собранные за вас самосвалы. Что вам больше подходит решение собранное специально под вас или коробка, где все запаяно и закрыто - решать только вам.У меня начинает закрадываться ощущение, что вы меня троллите. Правильная метафора будет такова: 1) Tomcat (спринг тут абсолютно ни при чем) - это строительная площадка, на которой валяется молоток и пара гвоздей. При желании вы покупаете нужные вам материалы и инструменты и строите, что захотите. 2) AppServer - это строительная площадка, на которую уже пригнали кучу оборудования и интсрументов. Если хотите - используете то, что уже дано для построения своего проекта. Если хотите - точно так же идете в магазин и покупаете нужные вам инструменты. То есть если в АппСервере изначально есть молоток, то это вовсе не значит, что вы обязаны его использовать. Хотите используйте, хотите купите другой. А потому фраза VoDAгде все запаяно и закрытонапрочь лишена смысла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:15:36 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
Более того, кто запрещает использовать Spring в АппСерверах? У нас в огромной куче проектов на АппСерверах стоит Спринг. Все потому, что спринг это реализация DI. Она во многих моментах гибче и удобней, чем EJB. А потому выбор Tomcat+Spring или JavaEE сервер - бессмысленен по сути. На самом деле выбор идет между Tomcat или JavaEE сервер, а потом ищут вопрос на ответ "как реализовывать DI?" - через EJB или через Spring, или через что-нить еще (если DI вообще нужен в проекта, разумеется) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:19:12 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
svenomгде все запаяно и закрытонапрочь лишена смысла.[/quot] Вы когда нибудь смотрели код стабов ejb-шных Особенно в местах где стоит строка типа (Throwable e) {} По вашему это не запаяно и не закрыто ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:20:16 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
justforsqlruВы когда нибудь смотрели код стабов ejb-шных Особенно в местах где стоит строка типа (Throwable e) {} По вашему это не запаяно и не закрыто ?По-моему вы не поняли, о чем идет речь. VoDA утверждает, что АппСервер это некая жестка предопределенная инфраструктура, которая вносит определенные ограничения на разрабатываемое ПО. Типа "использовать только реализацию EJB, которая идет в комлпекте". Но дело в том, что это глупость, так как сервер приложений вообще никак не ограничивает разработчика. Не понравилась реализация EJB из коробки - ну ок, положи свою, которая тебе нравиться. Вы же вообще ушли от обсждения "сервер приложений vs контейнер сервлетов", в сторону "открытые исходники vs закрытые исходники". Это к теме разговора вообще никакого отношения не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:25:25 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
svenom.... Ну тогда поясните нахрена юзать аппсервер при условии что EJB мы не юзаем ? Только ради кластера ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:26:34 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
svenomОк, ИМХО, так ИМХО.это мое мнение сложившееся за то время пока возможности были в Spring и отсутствовали в JavaEE. И поддержанное некоторыми Sun-инженерами. Когда еще был Sun. svenomВы можете пояснить, почему оно не будет работать? И как спринг магическим образом эту проблему решает? ты прав :) спринг это делает удобным. посмотрев что удобно JPA использовать в WAR без дополнительного секса - это перенесли в JavaEE. Опять же я не говорю, что это принципиально не удобно. Мысль, что идея EJB Lite была навеяна под вилянием Spring. svenom Class B = new ClassB(); b.call(); 1) Определяли ли мы в контексте бин, соответствующий классу B? (Моя догадка: нет) 2) Загружен ли у нас класс B в JVM по итогам работы сниппета выше? (Моя догадка: да) Еще раз - спринг вообще никак не управляет загрузкой компонентов.Пример довольно кособок увы. А где применение IoC? Или вы EJB через new создаете? В данном примере Spring вообще не нужен как и JavaEE. Теперь вас один вопрос: Вы Spring хотя бы год-два в продакшен проектах использвали? (Моя догадка: нет). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:27:31 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
justforsqlruНу тогда поясните нахрена юзать аппсервер при условии что EJB мы не юзаем ?Вы знаете, какие задачи решает EJB и зачем он нужен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:27:43 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
svenom Код: java 1. 2. 3. 4. 5. 6. Попробую набрость прямо здесь пример (в виде псевдо-кода). Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Теперь конфиг: Код: xml 1. 2. 3. 4. Вопросы: будет ли класс B загружен класслоадером? очевидно нет - не одного запроса на загрузку не пошло. почему в вашем случае класс B был загружен? очевидный ответ - класс B был инстанциирован напрямую. PS сорри если где криво набросал - писать код в браузере то еще удовольствие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:28:48 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
svenomjustforsqlruНу тогда поясните нахрена юзать аппсервер при условии что EJB мы не юзаем ?Вы знаете, какие задачи решает EJB и зачем он нужен? Встроенная поддержка транзакций Секурити Что то еще забыл ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:29:36 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
svenomЯ выше приводил мотивацию использования серверов приложений. Их мотивация мне не известна, вполне вероятно, как и вам. Состояние рынка труда я привел выше - делайте выводы, что сдувается, а что нетИх мотивация мне понятна :) поработав и с тем и с другим я сделал выводы. рынок труда вещь странная - ее нужно анализировать оченьаккуратно. к примеру у нас в вакансиях обычно значятся Tomcat, JBoss, WebSphere. Вы нас наверное во все три группы впишите... только проектов на Tomcat+Spring около десятка, а WebSphere - один. JBoss вообще указан как самый часто используемый ибо флагман открытых АппСерверов, но у нас он не применяется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:32:37 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
VoDA но у нас он не применяется. Во точно Везде пишут что требуется знание EJB + (Weblogic m JBOSS) А реально местные давно апп сервак выкинули и все на томкат переписали. Так что хх не показатель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:34:47 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
justforsqlruНу т.е. как я и говорил апп сервера - это понты ?Эм. Это однобокое понимание проблемы. АппСервера имеют свои преимущества, кастомные решения на Spring - свои. Если мне поставят решение собрать кластер "по быстрому" - я соберу на JBoss минут за 20 с учетом скачивания и инсталляции. А если "по грамотному", то я же буду долго и вдумчиво медитировать над конфигурацией кластера и сделаю за месяц на Spring с нагрузочным тестированием и проверкой сколько параллельных обращений он выдержит. Есть и нюансы типа того, что GWT на некоторых АппСерверах не дружит с JPA Entity. Т.е. чтобы передать данные на клиента их приходилось перекладывать в вид промежуточных DTO. Баг довольно известный. Потому при работе с GWT я возьму Spring. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:38:13 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
VoDAты прав :) спринг это делает удобным. посмотрев что удобно JPA использовать в WAR без дополнительного секса - это перенесли в JavaEE. Опять же я не говорю, что это принципиально не удобно. Мысль, что идея EJB Lite была навеяна под вилянием Spring.Можете пояснить, в чем заключается "дополнительный секс"? VoDAПример довольно кособок увы. А где применение IoC? Или вы EJB через new создаете? В данном примере Spring вообще не нужен как и JavaEE.Замечена либо поптыка троллинга, либо полное непонимание предмета разговора. Я вам напомню, к чему привел этот пример: авторjar ники конечно maven закидывает. только если конфигурация компонента не прописана в applicationContext, то и компонент не грузится самим Спрингом - к нему просто нет обращений.Взято отсюда 0 11757407 . То есть вы утверждаете, что именно спринг отвечает за то, что грузить, а что нет. Если какой-либо класс либы не прописан в контексте, то она, дескать, и не грузится вовсе. Мой пример как раз показывает случаи, когда есть две либы и одна грузит другую без какого-либо участия спринга. Если вы не можете осмыслить этот пример, то давайте я упрощу вам задачу - Hibernate требуется javassist для своей работы. Вопрос: вы в контексте спринга что-нибудь из javassist прописываете? Ну там бины какие-нибудь? (Моя версия: нет) Вопрос: javassist загружает при работе с Hibernate? (Моя версия: да) Вопрос: как же тогда объяснить такой парадокс - либы нет в спринге, но она загружается? Дальше идем, интересные вопросы: VoDAА где применение IoC? Или вы EJB через new создаете? То есть вы убеждены, что в приложении все работает через Spring, используя DI? И все сторонние либы тоже его используют? Причем тут EJB я вообще не понял - про него речи не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:38:30 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
svenomМожно ссылочку на эту "возможность" спринга? Спринг мне может кластер организовать?Спринг это конструктор. Под него можно подложить EhCache или Terracotta. svenomМожете привести критерии "странности" проекта?то что не может быть выполнено в рамках WAR-ника ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:40:11 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
VoDAпочему в вашем случае класс B был загружен? очевидный ответ - класс B был инстанциирован напрямую .Совершенно верно. Вы удивитесь, но в любом приложении 95-99% объектов инстанцированы напрямую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:40:15 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
justforsqlruВстроенная поддержка транзакций СекуритиК сожалению, вы забыли главное - DI. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:41:15 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
svenomВы удивитесь, но в любом приложении 95-99% объектов инстанцированы напрямую. Смелое заявление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:41:15 |
|
||
|
Какие приемущества использования IoC контейнера?
|
|||
|---|---|---|---|
|
#18+
grasoff.netVoDAСервера приложений - это собранные за вас самосвалынет, их можно тюнить.Я специально более гротескные примеры давал, чтобы можно было проще понять. Конечно АппСервера можно тюнить. Тот же JBoss имеет несколько заранее подготовленных конфигураций для разных случаев. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2011, 16:42:01 |
|
||
|
|

start [/forum/topic.php?fid=59&startmsg=37573215&tid=2132896]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 337ms |
| total: | 506ms |

| 0 / 0 |
