본문 바로가기

아기개발자 일지/Web Dev. Boostcourse

07. WAS

was. . 매번 회사에서  건드리다 큰일날뻔한 그 was .. 

 

WAS : Web Application Server 

 

 

클라이언트/서버 구조 

서버 : 서비스를 제공하는 애

클라이언트 : 웹 브라우저 

클라이언트는 서비스를 제공하는 서버에게 정보를 요청해서 응답받은 결과를 사용한다 . 

 

 

DBMS : 데이터베이스 관리 시스템 

다수의 사용자들이 데이터베이스 내의 데이터에 접근할 수 있도록 해주는 소프트웨어. 

최초 구현은 오라클에서 했습니다 ! 

mysql, oracle, postgresql, mariadb 등 엄청 종류가 많음. 

dbms는 보통 서버 형태로 서비스를 제공하기때문에 dbms에 접속해서 동작하는 클라이언트 프로그램이 많아졌으나, 클라이언트의 로직이 많아지고 클라이언트 프로그램의 용량이 커지기 때문에 문제점이 생김. 

 

그래서 등장한 게 미들웨어 

> dbms에 직접 클라이언트가 동작하는건 많은 단점이 있고, 이를 해결하기 위해 클라이언트 - dbms사이에 또 다른 서버를 두는 방식. 

클라이언트는 단순히 요청만 중앙 서버(미들웨어)에게 전달하고, 미들웨어는 dbms가 필요할 경우 dbms에 요청하게 된다. 

클라이언트는 결국 요청만 하고, 출력만 해주기 때문에 좀 더 성능이 좋아지게 되었다. 

 

 

was : 일종의 미들웨어. 브라우저의 요청 중 웹 애플리케이션이 '동작' 하게 되는 동적 부분을 지원하는 목적. 

 

WAS의 주요 기능 세가지 

1. 프로그램 실행 환경과 데이터베이스 접속 기능을 제공

2. 여러개의 트랜젝션을 관리 

   - > 트랜젝션은 논리적인 작업 단위라고 볼 수 있습니다. 

3. 업무 처리 비즈니스 로직을 수행한다. 

 

이 외에도 다양한 기능을 제공하는데, 웹 서버의 기능도 기본적으로 제공합니다. 

그래서 이 과정에서는 웹서버/was 따로가 아니라 tomcat이라는 was만 설치해서 사용할 예정 (아파치 ㄴㄴ) 

 

 

현업에서는 웹 서버 / was 별도 . 

웹 서버 : 정적인 결과 제공 

was : 프로그램의 동적인 결과 제공 

 

웹 서버가 없이 was만 있어도 정적/동적 컨텐츠를 모두 제공할 수 있습니다. was 초창기에서는 성능이 좀떨어져서 초창키 웹 어플리케이션 실행 시 apache와 tomcat 같이 설치햇어야 했는데, 지금 발전하면서 웹 서버 역할도 충분히 해주고 있기 때문에 지금은 잘 동작하는 경우가 많아졌다고 생각하면 돼요 . 

 

그럼에도 불구하고 웹 서버가 was 앞단에 존재하면 좋은 이유 ? 

> 규모가 커질 수록, 많이 접속하는 대용량의 경우에는 was에서 오류가 발생할 때, was를 재시작해야하는 경우가 생기는데, 이 때 앞 단의 웹서버에서 먼저 해당 was를 이용하지 못하도록 하고 was를 재시작한다면 해당 웹을 사용하는 사람은 was 의 문제가 발생한 지 모르고 이용가능한 '장애극복'기능이 있다.  

무중단으로 운영하기 위해서는 web server가 같이 존재해야 사용자들에게 장애 없이 제공이 가능하다. 

 

 

'아기개발자 일지 > Web Dev. Boostcourse' 카테고리의 다른 글

2.2 HTML Layout Tag  (0) 2021.09.05
2.1 HTML Tags  (0) 2021.09.05
06. Web Server  (0) 2021.09.04
05. Browser에서의 웹 개발  (0) 2021.09.04
04. Browser의 동작  (0) 2021.09.04