Java EE 6 проти стеку Spring 3 [закрито]


90

Зараз я починаю новий проект. Я повинен вибирати технології. Мені потрібно щось легке, тому немає EJB або Шва. З іншого боку, мені потрібні JPA (Hibernate або альтернативний) та JSF з IceFaces.

Чи вважаєте ви, що такий стек на Spring 3, розгорнутий на Tomcat, є хорошим вибором? Або веб-додаток Java EE 6 може бути кращим? Я боюся, що Java EE 6 - це нова технологія, ще недостатньо документована. Здається, Tomcat простіше в обслуговуванні, ніж Glassfish 3.

Яка твоя думка? Чи є у вас досвід?


8
Якщо я хочу світло, я б пішов на primefaces.org замість IceFaces. Це набагато швидше і стрункіше API.
Шервін Асгарі

1
На даний момент є лише Glassfish, що постачає JEE6. Resin повільно впроваджує веб- профіль JEE6 , якого вам може бути достатньо, залежно від того, що вам потрібно.
Thorbjørn Ravn Andersen

3
@ Thorbjørn Ви можете використовувати веб-профіль GlassFish v3, якщо ви хочете лише веб-профіль.
Pascal Thivent,

@Pascal, це було докладно, що найближчим часом з’явиться альтернатива Glassfish отримати JEE6, якщо ти зможеш жити з веб-профілем (я можу), не кажучи вже про те, що Glassfish не може.
Thorbjørn Ravn Andersen

@ Thorbjørn Я забув видалити @ Thorbjørn :) Коментар був призначений для ОП, який, схоже, припускає, що використання "повного стеку" GFv3 є єдиним варіантом.
Pascal Thivent,

Відповіді:


101

Мені потрібно щось легке, тому немає EJB або Шва.

Поясніть, що робить EJB важкими з EJB3? Ви розумієте, що ми вже не в 2004 році? Я б дуже хотів прочитати ваше визначення світла та ваші аргументи (і я з задоволенням оновлю свою відповідь, бо я впевнений, що мав би сказати кілька твердих речей).

З іншого боку, мені потрібні JPA (Hibernate або альтернативний) та JSF з IceFaces.

Веб-профіль Java EE 6, який включає JSF 2.0, JPA 2.0, перевірку Bean, EJB 3.1 Lite, CDI, ... ідеально підходить для цього, і ви можете використовувати веб-профіль GlassFish v3 для запуску програми, створеної за допомогою веб-профілю Java EE 6 .

Чи вважаєте ви, що такий стек на Spring 3, розгорнутий на Tomcat, є хорошим вибором? Або веб-додаток Java EE 6 може бути кращим?

Ну, мені подобається ідея запускати мій код на власній платформі (Java EE), а не на власному контейнері (Spring). І я думаю, що Java EE 6 досить хороший (і це евфемізм, EJB 3.1 (Lite), JPA 2.0, JSF 2.0, CDI kick ass). Зауважте, що я був скептиком JSF, але я подивився ще раз, і JSF 2.0 з CDI настільки відрізняється, що я навіть не можу порівняти. І якщо ви не дивилися на CDI, дозвольте мені сказати вам, що це скеля.

Я боюся, що Java EE 6 - це нова технологія, ще недостатньо документована.

Java EE мені здається досить добре задокументованою. Це звучить як безкоштовна претензія. І, повірте мені чи ні, я починаю відчувати, що Spring ускладнюється, тоді як Java EE стає простішим.

Здається, Tomcat простіше в обслуговуванні, ніж Glassfish 3.

Ви щось пробували? Ви стикалися з якоюсь конкретною проблемою? Знову ж таки, це звучить як безкоштовна претензія.


2
Я просто після рейтингу великий проект, розроблений з EJB3.0 + Seam на JBoss з Drools, GraniteDS та деякими іншими. Я згоден Шов скелі! Але я витратив 50% розробок на передислокацію, перезапуск серверів, помилки розгортання, очищення тимчасових каталогів тощо. З іншого боку, продуктивність JBoss Tools була дуже низькою (я маю на увазі насправді - ctrl + простір і 10 секунд зависає) Це справді відбиває у мене можливість використовувати JEE6 що виглядає як запозичене з фреймворку Seam. Що стосується сервера, я не хочу думати про пули приєднання, jndi, jms, jmx, депозити вух. Мені потрібно щось, щоб накласти WAR і запустити за лічені секунди.
Piotr Gwiazda

