Notice
Recent Posts
Recent Comments
Link
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

코딩하는 바나나

[BackEnd] WAS 본문

Web

[BackEnd] WAS

유기농바나나칩 2022. 2. 28. 17:54

웹은 클라이언트와 서버로 구성되어있다.

클라이언트는 서버로 필요한 데이터를 요청하고 서버는 거기에 응답해 알맞는 데이터를 보내준다.

예전에는 개발자들이 데이터를 저장하고 읽어들이는 등의 코드를 직접 다 구현을 해야했다.

이런 불편함을 해소해주기 위해 DBMS라는 개념이 등장했다. DBMS의 예로 MYSQL, MARIADB 등이 있다.

 

이런 DBMS는 서버형태로 서비스 제공했기 떄문에 보통 DBMS에서 데이터를 받아와 클라이언트에서 로직을 수행하는 방식으로 프로그램이 많았다. 하지만 이런 방식은 클라이언트의 크기가 너무 커지고 로직 변경시에 클라이언트가 매번 배포되어야한다는 문제가 있었다.

그래서 나온것이 미들웨어라는 개념이다.

미들웨어는 DBMS와 클라이언트 사이에서 로직을 수행하는 서버이다. 

클라이언트는 미들웨어에 요청만 보내면 모든 로직은 미들웨어에서 수행되기 떄문에 위의 문제들이 해결이 된다.

WAS가 바로 일종의 미들웨어이다.

WAS는 웹서버와 같이 사용된다. 웹서버는 정적인 컨텐프 처리, WAS는 동적인 컨텐츠를 처리한다.

WAS는 여러 기능이있는데 프로그램 실행 환경과 데이터베이스 접속 기능 제공, 여러개의 트랜잭션 관리, 비즈니스 로직 수행 등의 기능이 있고 사실 웹서버의 기능도 할 수있다. WAS가 가지고 있는 웹서버가 성능이 더 떨어지는 것은 아니지만 규모가 커질수록 웹서버와  WAS를 분리해서 사용한다고 한다. -> 장애극복기능을 위해서라고 한다.

장애 극복기능이란 WAS에 문제가 생겼을 경우 복구가 되는 동안 WAS보다 앞단에 있는 웹서버가 WAS로 접속하지 못하도록해서 사용자가 에러가 발생했는지 모르고 사용 할 수 있도록 해주는 기능이다.

 

WAS에 예제로 apache의 톰캣 이있다.

https://www.boostcourse.org/web316/lecture/16686?isDesc=false 

 

웹 프로그래밍(풀스택)

부스트코스 무료 강의

www.boostcourse.org

 

'Web' 카테고리의 다른 글

[BackEnd] redirect, foward, servlet jsp연동  (0) 2022.03.09
[BackEnd] Servlet 과 JSP  (0) 2022.02.28
[FrontEnd] Javascript - Ajax 통신  (0) 2022.02.27
[FrontEnd] Jacascript - DOM  (2) 2022.02.27
[FrontEnd] Javascript - Call Stack  (0) 2022.02.27