programing

Tomcat, JBoss, Glassfish의 차이점은 무엇입니까?

prostudy 2022. 6. 3. 22:28
반응형

Tomcat, JBoss, Glassfish의 차이점은 무엇입니까?

Enterprise Java에 대해 알아보려고 하는데, 제가 팔로우하는 책에는 JBoss를 사용한다고 적혀 있습니다.팥은 글라스피쉬와 함께 배송됩니다.이전에 Tomcat을 사용한 적이 있습니다.

이 세 가지 프로그램의 차이점은 무엇입니까?

Tomcat은 서블릿 컨테이너일 뿐입니다. 즉, 서블릿과 JSP 사양만 구현합니다.Glassfish 및 JBoss는 완전한 Java EE 서버(EJB, JMS 등)이며 Glassfish는 최신 Java EE 6 스택의 레퍼런스 구현이지만 2010년 JBoss는 아직 이를 완전히 지원하지 않았습니다.

Tomcat은 HTTP 서버 및 Java 서블릿컨테이너에 불과합니다.JBoss 및 GlassFish는 EJB 컨테이너 및 해당 스택의 다른 모든 기능을 포함하는 완전한 Java EE 애플리케이션 서버입니다.반면 Tomcat은 메모리 설치 공간(최대 60-70MB)이 적은 반면 Java EE 서버는 수백 메가그램에 달합니다.Tomcat은 간단한 웹 응용 프로그램이나 전체 Java EE 서버가 필요하지 않은 Spring과 같은 프레임워크를 사용하는 응용 프로그램에 매우 적합합니다.Tomcat 서버의 관리는 이동 부품이 적기 때문에 간단합니다.

그러나 전체 Java EE 스택(또는 Tomcat에 쉽게 볼트로 고정할 수 있는 최소 조각 이상)이 필요한 애플리케이션의 경우...JBoss와 GlassFish는 가장 인기 있는 오픈 소스 제품 중 두 가지입니다(세 번째 제품은 Apache Geronimo로 IBM WebSphere의 무료 버전이 구축되어 있습니다).JBoss는 더 크고 더 깊은 사용자 커뮤니티와 더 성숙한 코드 베이스를 가지고 있습니다.그러나 JBoss는 현재 Java EE 사양 구현에서 GlassFish에 크게 뒤처져 있습니다.또, GUI 베이스의 관리 시스템을 선호하는 유저에게는, 다음과 같은 것이 있습니다.GlassFish의 관리 콘솔은 매우 슬릭하지만 JBoss의 대부분의 관리는 명령줄과 텍스트 에디터로 이루어집니다.Glass Fish는 Sun/Oracle에서 직접 제공되며 모든 이점을 제공합니다.JBoss는 Sun/Oracle의 관리 하에 있지 않으며, 모든 이점을 제공합니다.

Java EE 엔터프라이즈 애플리케이션에는 GlassFish를 사용해야 합니다.고려해야 할 사항:

서버란 다음을 의미합니다.HTTP 요청 처리(일반적으로 브라우저에서)

서블릿 컨테이너(: Tomcat)는 다음을 의미합니다.서블릿과 JSP를 처리할 수 있습니다.

애플리케이션 서버(: GlassFish)는 다음을 의미합니다. *Java EE 애플리케이션(일반적으로 서블릿/JSP 및 EJB 모두)을 관리할 수 있습니다.


Tomcat - Apache 커뮤니티 - Open source에 의해 실행되며 다음 두 가지 플레이버가 있습니다.

  1. Tomcat - 웹 프로파일 - 서블릿 컨테이너일 뿐이며 EJB, JMS 등과 같은 Java EE 기능을 지원하지 않습니다.
  2. Tomcat EE - 인증된 Java EE 컨테이너이며 모든 Java EE 기술을 지원합니다.

상용 지원 없음(커뮤니티 지원만 가능)

