상세 컨텐츠

본문 제목

[Java] Web Server & Web Application Server (WAS)

Java/Theory

by 찌니씨 2022. 10. 13. 21:34

본문


Web Server

 

정의

  • 정적 콘텐츠를 제공하는 미들웨어의 일종


기능
  • 클라이언트에게 요청을 받고 정적인 Request라면 정적인 콘텐츠를 Response
  • 클라이언트에게 요청을 받고 동적인 Request라면 WAS로 처리를 이관한 뒤 WAS에서 처리한 결과를 클라이언트에게 전달

 


Web Application Server (WAS)

 

정의:

  • 동적 콘텐츠를 제공하기 위해 만들어진 Application Server HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)이다.

 

기능

  • 프로그램 실행 환경데이터베이스 접속 기능을 제공.
  • 여러 개의 트랜잭션을 관리.
  • 업무를 처리하는 비즈니스 로직을 수행.

  • Web Service 플랫폼으로서의 역할 병행.

 

 


기타... 이모저모

 

 양방향 메시지 송수신(bi-directional full-duplex communication)
HTML5 표준안의 일부로 WebSocket API (이후 WebSocket)가 등장,

JEE 환경의 WAS에서는 Jetty, 

GlassFish에서 WebSocket을 사용할 수 있다. 

 또한 Node.js에서도 WebSocket을 사용할 수 있다. 
그러나 아직 Tomcat은 공식적인 지원 계획을 발표하고 있지 않다.

 

Tomcat  • 간단한 웹 애플리케이션 또는 전체 Java EE 서버가 필요하지 않은 Spring과 같은 프레임 워크를 사용하는 애플리케이션에 사용.

 • 움직이는 부품이 적기 때문에 서버 관리가 훨씬 쉬움
선택한 공급 업체의 모든 구현을 활용할 수 음
• EJB, JTA, CDI (JAVA EE 6+), JPA, JSF, JSP / Servlet을 활용

GlassFish   • GUI 기반 관리 시스템을 선호 하는 사람에게 인기
Jboss (Wildfly)  • 명령 행 및 텍스트 편집기로 수행 JSP / Servlet 만 활용
• Spring 및 Guice와 같은 고급 프레임 워크를 사용하면 풀 스택 애플리케이션 서버를 사용하는 주요 이점 중 많은 부분을 완화

 

Application server company   Charge Java EE
(EJB, JMS)
volume   
Tomcat  Apache   무료 가벼운 메모리
(약 60-70MB)

Servlet Container
(Web Server)
• Servlet Container
(Web Server)
GlassFish  Oracle  무료
유료버전 - Sun Java System Application Server 9.X 
(GlassFish에 상업용 오라클 지원은 종료
오픈 소스 업데이트는 계속 - Git)
O 제일 무거움 • Servlet Container와 Web server를 포함하는
Edition(JEE) 
• SpringBoot start project시 Tomcat 디폴트로 포함

Jboss
(Wildfly)
RedHat 무료
프리 라이선스로 제공
RedHat에서 유상으로 기술지원
O GlassFish 보다 가벼움 • 오픈 소스 미들웨어
(JEE)
• Tomcat 포함

Jetty Ecipse 무료 X 가벼운 메모리 • HTTP (웹) 서버
자바 서블릿 컨테이너
WebLogic Oracle 유료      
Websphere IBM 유료      
JEUS   유료      • 정부/관공서 50%


[참고]
https://github.com/eclipse-ee4j/glassfish
https://javaee.github.io/glassfish/download
https://github.com/eclipse-ee4j/glassfish/releases?page=1

 

GitHub - eclipse-ee4j/glassfish: Eclipse GlassFish

Eclipse GlassFish. Contribute to eclipse-ee4j/glassfish development by creating an account on GitHub.

github.com

 

GlassFish

Java EE 8 - GlassFish 5 Download Newer versions of GlassFish are now available from Eclipse Foundation, Jakarta EE project. Eclipse GlassFish downloads may be found here GlassFish Docker Images See here for details on the GlassFish 4.1.2 and GlassFish 5 Do

javaee.github.io

 

Releases · eclipse-ee4j/glassfish

Eclipse GlassFish. Contribute to eclipse-ee4j/glassfish development by creating an account on GitHub.

github.com

 

'Java > Theory' 카테고리의 다른 글

[Interface & Abstract class] 인터페이스와 추상클래스  (0) 2022.10.20
[Java] Build Tool (Maven & gradle)  (1) 2022.10.13
[Java] java.util.function  (0) 2022.10.04
[Java] POJO란?  (0) 2022.10.04

관련글 더보기

댓글 영역