6
@peperg Gaving King - це специфіка CDI (Weld being RI), тому ви знайдете схожість між Seam та CDI. Але CDI! = Seam, Java EE 6! = Seam, ваше сприйняття неправильне. Можливо, спробуйте веб-профіль GlassFish v3, ви будете здивовані (і як тільки буде визначено пул з'єднань, можна не надто турбуватися).
Pascal Thivent

8
Що це з людьми, які кажуть, що EJB важкі? Я використовую EJB v3.1, і вони просто анотовані. Коли вони кажуть важкий, вони мають на увазі продуктивність чи що?
arg20

13
@ arg20 - Це справді велике питання, і Паскаль справедливо просить пояснити, що в цьому контексті означає термін "важкий" (або "легкий"). Швидше за все це залишок старої ворожнечі між Весною та EJB. У перші дні EJB1 & 2 були концептуально важкими. Надмірний наголос на видаленні та видаленні компонентів, смішний багатослівний дескриптор розгортання XML та абсолютно божевільна кількість необхідних інтерфейсів, які мають бути реалізовані, дали їм дуже погану репутацію. З EJB3 (2006) це повністю змінилося, але люди, які залишили EJB у 2004 році на весну, іноді все ще думають, що його 2004 і EJB2 є останнім.
Arjan Tijms

7
Зверніть увагу, що на сторінці про Spring про це написано "Ми вважаємо, що: J2EE має бути простішим у використанні". Зверніть увагу, що вони використовують термін "J2EE", а не "Java EE", що було правильною назвою з моменту випуску Java EE 5 (я думаю). Це багато говорить про них ...
Vítor E. Silva Souza

32

Я не використовував JavaEE6.

Однак усі попередні версії JavaEE та EJB мене побили досить жорстоко, що я не буду йому довіряти, поки він не затвердиться як фактичний стандарт, а не лише як стандарт де-юре. Зараз весна все ще є фактичним стандартом.

Одуріть мене один раз, сором вам. Обдури мене двічі, сором мене. Обдури мене тричі, ЕЙБ.

Деякі будуть стверджувати, що Весна є власністю. Я міг би стверджувати, що реалізації постачальника специфікацій JavaEE були такими ж патентованими, якщо не більше.

Нещодавно я пережив серйозну конверсію, пов’язану із переміщенням купу Java-програм з JBoss на Weblogic. Усі програми Spring / Hibernate перенесені з нульовими змінами, оскільки в них були вбудовані всі необхідні бібліотеки. Усі програми, які використовували JPA, EJB та JSF, зазнали катастрофи для порту. Тонкі відмінності в інтерпретаціях JPA, EJB та JSF між серверами додатків спричинили всілякі неприємні помилки, які вимагали вічного виправлення. Навіть щось таке просте, як іменування JNDI, було абсолютно різним між AppServers.

Весна - це реалізація. JavaEE - це специфікація. Це ВЕЛИЧЕЗНА різниця. Я віддав би перевагу використанню специфікації, ЯКЩО специфікація була на 100% герметичною і абсолютно не мала місця для хитання у способах, як продавці застосовують цю специфікацію. Але специфікація JavaEE ніколи не була такою. Можливо, JavaEE6 є більш герметичним? Не знаю. Чим більше ви можете упакувати у своїй WAR і чим менше ви залежате від бібліотек AppServer, тим портативнішим буде ваш додаток, і це, зрештою, є причиною того, що я використовую Java, а не Dot-NET.

Навіть якщо специфікація герметична, було б приємно мати можливість оновити сервер додатків без необхідності модернізувати всі мої стеки технологій у всіх моїх програмах разом з ним. Якщо я хочу перейти з JBoss 4.2 на JBoss 7.0, я повинен врахувати вплив нової версії JSF на всі мої програми. Мені не потрібно враховувати вплив на мої програми Spring-MVC (або Struts).


1
Точно, це чудові міркування.
Палеш

1
Я погоджуюся з цим міркуванням, багато проблем, з якими я стикався, були із залежностями від реалізації специфікації контейнера. Значно менше болю від вбудованих бібліотек. Важко сперечатися, поза філософською перевагою специфікації.
Пітер Портер

Чудові міркування. Однак це ваш досвід навіть після JEE 6? Я розумію, що реалізація специфікацій App Server все ще може нашкодити - отже, та сама специфікація, реалізована App Server 1, може бути простою та ефективною, хоча не для App Server 2
Soumya

1
+1. також, сервер додатків змінюється в графіку операцій, де весна / сплячий режим знаходиться під контролем розробників. у середовищі великої компанії модернізація сервера додатків набагато більша.
Nathan Hughes

Я насправді не зрозумів точки зору про Dot-Net. Це така ж власність, як Spring, і розробляється єдиним постачальником, який є Microsoft. Чи можна це пояснити, будь ласка?
user1339260

23

Це не має значення. Java EE 6 досить хороший, і через наявні профілі він не є "важким" - ви просто будете використовувати веб-профіль.

Особисто я віддаю перевагу весні. Але у мене закінчуються раціональні аргументи проти Java EE 6 :)

