Back-end

Server Layer (3-Tier)

yujin0517 2024. 4. 28. 11:09

Server Layer (3-Tier)

웹 페이지를 통해 사용자가 어떤 정보를 요청한다고 해보자

사용자의 요청은 웹 브라우저를 통해 이뤄진다. 사용자의 요청을 요청 객체에 받아서 요청을 처리하는 비즈니스 계층에 전달된다. 이때, 요청 객체에 담긴 정보는 다양하다. Fom을 통해 입력 정보를 받아올 수도 있고, URL의 ?key=value 값으로 정보를 받아올 수 있다. 또, 사용자 정보를 언제까지 유지할지 설정할 수 있는 세션(session)도 요청 객체에 담을 수 있다. 

받아 온 사용자 정보를 가지고 인증 절차를 거치고 비즈니스 계층에서 사용자가 원하는 정보를 반환하기 위해 데이터베이스에 접근하여 필요한 데이터를 가져오고 가공하는 과정을 거친다. 비즈니스 계층에는 크게 요청을 받는 계층(컨트롤러), 받은 요청을 처리하기 위해 데이터베이스에 접근하는 계층(레포지토리, DAO)으로 나뉜다. 

이렇게 사용자의 요청을 처리하는 과정을 기능에 따라 Presentation Tier, Business Logics Tier, Data Management Tier으로 나눌 수 있다. 

MVC 패턴을 적용해서 설명하면, Presentation Tier는 View, Business Logics Tier는 Controller, 앞의 두 계층을 이어주는 Model 객체가 있다고 생각하면 될 것 같다. 

 


 

1. Presentation Tier

사용자에게 UI, 웹 화면 등을 제공해 주는 계층이다. 사용자는 보통 해당 계층을 통해 웹 페이지를 사용하며, 요청을 보낸다. 그리고 사용자 요청에 의해 가공된 정보는 해당 계층을 통해 사용자에게 제공된다. 

 

2. Business Logics Tier

사용자의 요청을 받아 요청 정보를 확인하고, 정보를 반환하기 위해 데이터베이스에 접근해 원하는 데이터를 가져오고, 이를 가공해서 Presentation Tier에 전달한다.

 

3.  Data Management Tier

데이터를 관리하는 계층이다. 사용자의 요청으로 데이터가 새로 추가되거나 변경될 경우 이를 반영하여 데이터를 관리한다. 

 


 

웹 개발을 위해 Java와 MySQL을 공부했고, JPA와 Spring 프레임워크를 사용하여 웹 페이지를 구현했다. 지금은 VB, C#과 MSSQL을 공부해서 ADO와 .NET/ASP.NET 프레임워크를 사용해 웹 서비스를 만들기 위해 배우는 중이다. 

Spring을 실무에서 다뤄보지 못해 아쉽지만, 지금은 그 아쉬움보다 새로운 기술을 배울 수 있다는 점에서 기대가 된다. 

'Back-end' 카테고리의 다른 글

서버 성능 최적화  (0) 2023.10.17
클라우드 컴퓨팅 & AWS  (0) 2023.10.17