728x90
반응형

<서버 1주차 수업내용 정리>

 

먼저 식당을 예시로 들어보겠다.

 

식당에는 손님과 종업원, 주방장, 스마트 냉장고가 있다.

 

다음과 같은 방식으로 식당은 운영된다.

 

손님은 종업원에게 음식을 주문한다.

종업원은 1. 손님에게 주문받기 2. 주방장에게 주문내용 전달하기 3. 서빙(ex. 물 가져다주기)과 같은 역할을 한다.

주방장은 주문받은 메뉴의 레시피를 스마트 냉장고에 입력한다.

냉장고는 레시피 logic에 맞춰 음식을 만들어준다.

주방장은 만들어진 음식을 종업원에게 전달해주고 종업원은 손님에게 가져다준다.

 

이 과정과 똑같다고 생각하면 된다. 손님은 클라이언트로, 안드로이드 앱, 웹페이지 등을 예로 들 수 있다.

필요한 것을 종업원, 바로 서버에게 요청한다. 서버는 클라이언트가 요청한 것을 백엔드(백엔드언어)에게 전달하고, 백엔드언어는 로직에 맞춰 DBMS(DataBase Management System)으로부터 필요한 데이터를 얻게 된다.

 

아래의 그림을 통해 클라이언트, 서버, 백엔드(백엔드 언어), DBMS의 관계를 명확히 적립하도록 하자.

 

클라이언트-서버-백엔드-데이터베이스의 관계

 

여기서 주목해야할 것은 만약 재료의 재고가 다 떨어진다면 종업원은 재료 업체에게 재료를 주문하게 된다. 이렇게 생각하면 이 상황에서는 재료 주문을 하는 종업원이 클라이언트의 역할을 하게되고, 재료를 제공해주는 재료 업체가 서버의 역할을 하게된다. 

 

이처럼 서버와 클라이언트는 역할의 개념이며, 서버는 서버의 역할만 할 수 있는게 아니라 하는 일에 따라 클라이언트도 될 수 있는 것이다.

 

또한 일반적으로 테이블이 하나 밖에 없는 식당이라면 종업원을 쓰지 않고 주방장 혼자서 다 할 것이다. 종업원을 쓰는 이유는 손님이 많을 때 효과적으로, 원활하게 관리하기 위함이다.

다시말해 서버가 필요한 이유는 수많은 클라이언트들의 요청을 서버를 통해 효율적으로 관리하기 위함인 것이다.

아래의 그림과 같이 N:1의 관계에서 1의 역할을 하는 것이 바로 서버이다. 서버는 쉽게 말해 "개념"같은 것이다. 

 

클라이언트와 서버의 관계 - N:1 관계

 

이 글이 서버를 처음 접하는 여러분들에게 도움이 되었으면 좋겠다. 

 

나도 서버를 배우고 있어서 수업 내용을 이렇게 블로그를 통해 정리해볼 생각이다. 

 

다음 글은 이번주 과제인 "내 컴퓨터에 서버, Backend Language, DBMS를 설치하여 웹페이지 화면 띄워보기" 이다.

 

과제를 진행하고 글을 올리도록 하겠다. 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기