(Як мені нагадав коментар - можливо, ви захочете спробувати RichFaces , а також ICEfaces та / або PrimeFaces - залежно від того, які компоненти вам потрібні).


1
Тож питання: "Чи є сенс використовувати повнофункціональний сервер додатків Glassfish просто занадто використовувати веб-профіль"?
Piotr Gwiazda

1
@peperg Використовуйте веб-профіль GlassFish v3, якщо ви просто хочете веб-профіль, див. мою відповідь.
Паскаль Тівент

Я опублікував тут кілька аргументів stackoverflow.com/questions/2822812/spring-3-0-vs-j2ee-6-0/… , скоріше взяті з точки зору "як взяти його у виробництво". Тож, можливо, це трохи заповнює ваш аргумент.
Олівер Дротбом,

@peperq, JBoss 6 вийшов у святкові дні.
Thorbjørn Ravn Andersen

17

Нещодавно одне із моїх клієнтських завдань включало оцінку Spring Stack Vs Custom frame stack Vs a Java EE Standards. Після місяця оцінки та створення прототипів я був не просто задоволений, а вражений набором функцій Java EE 6. Для будь-якої нової архітектури "корпоративного" проекту в 2011 році, і надалі я хотів би використовувати Java EE 6 та потенційні розширення, такі як Seam 3 або майбутній проект розширень Apache JSR299. Архітектура Java EE 6 впорядкована і включає найкращі з багатьох ідей з відкритим кодом, що розвинулися за останні кілька років.

Розглянемо наступні функції нестандартно: Управління подіями, Контексти та DI, Перехоплювачі, Декоратори, Веб-сервіси RESTful, інтегроване тестування із вбудованим контейнером, Безпека та багато іншого.

Більшість моїх результатів опубліковані в моєму блозі, де пояснюються ключові концепції Java EE 6, які можуть вам виявитися корисними.

Звичайно, жорсткого правила вибору фреймворку не існує. Java EE 6 може бути добре роздута для більш простих "веб-сайтів", які не потребують розширеного стану розмовного сеансу. Ви також можете вибрати Грааль або Грати! Рамки. Але для розмовних веб-додатків я не бачу кращого аргументу, чому Java EE 6 не підходить.


Java EE 6 просто неймовірно повільний, веб-профіль glassfish та glassfish просто дуже повільний, щоб почати порівнювати їх із jetty / tomcat / з чим завгодно. Тестування контейнера, що вкладається, також дуже повільне.
Палеш

15

Зараз, через деякий час, я маю досвід роботи зі стеками:

  • Java EE 5 + шов + GraniteDS + Flex
  • Весна 3 + Ваадін (на GWT)
  • Пружина 3 + JSF 2.0 (PrimeFaces)

