LINUX.ORG.RU

Сравнение стеков Spring и Java EE. Современное состояние

 , ,


4

5

Лекция в офисе компании FoxmindEd прошла 25.02.2018.

Слайды: https://drive.google.com/file/d/0B38igFDHEy45Z251OGE0Zi1mblE/view

Лекция: https://www.youtube.com/watch?v=HMT6jgZ5Pls

Сергей Немчинский, имея за спиной 20 летний опыт программирования на Java, сравнивает две параллельно развивающиеся технологии.

Предлагаю обсудить мнения от лекции и свои собственные впечатления от использованных технологиях (у кого они есть).

★★★★★

Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от iZEN

Я лично зарекся что то новое рендерить на jsp. Связка jaxrs и spa на ангуляре/реакте работает отлично. Процесс разработки параллелится если изначально описать все api в нотации swagger. Что особенно напрягало в spring-е: 1)спонтанный отвал инъекций «на ходу» в ibm-мовском сервере приложений. 2)Как то много всего в спригровых приложениях находили сканеры уязвимостей. Например, какие то дефолтные страницы ошибок с рефлексией, которые сразу же помечаются как хранимый xss и сканирование провалено. Когда мне приперло посмотреть спринговый код для борьбы с traversal то у меня сложилось впечатление, что там не фикс уязвимости (полный фикс очень много ресурсов займет), а обман конкретных сканеров. Причем обмана того, которым наш проект проверяли увы не было.

Сейчас много нового на связке microprofile (wildfy swarm) и статическом фронте. Релиз фронта вообще не зависит от java-части так как это просто копирование файликов на nginx. Ничего не отваливается. Сканирования и пентесты проходятся легче. Поддержка субъективно легче. Также в микропрофайле есть сахарок вроде метрик и healtcheck практически изкоробочно. Opentracing тоже без проблем получилось заиспользовать.

Быть может я сталкивался только с неправильно приготовленным spring но мне он совершенно не зашел по сравнению с теми кусками ЕЕ, которыми я часто пользуюсь.

anonymous
()
Ответ на: комментарий от iZEN

TomEE пробовали для своих проектов использовать?

Нет, не пробовали. У нас jboss с 4-ой версии, раз в две версии обновляемся. Так как Wildfly живее всех живых, нет смысла менять шило на мыло, благо Wildfly сильно перепилили в плане модульности.

Irben ★★★
()
Ответ на: комментарий от foror

который будут находить поисковые системы, то только Tapestry

Каким образом это зависит от инструмента разработки?

Serg_HIS
()
Ответ на: комментарий от anonymous

Я лично зарекся что то новое рендерить на jsp.

Так на замену JSP и других MVC-движков на его основе и был придуман фреймворк JSF.

iZEN ★★★★★
() автор топика
Ответ на: комментарий от Serg_HIS

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

Как косвенный продукт этих трат рождаются выродки типа J2EE и JSF в частности. Честно говоря, очень давно не слежу за этой темой. Но раньше, в порядке вещей, например, было добавлять JSESSIONID в URL. За JSF точно не помню, но и там помню хватало проблем с URL-ми.

Понятно, ты можешь даже JavaScript запустить на сервере и отдать клиенту полученный HTML, как это делают современные хипстеры из-за недостатка в квалификации сделать что-то по умнее.

Но если тебе не нужны вот эти все свистопляски и ты малый/средний бизнес, без откатов, грантов и инвесторов. И хочешь делать веб-сайт за свои деньги на джаве, то Tapestry твой единственный верный выбор на данный момент.

foror ★★★★★
()
Ответ на: комментарий от iZEN

Спасибо за рекомендацию, но меня не вдохновило как-то. Какие с твоей точки зрения плюсы по сравнению с подходом когда API отдельно, фронт отдельно?

anonymous
()
Ответ на: комментарий от anonymous

Java EE - это спецификация (JSR-*) и реализация в конкретных серверах приложений. Бывают сервера с эталонной реализацией полного API (JBoss, GlassFish, WebLogic, WebSphere), бывают движки с реализацией только отдельных API (Tomcat, TomEE, Jetty).

https://en.wikipedia.org/wiki/List_of_application_servers

iZEN ★★★★★
() автор топика
Ответ на: комментарий от stevejobs

04.03.2018 10:04 Java EE переименован в Jakarta EE

