Jaka jest różnica między Tomcat, JBoss i Glassfish?

Zaczynam zajrzeć do Enterprise Java i książka, którą śledzę wspomina, że będzie używać JBoss. Netbeans statki z Glassfish. Używałem Tomcat w przeszłości.

Jakie są różnice między tymi trzema programami?

Author: RAnders00, 2010-09-29

8 answers

Tomcat jest tylko kontenerem serwletów, tzn. implementuje tylko specyfikację servletów i JSP. Glassfish i JBoss to pełne Serwery Java EE (w tym takie rzeczy jak EJB, JMS, ...), przy czym Glassfish był referencyjną implementacją najnowszego stosu Java EE 6, ale JBoss w 2010 roku nie był jeszcze w pełni go wspierający.

 471
Author: Petar Minchev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-21 13:04:05

Tomcat jest jedynie serwerem HTTP i kontenerem serwletów Java. JBoss i GlassFish to pełnowymiarowe serwery aplikacji Java EE, w tym kontener EJB i wszystkie inne funkcje tego stosu. Z drugiej strony, Tomcat ma lżejszy rozmiar pamięci (~60-70 MB), podczas gdy serwery Java EE ważą setki megów. Tomcat jest bardzo popularny w prostych aplikacjach internetowych lub aplikacjach wykorzystujących frameworki takie jak Spring, które nie wymagają pełnego serwera Java EE. Podanie Serwer Tomcat jest prawdopodobnie łatwiejszy, ponieważ jest mniej ruchomych części.

Jednak dla aplikacji, które wymagają pełnego stosu Java EE (lub przynajmniej więcej elementów, które można łatwo przykręcić do Tomcat)... JBoss i GlassFish to dwie z najpopularniejszych ofert open source (trzecia to Apache Geronimo, na której zbudowana jest darmowa wersja IBM WebSphere). JBoss ma większą i głębszą społeczność użytkowników oraz bardziej dojrzałą bazę kodową. Jednak JBoss pozostaje znacznie w tyle GlassFish w implementacji obecnych specyfikacji Java EE. Również dla tych, którzy wolą system administracyjny oparty na GUI... Konsola administracyjna GlassFish jest niezwykle gładka, podczas gdy większość administracji w JBoss odbywa się za pomocą wiersza poleceń i edytora tekstu. GlassFish pochodzi prosto z Sun/Oracle, ze wszystkimi zaletami, które mogą zaoferować. JBoss nie jest pod kontrolą Sun/Oracle, ze wszystkimi zaletami, które mogą zaoferować.

 335
Author: Steve Perkins,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-05 06:46:11

Powinieneś użyć GlassFish for Java EE enterprise applications. Kilka rzeczy do rozważenia:

A web Server oznacza: obsługę żądań HTTP (zwykle z przeglądarki).

A Servlet Container (np. Tomcat) oznacza: może obsługiwać servlets & JSP.

Serwer aplikacji (np. GlassFish) oznacza: * może zarządzać Aplikacje Java EE (Zwykle zarówno servlet/JSP jak i EJBs).


Tomcat - jest prowadzony przez społeczność Apache-Open source i ma dwa smaki Tomcat-Web profile-lekka waga, która jest tylko kontenerem servlet i nie obsługuje funkcji Java EE, takich jak EJB, JMS itp. Tomcat EE - jest to certyfikowany kontener Java EE, który obsługuje wszystkie technologie Java EE.

Brak wsparcia komercyjnego (tylko wsparcie wspólnotowe)

JBoss - Run by RedHat Jest to pełne wsparcie stosu dla JavaEE i jest to certyfikowany kontener Java EE. Obejmuje to Tomcat jako wewnętrzny kontener internetowy. Ma również dwa smaki Wersja Community o nazwie Application Server (AS) - będzie miała tylko wsparcie społeczności Enterprise Application Server ( EAP) - w tym celu możesz mieć licencję opartą na subskrypcji (jest ona oparta na liczbie rdzeni na serwerach.)

Glassfish - prowadzony przez Oracle Jest to również pełny stos certyfikowany kontener Java EE. Posiada własny kontener internetowy (nie Tomcat). To pochodzi od samego Oracle, więc wszystkie nowe specyfikacje zostaną najpierw przetestowane i zaimplementowane w Glassfish. Tak więc zawsze wspierałby najnowszą specyfikację. Nie znam jego modeli wsparcia.

 63
Author: Jaimin Patel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-06 06:12:17

Jboss i glassfish zawierają kontener serwletów(jak tomcat), jednak dwa serwery aplikacji (jboss i glassfish) również dostarczają kontener bean (i kilka innych rzeczy, jak sobie wyobrażam)

 12
Author: NimChimpsky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-18 10:57:17

JBoss i Glassfish są w zasadzie pełnym serwerem aplikacji Java EE, podczas gdy Tomcat jest tylko kontenerem serwletów. Główną różnicą między JBoss, Glassfish, ale także WebSphere, WebLogic i tak dalej w stosunku do Tomcat, ale także Jetty, była funkcjonalność, którą oferuje pełny serwer aplikacji. Gdy masz pełny stos Java EE app server możesz skorzystać z całej implementacji wybranego przez siebie dostawcy, a także możesz skorzystać z EJB, JTA, CDI(JAVA EE 6+), JPA, JSF, JSP/Servlet oczywiście i tak dalej on Z Tomcat z drugiej strony możesz korzystać tylko z JSP / Servlet. Jednak na dzień z zaawansowanych Framework, takich jak Spring i Guice, wiele z głównych zalet korzystania z pełnego serwera aplikacji stosu można złagodzić, a przy założeniu jednego z tego Framework manly z ekosystemu Spring, można skorzystać z wielu sub projektu, które w moim doświadczeniu zawodowym pozwoliły mi opuścić korzystanie z pełnego serwera aplikacji stosu na rzecz lightweight app server jak tomcat.

 4
Author: Valerio Vaudi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-23 15:17:45

Zarówno JBoss jak i Tomcat są serwerami aplikacji Java servlet, ale JBoss to o wiele więcej. Znacząca różnica między nimi polega na tym, że JBoss zapewnia pełny stos Java Enterprise Edition (Java EE), w tym Enterprise JavaBeans i wiele innych technologii, które są przydatne dla programistów pracujących na korporacyjnych aplikacjach Java.

Tomcat jest znacznie bardziej ograniczony. Jednym ze sposobów myślenia jest to, że JBoss jest stosem Java EE, który zawiera kontener servlet i serwer WWW, podczas gdy Tomcat, w większości, jest kontenerem serwletów i serwerem WWW.

 3
Author: Spartan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-28 07:12:56

Apache tomcat jest tylko jedynym kontenerem serverlet, który nie obsługuje aplikacji Java dla przedsiębiorstw(Jee). JBoss i Glassfish wspierają aplikację JEE, ale Glassfish znacznie cięższy niż serwer JBOSS: Reference Slide

 1
Author: Oshi_007,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-26 09:23:39

Wydaje się trochę zniechęcające do korzystania z Tomcat, gdy czytasz te odpowiedzi. Jednak to, co najbardziej nie wspomnieć, to to, że można dostać się do identycznych lub prawie identycznych przypadków użycia z tomcat, ale to wymaga, aby dodać potrzebne biblioteki(przez Maven lub jakikolwiek system include używasz).

Używam tomcat z JPA, EJBs z bardzo małymi wysiłkami konfiguracyjnymi.

 1
Author: user2130951,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-02 06:34:29