Мої висновки:

  • Spring 3 набагато простіший за Seam (майже Java EE 6) і працює на Tomcat і Jetty! (Причал для розробки за допомогою плагіна maven - це подобається).
  • Я люблю Flex (я насправді був розробником Flex протягом тривалого часу, тому я упереджений), і якщо вам потрібен розширений інтерфейс і ви можете придбати FlashBuilder, скористайтеся цим, але скористайтеся цим серверним пакетом Spring + GraniteDS або BlazeDs. Якщо ви не можете придбати FlashBuilder, не витрачайте свій час.
  • Ваадін чудовий !. Процес розробки простіший, ніж Flex, але ви можете легко створити розширений додаток без HTML-безладу. Ви не напишете єдиний рядок JS. Вам просто потрібен якийсь CSS (у Flex він вам теж потрібен). Отже, якщо ваш інтерфейс програми буде поводитися як настільний додаток, і ви не можете (або не хочете) використовувати Flex - використовуйте Vaadin. Увага! У Ваадіна великі накладні витрати на JS для браузера.
  • Якщо ви створюєте простіший веб-подібний додаток, використовуйте JSF2.0 (з весняним серверним інтерфейсом, як зазначено вище). Вам потрібно буде боротися з HTML (я це ненавиджу), і створення розширеного інтерфейсу буде складніше, ніж Vaadin (особливо макети). Ви отримаєте полегшений HTML для повільніших браузерів / обчислювачів. Мені подобається PrimeFaces - це легко і добре задокументовано. Друге місце - IceFaces
  • Якщо ви створюєте веб-сайт (НЕ веб-додаток), де вам потрібно вкласти життя в HTML (замість того, щоб створити корпоративну програму, яка вписується в браузер), використовуйте Wicket (якщо ви віддаєте перевагу компоненту, витягніть позицію) або SpringMVC (якщо ви віддаєте перевагу шаблону на основі , поштовх) або просто скористайтеся програмою Play! рамки. Пам’ятайте, що створення розширених компонентів на основі даних буде набагато складніше, але ви будете мати контроль над кожним тегом html (ваш HTML / графічний дизайнер сподобається)

21
Я не розумію, як ваша власна відповідь стосується питання ...
Пере Вільє,

1
-1 Здається, прийняти цю відповідь дуже недоречно, оскільки в ній навіть не згадується Java EE 6. Більше того, вона не стосується жодного питання, піднятого в продуманому (і набагато більш голосованому) @Pascal Thievent. відповідь.
user359996

1
Насправді питання не є більш актуальним. JEE 6 зараз дуже зрілий, це було не в березні 2010 року, коли було задано питання.
Piotr Gwiazda

@PiotrGwiazda, яким чином змінився JEE 6 з тих пір? Тоді люди цього більше боялися, але в основному це був той самий JEE 6.
ymajoros

1
Я мав на увазі, що реалізації JEE6 є більш зрілими та доступними. JBoss 7 тепер стабільний, і доступно більше реалізацій. Спільнота зараз також більша. Більше інструментів та бібліотек тепер підтримує стек JEE 6.
Piotr Gwiazda

8

Прочитайте майбутнє Адама Бієна про підприємницьку Java ... зрозуміло (Java EE з / без Spring та Vice Versa) , включаючи коментарі, щоб отримати обидві сторони медалі. Я виберу Весну з кількох причин, і наступна - одна з них (відтворення одного з коментарів до допису)

"Я не впевнений, про який сервер Java EE 6 ви говорите. Існує сертифікована Glassfish та TMAX JEUS. Це займе досить багато часу (читайте: роки), поки версії WebSphere, WebLogic, JBoss тощо, сумісні з Java EE 6, не будуть виготовлені і можуть бути використані для реального застосування. Spring 3 просто потребує Java 1.5 та J2EE 1.4, тому їх можна легко використовувати майже у всіх середовищах '


6
Ми пройшли майже рівно рік тому, і JBoss AS 6, який підтримує Java EE 6, зараз використовується у виробництві.
Arjan Tijms

8

