본문 바로가기
events/부스트코스

[부스트코스] 1. 웹 프로그래밍 기초 | 1. Web개발의 이해 -FE/BE | 7) WAS

by kimtahen 2020. 2. 7.
반응형

1. 클라이언트 / 서버 구조

 

  이전 포스팅에서 언급했던 바와 같이, Client / Server 구조는 위의 다이어그램으로 설명할 수 있습니다. 클라이언트는 컴퓨터뿐만 아니라, 스마트폰, 노트북, 혹은 키오스크와 같은 여러 기기가 될 수 있습니다. 이런 기기들이 인터넷을 통해 서버와 연결되고 많은 작업을 수행할 수 있게 되는 것이죠.

2. DBMS (DataBase Management System)

  그 다음으로 중요한 개념이 바로 'DBMS' 입니다. 

https://www.csestack.org/difference-database-database-management-system-dbms/

  DBMS가 없던 때에는 데이터베이스 즉 DB를 사용자와 어플리케이션(APP)이 직접 조작했었습니다. 하지만, 그렇게 된다면, 데이터베이스의 안정성을 장담할 수 없을 뿐더러, 어플리케이션을 제작하는데 필요한 로직 또한 증가하게 됩니다. 그리고 데이터의 무결성 또한 지키이 어렵게 되죠. 이러한 문제점들로 인하여 등장한 것이 바로 'DBMS'입니다. DBMS는 데이터베이스와 직접적으로 연결되어, 여러 작업들을 수행합니다. 이 과정에서 응용프로그램이나 어플리케이션들은 데이터베이스가 아닌 DBMS와 연결되어 DB의 데이터를 수정하거나, 삭제 혹은 생성하는 것이죠. 이를 통하여, '권한'을 부여할 수도 있고, 동시접속자 처리의 어려움도 해결할 수 있게 되었습니다.

 

  위 세개는 대표적인 DBMS 소프트웨어입니다. 

3. 미들웨어(Middleware)

  DBMS의 등장으로 인해, 많은 부분에서 편리함을 가져올 수 있었습니다. 하지만, DBMS와 클라이언트가 직접 연결되어 동작하는 방식은 여러가지 단점들이 존재했습니다. DBMS의 로직이 바뀌면, 클라이언트는 그것들을 모두 수정해야했고 그렇기 때문에 클라이언트를 다시 배포해야한다는 문제점, 또한 로직이 클라이언트에 포함되어 배포가 되기 때문에 보안이 나쁘다는 문제점 등등이 존재하였습니다. 이로인해 등장한 개념이 바로 '미들웨어'입니다.

https://www.edwith.org/boostcourse-web/lecture/16666/

  모든 비즈니스 로직은 미들웨어에서 처리되는 방식입니다. 이를 통하여 클라이언트 단 에서는 서버에 요청을 보내고, 이에 따른 서버의 응답만 화면에 표시하면 되는 방식이 가능해졌습니다. 그렇기에, 클라이언트에서는 비즈니스 로직이 필요하지 않게 된 것이지요. 

 

4. WAS (Web Application Server)

  WAS는 위에서 언급했던 미들웨어중 하나라고 볼 수 있습니다. 보통 웹 서버는 정적인 데이터만 제공합니다. 하지만, 점점 DBMS에 접속해서 처리하는 등의 동적인 작업의 필요성이 증가하였고, 이런 역할을 하는 'WAS'가 등장하였습니다. 보통 WAS만 설치하면, 웹 서버 기능이 내장되어 있기 때문에 문제없이 잘 작동합니다. 하지만 현업에서는 웹 서버와 WAS를 분리한다고 합니다. 왜냐하면 'failover', 즉 WAS에 문제가 생긴다면 그 부분만 접속을 차단하여 기존의 서버는 계속해서 실행될 수 하는 기능을 수행할 수 있도록 해야하기 때문입니다. 

 

반응형

댓글