JBoss - RedHat에서 실행 JavaEE에 대한 풀 스택 지원으로 인증된 Java EE 컨테이너입니다.여기에는 Tomcat이 내부적으로 웹 컨테이너로 포함됩니다.이것에는 2가지 맛도 있습니다.

  1. Application Server(AS; 응용 프로그램서버)라고 불리는 커뮤니티 버전 - 커뮤니티 지원만 제공됩니다.
  2. Enterprise Application Server (EAP) - 이를 위해 서브스크립션 기반 라이선스를 보유할 수 있습니다(서버에 있는 코어 수에 따라 다릅니다).

Glassfish - Oracle에서 실행 이 또한 전체 스택 인증 Java EE 컨테이너입니다.여기에는 자체 웹 컨테이너(Tomcat이 아님)가 있습니다.이는 Oracle 자체에서 제공되므로 새로운 사양은 모두 Glassfish에서 먼저 테스트 및 구현됩니다.따라서 항상 최신 사양을 지원합니다.나는 그것의 지원 모델을 알지 못한다.

jboss와 glassfish는 servlet container(tomcat과 같은)를 포함하지만, 2개의 애플리케이션 서버(jboss와 glassfish)는 콩 컨테이너도 제공합니다(그 외 몇 가지도 생각할 수 있습니다).

JBoss와 Glassfish는 기본적으로 전체 Java EE 애플리케이션 서버인 반면 Tomcat은 Servlet 컨테이너에 불과합니다.JBoss, Glassfish뿐만 아니라 WebSphere, WebLogic 등의 Tomcat과 Jetty의 주요 차이점은 전체 애플리케이션 서버가 제공하는 기능에 있었습니다.풀스택 Java EE 앱 서버를 사용했을 경우, 선택한 벤더의 모든 구현의 이점을 얻을 수 있으며, EJB, JTA, CDI(JAVA EE 6+), JPA, JSF, JSP/Servlet 등의 이점을 얻을 수 있습니다.반면 Tomcat에서는 JSP/Servlet만 이용할 수 있습니다.그러나 Spring이나 Guice와 같은 고급 프레임워크에서는 풀스택 애플리케이션 서버를 사용하는 것의 많은 주요 이점을 줄일 수 있습니다.또한 이 프레임워크 중 하나를 Spring Ecosystem과 함께 남자다운 것으로 가정하면 업무 경험상 풀스택 애플리케이션 서버를 사용하지 않아도 되는 많은 서브 프로젝트의 이점을 얻을 수 있습니다.Tomcat과 같은 경량 앱 서버를 선호합니다.

이 답변들을 읽을 때 Tomcat을 사용하는 것은 다소 권장되지 않는 것 같습니다.그러나 대부분의 경우 Tomcat을 통해 동일하거나 거의 동일한 사용 사례를 얻을 수 있지만 필요한 라이브러리를 추가해야 합니다(Maven 또는 사용하는 시스템을 포함).

JPA, EJB를 사용하여 Tomcat을 실행해 왔습니다.설정은 매우 간단합니다.

JBoss와 Tomcat은 모두 Java 서블릿 애플리케이션 서버이지만 JBoss는 훨씬 더 많이 사용됩니다.JBoss는 Enterprise JavaBeans 및 엔터프라이즈 Java 애플리케이션 개발자에게 유용한 기타 많은 기술을 포함한 완전한 Java Enterprise Edition(Java EE) 스택을 제공합니다.

Tomcat은 훨씬 더 제한적입니다.JBoss는 서블릿 컨테이너와 웹 서버를 포함하는 Java EE 스택인 반면 Tomcat은 대부분 서블릿 컨테이너와 웹 서버입니다.

Apache Tomcat은 Enterprise Java Application(JEE)에서 지원하지 않는 유일한 서버렛 컨테이너입니다.JBoss와 Glassfish는 JE 어플리케이션을 지원하지만 Glassfish는 JBOSS 서버보다 훨씬 무겁다: 참조 슬라이드

언급URL : https://stackoverflow.com/questions/3821640/what-is-the-difference-between-tomcat-jboss-and-glassfish

반응형