Моя думка базується на чомусь, про що не згадували інші, а саме про те, що код у моїй роботі, як правило, живе десятиліттями (буквально), а отже, те, що обслуговування є для нас дуже важливим. Обслуговування нашого власного коду та бібліотек, якими ми користуємось. Ми контролюємо наш власний код, але в наших інтересах, щоб бібліотеки, якими ми користуємось, підтримувались іншими протягом вищезазначених десятиліть чи більше.

Якщо коротко, я дійшов висновку, що найкращим способом досягти цього є використання реалізацій специфікацій Sun із відкритим кодом аж до вихідної JVM.

З реалізацій з відкритим кодом Apache Jakarta підтвердила підтримку своїх бібліотек, і нещодавно Sun зробив багато роботи з виробництва високоякісних реалізацій для Glassfish v3. У будь-якому випадку у нас також є джерело для всіх модулів, тому, якщо все інше не вдається, ми можемо підтримувати їх самі.

Технічні характеристики сонця, як правило, мають дуже суворе значення, оскільки реалізації, що відповідають специфікаціям, можуть бути легко замінені. Просто подивіться на контейнери сервлетів.

У цьому конкретному випадку я б порадив поглянути на JavaServer Faces просто тому, що він є частиною Java EE 6, що означає, що він буде доступний і підтримуватиметься дуже, дуже довго. Тоді ми вирішили збільшити за допомогою MyFaces Tomahawk, оскільки він дає деякі корисні доповнення, і це проект Джакарти.

У JBoss Seam чи інших немає нічого поганого. Просто вони зосереджуються не на такому важливому для нас питання технічного обслуговування.


Виявилося, що Java ServerFaces 2 в Java EE 6 може самостійно робити те, що нам потрібно для Tomahawk, з JSF 1. Це цілком здатний фреймворк (але трохи важкий XML)
Thorbjørn Ravn Andersen

Чудово, на жаль, люди, як правило, забувають, що програмне забезпечення створене для життя десятиліттями, і що довгострокова підтримка є вирішальним ключем.
timmz

6

Я бачу, як використовувати Spring, якщо у вас він уже є, але для нового проекту, який сенс? Я б пішов безпосередньо з Java EE 6 (ejb3, jsf2.0 тощо)

Якщо у клієнта все добре з Flex, подумайте. Використовуйте BlazeDS або подібний - без mvc. Ви можете витратити більше часу на цю частину (обмін даними між сервером та клієнтом), але ви маєте повний контроль з обох сторін.

Не використовуйте Vaadin, якщо ви не хочете вбити браузер. До того ж, ви витрачаєте більше часу на обхід коду, коли ваші сторінки ускладнюються. Крім того, ваш спосіб мислення потрібно буде повністю змінити, і все, що ви знаєте про стандартну розробку інтерфейсу, буде марним. Аргумент про те, що вам не потрібно використовувати HTML або JS, не має особливого сенсу. Ви все одно повинні це знати, навіть якщо ним не користуєтесь. Зрештою він відображається в HTML та JS. Потім спробуйте налагодити - переконайтеся, що у вас є кілька днів для простих речей. Крім того, я не уявляю веб-розробника, який не знає html / js.

Я просто не розумію, чому люди пробують усі ці абстракції замість того, щоб безпосередньо використовувати Java EE.


5

Чому в 2010 році досі тривають розмови про EJB у важкій вазі? Здається, люди не оновлюються в технологіях Java EE. Просто спробуйте, ви будете приємно здивовані тим, як спрощуються речі в Java EE 6.


4

Відповідь на ваші запитання залежить від вимог вашого проекту. Якщо вам не потрібні функції Java EE, такі як черги повідомлень, глобальні транзакції, керовані контейнером тощо, тоді використовуйте tomcat + spring.

Також з досвіду я виявив, що проекти, які вимагають великої кількості інтеграції веб-сервісів, планування, черг повідомлень, найкраще робити за допомогою деяких стеків Java EE. Хороша річ полягає в тому, що за допомогою Spring ви все ще можете інтегрувати модулі Java EE, що працюють на сервері додатків.

