Java EE Containers vs Web Containers

Jestem stosunkowo nowy w Java EE / EJB i czytałem wiele o kontenerach Java EE. Miałem doświadczenie w pracy z kontenerem internetowym(plik WAR w jboss). Jestem również świadomy, że Jboss może być również używany jako kontener Java EE.

Moje pytanie brzmi: jaka jest różnica między kontenerem Java EE a kontenerem internetowym?

Wiem, że Java EE jest również w stanie zawieraćakta wojenne. Czy są różne i jakie są ich różnice? Czy są jakieś preferencje konkretny-co jest lepsze?

Author: Arjan Tijms, 2013-06-19

5 answers

Po pierwsze, "J2EE "jest przestarzałym skrótem, teraz jest po prostu nazywany" Java Enterprise Edition " lub Java EE.

Tomcat)," pełne " serwery aplikacji Java EE zawierają również kontener EJB. EJB są korporacyjnymi fasolami Javy i można o nich wiele przeczytać na przykład TUTAJ (Rozdział IV). EJB są teraz w wersji 3.2 (Java EE 7 i Java EE 8), poprzednie wersje to 3.1 (Java EE 6) i 3.0 (Java EE 5), jednak największa różnica to między v2 A v3.

EJB są zaprojektowane tak, aby zachować logikę biznesową aplikacji. Na przykład, stateless session bean może obliczyć coś, lub reprezentować usługę internetową lub cokolwiek aplikacja musi zrobić. Message-driven beans może nasłuchiwać w kolejkach wiadomości, dlatego są one przydatne, jeśli chcesz asynchronicznej komunikacji. Fasola Singleton gwarantuje jedną instancję na fasolę itp.

Jeśli chodzi o Typ pliku, EJB jest spakowany doplik jar, aplikacja internetowa doplik war, a jeśli chcesz je mieszać w jednej aplikacji, to byłoby to .ear file ("enterprise archive").

Oprócz EJBs, "pełny" serwer aplikacji dba również o transakcje, bezpieczeństwo, zasoby JDBC... Zdecydowanie polecam użycie go nad kontenerem serwleta, ale korzyści płyną z złożoności, więc będziesz musiał poświęcić rozsądną ilość czasu, aby nauczyć się radzić sobie z np. Websphere (Payara i WildFly są znacznie prostsze i są moją ulubione). JBoss i Weblogic są również dość popularne, a jeśli jesteś zaznajomiony z Tomcat spójrz na TomEE.

 80
Author: Miljen Mikic,
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-02-17 18:41:40

Java EE container: zarządza wykonaniem EJB, JMS, JTA uruchomionym na serwerze Java EE np. JBoss, Glassfish.

Web container: zarządza wykonywaniem stron internetowych, serwletów i niektórych komponentów EJB dla aplikacji Java EE. Komponenty WWW i ich kontenery działają na serwerze WWW, takim jak Jetty, tomcat.

 27
Author: Masudul,
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-06-20 09:17:14

Web-container i EJB-container to podzbiory kontenerów Java EE. Kontenery Java EE obejmują również kontener klienta aplikacji i kontener apletu .

Oto co doc mówi:

Proces wdrażania instaluje komponenty aplikacji Java EE w Kontenery Java EE.

  • Java EE server : część runtime Produktu Java EE. Serwer Java EE zapewnia EJB [kontener i www kontener]*.

  • Kontener Enterprise JavaBeans (EJB) : zarządza wykonywaniem enterprise beans dla aplikacji Java EE. Enterprise beans i ich kontener uruchamiany na serwerze Java EE.

  • Web container : zarządza wykonywaniem komponentów strony JSP i serwletów dla aplikacji Java EE. Web components and their
    kontener uruchamiany na serwerze Java EE.

  • Kontener klienta aplikacji : Zarządza wykonywaniem komponentów klienta aplikacji. Klienci aplikacji i ich kontener działa na kliencie.

  • Kontener apletów : zarządza wykonywaniem apletów. Składa się z przeglądarki internetowej i wtyczki Java działającej na kliencie razem.

* w doc używają formy mnogiej, ale w rzeczywistości na serwer Java EE jest tylko jeden kontener webowy i jeden kontener EJB.

 3
Author: Leopold Gault,
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-12-07 09:20:12

Myślę, że może różnica między nimi są protokoły, które obsługują.

Na przykład,nie staramy się zarządzać transakcją w kontenerze WWW, jak tomcat, zwykle staramy się kontrolować w web-proj, który wdrożony w tomcat.podczas gdy web / app server jak ejb ma odwrotnie.

 0
Author: spectator,
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
2014-12-12 03:08:31

Kontener java EE To rozwiązanie serwerowe obsługujące kontener web, EJB 3 i inne API i usługi Java EE, Oracle WebLogic server, GlassFish server, IBM WebSphere application server, JBoss Application server i Caucho Resin to przykłady kontenerów Java EE... Mam nadzieję, że odpowie na twoje zapytanie

 0
Author: arif khan,
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-09-29 08:50:22