Я починаю вивчати Enterprise Java і книгу, яку я переслідую, згадує, що в ній буде використаний JBoss. Netbeans кораблі зі Скляною рибою. Раніше я використовував Tomcat.
Чим відрізняються ці три програми?
Я починаю вивчати Enterprise Java і книгу, яку я переслідую, згадує, що в ній буде використаний JBoss. Netbeans кораблі зі Скляною рибою. Раніше я використовував Tomcat.
Чим відрізняються ці три програми?
Відповіді:
Tomcat - просто контейнер сервлетів, тобто він реалізує лише сервлети та специфікацію JSP. Glassfish та JBoss - це повні сервери Java EE (включаючи такі речі, як EJB, JMS, ...), причому Glassfish є еталонною реалізацією останнього стека Java EE 6, але JBoss у 2010 році ще не повністю підтримував його.
Tomcat - це лише сервер HTTP та контейнер сервлетів Java. JBoss і GlassFish - це повномасштабні сервери додатків Java EE, включаючи контейнер EJB та всі інші функції цього стека. З іншого боку, Tomcat має легший слід пам’яті (~ 60-70 МБ), тоді як ці сервери Java EE мають вагу в сотні мег. Tomcat дуже популярний для простих веб-додатків або програм, що використовують рамки, такі як Spring, для яких не потрібен повний сервер Java EE. Адміністрація сервера Tomcat, певно, простіше, оскільки є менше рухомих частин.
Однак для додатків, для яких потрібен повний стек Java EE (або, принаймні, більше фрагментів, які легко можна прикріпити до Tomcat) ... JBoss та GlassFish - це два найпопулярніших пропозиції з відкритим кодом (третій - Apache Geronimo , на якій будується безкоштовна версія IBM WebSphere). JBoss має більшу та глибшу спільноту користувачів та більш зрілу базу коду. Однак JBoss значно відстає від GlassFish у впровадженні сучасних специфікацій Java EE. Крім того, для тих, хто вважає за краще адміністраторну систему на основі GUI ... Консоль адміністрування GlassFish надзвичайно гладка, тоді як більшість адміністрацій у JBoss виконується за допомогою командного рядка та редактора тексту. GlassFish походить прямо від Sun / Oracle, з усіма перевагами, які може запропонувати. JBoss НЕ перебуває під контролем Sun / Oracle, з усіма перевагами, які можуть запропонувати.
Ви повинні використовувати GlassFish для корпоративних програм Java EE . Деякі речі, які слід врахувати:
А веб - сервер означає: Обробка HTTP - запити (зазвичай від браузерів).
Контейнер сервлетов (наприклад , Tomcat ) означає: Він може обробляти сервлети & JSP.
Сервер додатків (наприклад, GlassFish ) означає: * Він може керувати програмами Java EE (як правило, як сервлет / JSP і EJB).
Tomcat - керує спільнотою Apache - Open Source і має два смаки:
Немає комерційної підтримки (лише підтримка громади)
JBoss - Запуск від RedHat Це повноцінна підтримка JavaEE і це сертифікований контейнер Java EE. Сюди входить Tomcat як веб-контейнер внутрішньо. Це також має два аромати:
Glassfish - Run by Oracle Це також повноцінний сертифікований контейнер Java EE. У цьому є свій веб-контейнер (не Tomcat). Це походить від самого Oracle, тому спочатку всі нові характеристики будуть протестовані та впроваджені разом із Glassfish. Отже, завжди було б підтримано останню специфікацію. Мені невідомі її моделі підтримки.
jboss та flofish включають контейнер для сервлетів (наприклад, tomcat), однак два сервери додатків (jboss та glassfish) також надають контейнер для квасолі (та ще декілька речей, наскільки я думаю)
JBoss і Glassfish в основному повні сервери додатків Java EE, тоді як Tomcat є лише контейнером сервлетів. Основна відмінність JBoss, Glassfish, але і WebSphere, WebLogic і так далі щодо Tomcat, але і Jetty, полягала в функціональності, який пропонує повний сервер додатків. Коли у вас був повний стек-сервер додатків Java EE, ви можете скористатися всіма реалізацією постачальника на ваш вибір, і ви можете скористатися EJB, JTA, CDI (JAVA EE 6+), JPA, JSF, JSP / Servlet, звичайно і так далі. Якщо Tomcat з іншого боку, ви можете скористатися лише JSP / Servlet. Однак на сьогоднішній день із розвиненими Framework, такими як Spring та Guice, багато головних переваг використання сервера повного стека застосувань можуть бути пом’якшені, і якщо вважати, що один із цих фреймворків по-справжньому з Spring Ecosystem,
Здається, трохи перешкоджає використовувати Tomcat, коли ви читаєте ці відповіді. Однак найчастіше не згадується те, що ви можете дістатись до однакових або майже однакових випадків використання з tomcat, але для цього потрібно додати необхідні бібліотеки (через Maven або будь-яку іншу систему, яку ви використовуєте).
Я працюю tomcat з JPA, EJB з дуже невеликими зусиллями по налаштуванню.
І JBoss, і Tomcat - сервери додатків Java, але JBoss - це набагато більше. Істотна різниця між ними полягає в тому, що JBoss забезпечує повний стек Java Enterprise Edition (Java EE), включаючи Enterprise JavaBeans та багато інших технологій, корисних для розробників, що працюють на корпоративних Java-програмах.
Томат набагато обмежений. Один із способів думати про це - JBoss - це стек Java EE, який включає контейнер сервлетів та веб-сервер, тоді як Tomcat, здебільшого, є контейнером сервлетів та веб-сервером.
Apache tomcat - лише єдиний контейнер серверних файлів, він не підтримує додаток Enterprise Java (JEE). JBoss і Glassfish підтримують додаток JEE, але Glassfish набагато важчий, ніж сервер JBOSS: Reference Slide