Java EE 6 сильно відрізняється від попередніх випусків, і насправді робить все набагато простішим. Java EE 6 поєднує в собі найкращі ідеї різноманітної спільноти Java - наприклад, Род Джонсон із Spring framework брав активну участь у створенні Injection Dependency Injection в Java EE 6. Перевага використання Java EE 6 полягає в тому, що ви кодуєте відповідно до стандарт, який може бути важливим у деяких організаціях для підтримки постачальників тощо.

GlassFish v3 підтримує Java EE 6, він досить легкий і запускається дуже швидко. Я використовую glassfish v3 для своїх розробок, і його дуже легко налаштувати. Він поставляється з дуже зручною для користувача консоллю адміністратора, яка дозволяє графічно адмініструвати ваш сервер.

Якщо ви використовуєте GlassfishV3 та JSF 2, тоді ви можете скористатися перевагами CDI-функцій Java EE 6, що дозволяє легко створювати розмови (наприклад, майстри, подібні до сторінок) у JSF.

Сказавши це, використання Java EE 6 також вимагає вивчення нового API. Залежно від доступних часових рамок, це може бути не найкращим вибором для вас. Tomcat існує віками, а комбінація tomcat + spring використовується багатьма веб-проектами, а це означає, що існує безліч документації / форумів.


Я не згоден з вашим першим реченням, вибір не полягає у використанні JMS чи ні. І я не думаю, що JSR-330 є настільки важливим у Java EE 6 (його більше існує з політичних причин), важливою частиною є JSR-299 (CDI). Принаймні, це моя думка.
Pascal Thivent,

Погодьтеся, існувала певна політика, пов’язана з JSR330 - проте вона є досить важливою, оскільки вона забезпечує загальну основу для введення залежностей в Java (SE або EE), а не робить DI технологією лише JEE. Крім того, він підтримується Spring framework і Google Guice, що означає, що спростить перенесення Spring / Guice коду на JEE6 або навпаки. JSR299 також був розроблений з метою розширення функцій JSR330. Ви маєте рацію в тому, що для веб-додатків у JEE6 JSR299 є абсолютно важливим. Завдяки цим двом JSR, JEE6 та Spring мають дуже схожу модель програмування. Дякуємо за ваш коментар!
Raz

3

Я працював як у Spring, так і в Java EE 6. Що я можу сказати зі свого досвіду, так це те, що якщо ви збираєтеся користуватися віковим JSP або власною системою Flex, то ви перебуваєте в безпеці, якщо залишаєтесь із Spring.

Але якщо ви хочете рухатись вперед із JSF, настав час перейти на Java EE 6. З Java EE 6 ви переходите на Facelets та стандартизовані бібліотеки сценаріїв та бібліотеки компонентів. Більше немає несумісності сценаріїв та матриць бібліотеки компонентів.

Що стосується Spring MVC, це добре, якщо ваш проект не стає занадто великим. Якщо це величезний корпоративний додаток, дотримуйтесь Java EE 6. Оскільки лише так ви можете упорядковано підтримувати власні бібліотеки компонентів та набори ресурсів.


1
Дякуємо за Ваш коментар. Мій вибір був Весна + Ваадін.
Piotr Gwiazda

3

Якщо вам потрібен повний стек Java EE, я рекомендую вам GlassFish 3.1. Він починається дуже швидко в порівнянні з іншими контейнерами Java EE, що реалізує певну частину або всі Java EE 6 (JBoss 6, WebLogic 10.3.4), перерозподіл займає секунди, і майже все це можна зробити за домовленістю щодо конфігурації, це дуже зручно.

Якщо ви хочете щось «легке», ви можете налаштувати Apache Tomcat 7.x з потрібними функціями. Я багато використовував наступні бібліотеки: Weld 1.1.0 (CDI) JPA 2.0 (Hibernate 3.6.x) - лише місцеві транзакції ресурсів JSF 2.x (Mojarra) RichFaces 4.0 BIRT час виконання

Будучи розробником Java EE протягом останніх 10 років (я страждаю від ранніх EJB, JSF та веб-технологій), Java EE 6 дуже проста, добре поєднана, і сучасне обладнання працює без проблем, тому оригінальні причини, що мотивували Spring, більше не дійсні.