///---http://www.opennet.ru/opennews/art.shtml?num=48194 Некоммерческая организация Eclipse Foundation, которой компания Oracle передала разработку и управление проектом Java EE (Java Platform Enterprise Edition), подвела итоги голосования по смене имени проекта. Смена имени инициирована, так как компания Oracle отказалась передать Eclipse права на использование торговой марки Java. В итоге голосования, в котором приняло участие почти 7 тысяч человек, решено переименовать Java EE в Jakarta EE. За Jakarta EE проголосовало 64.4% участников, второй вариант 'Enterprise Profile' набрал 35.6% голосов.

Представители Eclipse рекомендуют использовать имя Jakarta EE вместо имени EE4J, которое изначально использовалось в качестве названия проекта в Eclipse. Право на использование торговой марки Jakarta EE в сторонних продуктах будет предоставляться на основе прохождения специальной программы подтверждения совместимости.

Что касается открытого сервера приложений GlassFish c эталонной реализацией спецификации Java EE/Jakarta EE, который также перешёл в руки Eclipse, то решено именовать его «Eclipse Glassfish». Рабочая группа Java Community Process будет именоваться Eclipse EE.next Working Group, а управляющий разработкой комитет Oracle преобразован в группы Eclipse Enterprise for Java (EE4J) и Project Management Committee (PMC). ---///

iZEN ★★★★★
() автор топика
Ответ на: комментарий от Irben

Пробовал работать с GlassFish 5.0 и WildFly 12 в Apache NetBeans IDE 9-prerelease. Оба сервера интегрировались, ими можно управлять прямо из IDE.

Примеры Java EE 8 работают, но, правда, среда не поддерживает профиль Java EE 8 в полном объёме - только Java EE 7 или 6 можно выбрать для новых проектов. До сих пор нет бесплатных IDE, которые делают это в полном объёме (проверки и т.д.). Может JDeveloper способен?

iZEN ★★★★★
() автор топика
Ответ на: комментарий от iZEN

Eclipse считаешь фу?

У меня к стати был сложности при переносе проекта со стеклорыбы в муху. за пару часов не разрулил с Security Realm потом забил и остался на рыбе. Давно дело было правда. Как там сейчас с этим?

Serg_HIS
()
Ответ на: комментарий от Serg_HIS

Eclipse по жизни недоделанный какой-то.

за пару часов не разрулил с Security Realm

А в чём затык?

iZEN ★★★★★
() автор топика
Ответ на: комментарий от Serg_HIS

По крайней мере, хотелось бы вникнуть в проблему.

iZEN ★★★★★
() автор топика
Ответ на: комментарий от Serg_HIS

От собственных фреймворков, обновлённых и связанных.

iZEN ★★★★★
() автор топика
Ответ на: комментарий от iZEN

Может JDeveloper способен?

Понятия не имею, увы. Даже не пробовал данный продукт.

Примеры Java EE 8 работают, но, правда, среда не поддерживает профиль Java EE 8 в полном объёме - только Java EE 7 или 6 можно выбрать для новых проектов.

А вот это какой-то позор. NetBeans и GlassFish были эталонными продуктами для EE, но Оракл, видать, уже давно хотел отделаться от EE, потому и не реализовал последний стандарт (по-крайней мере в IDE). Интересно, что будет с GlassFish, смысла развивать данный продукт для Оракла не много.

Irben ★★★
()
Ответ на: комментарий от Irben

NetBeans и GlassFish были эталонными продуктами для EE, но Оракл, видать, уже давно хотел отделаться от EE, потому и не реализовал последний стандарт (по-крайней мере в IDE). Интересно, что будет с GlassFish, смысла развивать данный продукт для Оракла не много.

NetBeans IDE отдана фонду Apache - http://netbeans.apache.org/

GlassFish отдан Eclipse - https://projects.eclipse.org/projects/ee4j/

EJB придумала и внедрила IBM. Проект Eclipse - тоже детище IBM.

NetBeans изначально была студенческой поделкой. В общем, всё вернулось на круги своя.

iZEN ★★★★★
() автор топика
Ответ на: комментарий от iZEN

GlassFish отдан Eclipse - https://projects.eclipse.org/projects/ee4j/

Вооо, вот это я пропустил. У них, конечно, нет ничего для скачивания, но теперь буду знать, кто предоставляет эталонную реализацию EE. Ждём релиз.

Что касается NetBeans, коричневые цвета навсегда запомнились мне, так как очень напоминают, гхм, какахи (=

Irben ★★★
()
Ответ на: комментарий от Irben

И NetBeans перевели с Mercurial на Git - начало конца.

iZEN ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.