web 개발의 이해(3)

mtak·2021년 4월 21일
0

1. 학습 목표

  • WAS란
  • WAS의 종류
  • Web server VS WAS

2. 학습 내용

#1. WAS

서버: 서비스를 제공하는 것
클라이언트: 서비스를 요청해서 결과를 보여주는 것
server-client ex. web server - web browser

DBMS

이게 등장하기 이전에는 개발자들이 파일의 데이터를 저장하고 읽어드리는 등의 기능을 모두 구현해야 했다.

데이터베이스를 관리하는 시스템(SW). 서버 형태로 서비스를 제공하여 다수의 유저(라 쓰고 클라이언트라 읽는다.)가 DB의 데이터에 접근할 수 있게 해준다.
ex. MySQL, MariaDB, Oracle, PostgresSQL

문제점
클라이언트의 로직이 많아진다. 고로 프로그램 로직이 바뀌면 클라이언트가 매번 새로 배포되야 했다.
또 클라이언트를 직접 DBMS에 연결하니 보안에도 취약했다. 그래서 등장 한 것이 (두둥탁)미들웨어.

MiddleWare
쉽게 말해서 클라이언트와 DBMS사이에 있는 또다른 서버.
클라이언트는 입력과 출력만 담당하고 요청할게 있으면 미들웨어(라 쓰고 서버라 읽는다.)에 요청해서 이 미들웨어에서 대부분의 로직을 수행한다. 잘 수행하다가 데이터 손 댈 일이 있으면 DBMS에 연락해서 손보고 해당 결과를 클라이언트에 보내주면 -끗-
비즈니스 로직을 클라이언트와 DBMS사이의 미들웨어 서버에서 동작하도록 함으로써 클라이언트는 입력과 출력만 담당하도록 한다.

was(web application server)
정적 데이터만 처리하다가 진화를 해서 점점 동적인 기능(데이터 입력,조회,삭제...)이 요구되었고, 해당 기능은 프로그래밍을 통해서 가능했다. 동적 데이터 처리를 위한 프로그래밍을 CGI라고 부르는데 이것은 나중에 다루어 보고자 한다. CGI 학습자료 1
CGI 학습자료 2
이런 상황에 쓰이는 미들웨어를 WAS라고 부른다.
WAS의 주요 기능은 3가지이다.
1. 프로그램 실행 환경과 DB접속 기능
2. 여러개의 트랜잭션 관리
트랜잭션? 논리적인 작업단위. 뒤에서 다시 다룬다.
3. 업무를 처리하는 비즈니스 로직을 수행

#2. was VS web server

  • was도 자체적으로 웹서버 기능을 가지고 있다 .
    하지만 자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성을 위해 웹서버와 WAS를 대체로 분리합니다. 더해서 WAS에 문제가 생기면 웹서버에서 장애극복기능(일단 해당 WAS를 사용할 수 없게 하고, WAS를 재시작한다.)을 수행할 수 있어 사용자는 문제가 있었던 줄도 모르고 서비스를 사용할 수 있게 된다.
profile
노는게 젤 조아. 친구들 모여라!!

0개의 댓글