Web Application Server
인터넷 상에서 Http를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)
DB조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 AS(Application Server)
Web Container , Servlet Container 라고도 불림.
(Container 란 JSP, Servlet 을 실행시킬 수 있는 소프트웨어)
(Servlet : 자바를 사용하여 웹을 만들기 위해 필요한 기술, 클라이언트가 어떤 요청을 하면 그 결과를 다시 전송해주는 역할)
한국에선 WAS, WAS/SW, 웹 응용 서버 영미권에선 AS (Application Server)
대개 자바기반으로 표준 자바EE를 수용 아닌 제품도 존재
OAS, WebLogic(Oracle), Jboss(RedHat), Jeus, WebSphere(IBM) 등이 상용 WAS의 대표
오픈소스 소프트웨어 WAS Apache Tomcat
기본기능 (보통)
1) 프로그램 실행 환경과 데이터베이스 접속 기능 제공
2) 여러 개의 트랜잭션 관리
3) 업무를 처리하는 비즈니스 로직 수행
어플리케이션과 웹서버를 연결하는 역할. 보통 WAS는 웹서버를 포함하고 있다.
웹 서버는 웹 브라우저에 요청에 응해 결과물을 돌려줌 (Three hand Shake 통신)
홈페이지 하나를 개발/퍼블리싱 하기 위해선
도메인 + 자바개발자 서버(tomcat 소규모) + 데이터베이스(orcle, mysql)
+ 프레임워크(스프링 등) + 이클립스(개발툴) + 언어 가 필요하다.
사용자가 인터넷으로 요청한것을 응답해서 보내주는 서버..?
서버(Server)는 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템 (프로그램 혹은 장치)
WAS의 필요이유
- 웹 페이지는 정적/동적 컨텐츠가 모두 존재
--> 사용자 요청에 맞게 적절한 동적 컨텐츠를 만들어 제공해야 함
이때 WebServer만 있다면, 결과값을 미리 만들어놓고 서비스 해야한다.
--> WAS를 통해 요청에 맞는 데이터를 DB에 가져와 비즈니스로직에 맞게 결과를 만들어
제공함으로써 효율적인 자원 사용이 가능.
그렇다면 WebServer를 안쓰고 WAS만 써도 되지 않나?
- 기능을 분리하여 서버 부하 방지 (정적 컨텐츠는 WebServer가 빠르게 제공할 수 있다)
- 요새는 사실상 하드웨어가 좋아져서 큰 의미가없다고 한다.
- 물리적으로 분리하여 보안 강화 (SSL에 대한 암복호화 처리에 WebServer 사용) [
- SSL : Secure Socket Layer 전송계층 보안
- 여러대의 WAS를 연결 가능 등…
- 하나의 서버에서 php애플리케이션, java애플리케이션을 함께 사용하거나 Httpd 서버를 간단한 로드밸런싱을 위해 사용해야 할 때 필요
- (Httpd(HTTP Daemon) : 웹 서버의 백그라운드에서 실행되어, 들어오는 서버 요청을 대기하는 소프트웨어프로그램)
Web Server
클라이언트가 서버에 페이지 요청을 하면, 요청을 받아서 정적 컨텐츠(html, png, css등)를 제공하는 서버
클라이언트에서 요청이 올 때 가장 앞에서 요청에 대한 처리를 한다.
클라이언트의 요청을 기다리고, 요청에 대한 데이터를 만들어서 응답하는 역할 (정적 데이터)
- 컨텐츠 요청 시
-> 정적 컨텐츠인가 ?
Y : 웹서버가 html, png 등을 응답(response)
N : WAS에게 처리 부탁 -> 웹서버는 WAS가 처리해준 컨텐츠를 응답(response)
하드웨어 측면에서의 웹서버
: 웹서버는 웹서버의 소프트웨어와 웹사이트의 컴포넌트 파일을 저장하는 컴퓨터
(컴포넌트 파일 : html, images, css, stylesheets, JavaScript)
웹서버는 인터넷에 연결되어 웹에 연결된 다른 기기들이 웹 서버의 데이터를 주고받을 수 있도록 해줌
소프트웨어 측면에서의 웹서버
: 웹서버는 기본적으로 웹 사용자가 어떻게 호스트 파일에 접근하는지 관리
(HTTP 서버로 국한 했을 때) HTTP 서버는 URL(Web address)과 HTTP 소프트웨어의 일부
'IT 공부 > Web-WAS' 카테고리의 다른 글
[WebLogic] 웹로직 스킨 변경 방법 (0) | 2024.02.21 |
---|---|
[WebLogic] 웹로직 엔진 설치 (0) | 2021.09.07 |
[Linux] yum install로 안되는 패키지 설치 (0) | 2021.05.23 |
포탈&포틀릿 Portal&Portlet (0) | 2021.05.10 |
[WAS] WebLogic 이해 (0) | 2021.03.10 |