1
Мені подобається ваша відповідь. Дуже розумно. Коли я розмістив запитання, JEE6 був дуже молодим, а Tomcat 7 ще не закінчений. "оригінальні причини того, що мотивована весна більше не є дійсними" - це правда, але JEE6 з CDI потребує деякого часу, щоб заспокоїтись. Наприклад: моніторинг Javamelody доступний для Spring та Guice (я не уявляю, як це працювати в додатках без нього). EHcache доступний для Spring (я маю на увазі результати методів кешування). Багато таких речей, як програмування аспектів, все ще простіше навесні, оскільки багато сторонніх бібліотек та фреймворків легко інтегрується з Spring, але поки що не з JEE6.
Piotr Gwiazda

1

Я все-таки віддаю перевагу весні.

І я б передав JSF. Я думаю, що це мертва технологія. Весняний MVC був би кращою альтернативою. Так само як і Flex. Подумайте з точки зору контракту на перші послуги XML, і ви зможете повністю від’єднати задній кінець від інтерфейсу.


1
Я створив кілька програм на Java + Flex і PHP + Flex, і я погоджуюсь, що це найкраще рішення для розширених інтерфейсів. Але в цьому додатку я не можу використовувати Flex :( Хоча мені потрібен інтерфейс високого рівня, тому Spring MVC не є рішенням. Я хочу подумати про сортування даних, яке може бути порівняно з <tr> <td> у циклі.
Piotr Gwiazda

1
@duffymo - Я можу заперечити, чи є флекс хорошим вибором. JSF точно не мертвий, особливо з такими бібліотеками, як Richfaces, Primefaces, Icefaces тощо.
Божо

1
У IceFaces я створюю меню, дерева, сітки даних використовують дії, події, і я не думаю, чи перезавантажується сторінка, чи це запит ajax. Вбудованим компонентом є сортувана сітка даних або завантажене дерево ajax. У Spring MVC я працюю над HTML - таблицями, списками тощо. Мені потрібно використовувати сторонній фреймворк javascript і створювати магію AJAX вручну. Я хотів би зробити це у Flex, але це політичне / ділове рішення - не моє.
Piotr Gwiazda

1
Мої поточні два проекти JSF точно не мертві;) І я набагато більш задоволений способом JSF для побудови RIA (для цього "багатий" на "richfaces"), ніж використання Flex. Наступного тижня один навіть виходить у світ.
Божо

2
Мені б дуже хотілося знати, чому ви все-таки віддаєте перевагу весні, Java EE 6 - блін. Вам не здається, що робота на відкритій платформі важлива для майбутнього Java?
Pascal Thivent,

0

Я б порекомендував Spring + Tomcat, якщо тільки ви не почекаєте часу, коли glassfish v3 і Weld стануть більш зрілими. В даний час існує кілька проблем із споживанням пам'яті / завантаженням процесора під час запуску glassfish із програмами з підтримкою CDI.


0

Читав не все, а лише сказав, що тепер ви можете використовувати EJB3 всередині війни на Java EE 6, щоб ви могли використовувати EJB3 на Tomcat (я думаю).


Так, ви можете упакувати EJB в WAR в Java EE 6, але це не означає, що ви можете розгорнути таку WAR на Tomcat. Вам потрібен контейнер, що реалізує веб-профіль, а Tomcat - ні, і насправді в спільноті Tomcat немає плану його реалізації (див. Old.nabble.com/Java-EE-6-Web-Profile-td27715793.html ). Але є веб-профіль GlassFish v3, там буде Смола ...
Паскаль Твівент

2
оновлення: подивіться на проект TomEE + tomee.apache.org/apache-tomee.html
gpilotino

-3

Я рекомендував вам Tomcat з весною, тому що:

  1. Весна може створити додаткові компоненти для JSP
  2. Ви будете використовувати Spring, щоб зберегти об'єкт через JPA

Хороший вибір - вибрати Tomcat, оскільки вам не потрібна обробка у важкій вазі


1
"Важка обробка"? Не могли б ви детальніше сказати? Мені цікаво.
Pascal Thivent
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.