WAS(Web Application Server)란?

박지성 학부생·2023년 11월 2일
0

BackEnd Develop log

목록 보기
2/27
post-thumbnail

웹 어플리케이션 서버(Web Application Server, WAS)

웹 어플리케이션 서버(WAS)는 웹 기반 애플리케이션을 운영하기 위한 소프트웨어 프레임워크이다. 사용자의 요청을 처리하고, 비즈니스 로직을 수행한 후 결과를 웹 사용자에게 돌려주는 중간 서버 역할을 한다.

비유

에버랜드에 가서 놀고 싶다. 하지만 에버랜드는 많은 사람들이 있고, 뭐하고 놀지, 어떤 놀이기구를 탈지 결정해야 한다. 직접 모든 사람에게 물어보고 결정할 수도 있지만, 그렇게 하면 시간이 많이 걸린다.

그래서 에버랜드에는 한 직원이 특별한 역할을 한다. 그 직원 이름은 'WAS'이다. 'WAS'는 내가 무엇을 하고 싶은지 듣고, 에버랜드의 모든 놀이기구와 장소들을 잘 알고 있어서 나를 위해 재미있게 놀 수 있도록 도와준다.

'WAS'가 하는 일

내가 "바이킹 타고 싶어요"라고 하면, 'WAS'는 바이킹을 찾아 태워준다.
내가 "츄러스 먹고 싶어요"라고 하면, 'WAS'는 현금을 가지고 츄러스 가게로 안내한다.
내가 "동물을 보고 싶어요"라고 하면, 'WAS'는 동물원을 찾아 데려다준다.
'WAS'는 에버랜드에서 재미있게 놀 수 있도록 도와주는 직원다. 내가 무엇을 원하는지 듣고, 필요한 것을 가져다 주며, 안전하게 놀 수 있게 지켜봐준다.

WAS의 주요 기능

  • 리소스 관리: WAS는 메모리, 트랜잭션 관리, 데이터베이스 연결과 같은 컴퓨팅 리소스를 효율적으로 관리한다.
  • 세션 관리: 사용자의 정보를 유지하면서 여러 페이지 또는 다양한 요청 사이에서 사용자를 식별하고 데이터를 유지하는 기능을 제공한다.
  • 애플리케이션 서비스: 여러 애플리케이션을 실행할 수 있는 환경을 제공하며, 다양한 애플리케이션 서비스를 통합 관리한다.
  • 보안: SSL, 인증, 권한부여 등과 같은 보안 기능을 제공하여 안전한 트랜잭션을 보장한다.

WAS의 역할

  • 통신 지원: 클라이언트와 서버 간의 HTTP를 통한 데이터 통신을 처리한다.
  • 애플리케이션 실행: 사용자의 요청에 따라 애플리케이션 코드를 실행하고 결과를 반환한다.
  • 멀티스레드 처리: 동시에 여러 사용자의 요청을 처리할 수 있는 멀티 스레딩을 지원한다.

예시

  • Apache Tomcat: 자바 서블릿, JSP를 지원하는 오픈소스 WAS이다.(스프링부트에서는 이걸 사용)
  • JBoss EAP: 자바 EE 기반의 엔터프라이즈 애플리케이션을 지원하는 WAS이다.
  • Microsoft IIS: ASP.NET 애플리케이션을 위한 윈도우 기반의 WAS이다.

WAS는 사용자의 요청에 대한 비즈니스 로직을 처리하고, 그 결과를 사용자에게 다시 전달하는 중요한 역할을 수행한다.

profile
참 되게 살자

0개의 댓글