작성한 부스트코스 후기입니다.
여러분들의 성원에 더 노력하는 부스트코스가 되겠습니다.
감사합니다.
******************************************
웹 프로그래밍을 위해 필요한 개념
1. 클라이언트/서버 구조
클라이언트는 서버에게 필요한 리소스,정보를 요청하고 서버는 요청에 맞는 리소스 정보를 응답한다
2. DBMS (DataBase Management System)
● 다수의 사용자가 데이터베이스 내의 데이터에 접근할 수 있도록 해주는 소프트웨어
● mysql, oracle, mariadb 등이 있다
→ 메모장으로 필요한 정보를 관리하다가 Excel로 관리하게 된 것과 같다.
● 한계 : DBMS는 보통 서버 형태로 서버스를 제공하므로 클라이언트가 DBMS에 접속해서 동작하는 형태로 프로그램이 제작되었으나 클라이언트의 로직이 많아지고, 클라이언트 프로그램이 커진다는 문제가 있다
3. 미들웨어(MiddleWare)
● DBMS를 직접 클라이언트가 연결되어 동작하는 방식의 단점을 보안하기 위해 등장했다
● 클라이언트와 DBMS 사이에 또 다른 서버를 두는 방식
● 클라이언트는 단순히 요청만 중앙에 있는 서버에게 보내고 중앙에 있는 서버(미들웨어)에서 대부분의 로직을 수행한다. 이때, 데이터를 조작할 일이 있으면 DBMS에게 부탁한다. 그리고 그 결과를 클라이언트에게 전송하면 클라이언트는 그 결과를 화면에 보여주게 된다
● 클라이언트는 사용자의 입력을 받아서 미들웨어에게 보내고, 응답을 보여주기만 하면 되므로 클라이언트 프로그램의 크기가 작아지고, 프로그램 로직이 변경되도 모든 클라이언트를 다시 배포할 필요가 없어진다
4. WAS(Web Application Server)
● 웹에서 브라우저(클라이언트)와 DBMS 사이에서 동작하는 미들웨어
● 웹 클라이언트(보통 웹 브라우저)의 요청 중 웹 애플리케이션이 동작하도록 지원하는 목적
● WAS의 기본 기능
1. 프로그램 실행 환경과 데이터 베이스 접속 기능을 제공
2. 여러개의 트랜젝션을 관리 (트랜젝션 : 논리적인 작업 단위)
3. 마지막으로는 업무를 처리하는 비즈니스 로직
4. 웹서버 기능
WAS (출처:ttps://preamtree.tistory.com/39)
웹서버 vs WAS
● 웹 서버는 보통 정적인 콘텐츠를 웹 브라우저에게 전송하는 역할 vs WAS는 프로그램의 동적인 결과를 웹 브라우저에게 전송하는 역할을 담당
● 현재는 WAS가 가지고 있는 웹 서버도 정적인 컨텐츠를 처리하는데 성능상 큰 차이 없다
● 웹서버가 WAS 앞단에 있으면 좋은 점 : 대용량 웹 애플리케이션에 사용자가 많을 경우 무중단으로 프로그램을 운영하기 위해 필요하다.(장애극복 ) 문제가 생긴 was를 앞단의 웹 서버에서 해당 was를 이용하지 못하게 하고 was를 재시작하면 사용자는 was에 문제가 발생했는지 모르고 이용
있다.
할 수
edwith의 부스트코스의 웹프로그래밍 강의를 수강하고 공부한 것을 적었습니다.
******************************************