티스토리 뷰

Web/Spring Boot

System architecture 설계

개발을해보자 2020. 4. 29. 00:20

우리가 제공하는 서비스는 프로그램으로만 이루어져 있지 않다.

소프트웨어에 해당하는 프로그램, 프로그램을 구동하는 하드웨어, 여러 가지 인프라를 포함해서 '시스템'이라고 부른다.

이러한 시스템이 어떻게 구성되는지를 다루는 것이 시스템 아키텍쳐이다.

 

우리는 Web, Mobile 환경에서 클라이언트에게 서비스를 제공해준다.

이 둘은 각각 Web browser, Mobile App을 통해 접근한다는 점이 다르다.

 

서로 다른 부분들을 Front-end로 분리하고, 서로 공통인 부분들을 Back-end로 분리한다.

 


Multi-tier Architecture

여러 개의 계층으로 구성된 시스템을 의미한다.

가장 흔히 쓰이는 것이 3-tier Architecture이다.

 

3-tier Architecture

Logic tier가 Business에 해당한다.

  • Presentation : 사용자와 소통하는 부분    -  Front-end - HTML/CSS/Javascript
  • Business : 사용자와 소통한 결과(사용자가 요청한 것을 처리하고 일어난 일들을 처리)    - Back-end - REST API
  • Data source : 처리한 것이 저장되는 곳    - Database - DBMS

Business

Layered Architecture 모델이 사용된다.

 

  • UI Layer
  • Application Layer
  • Domain Layer
  • Infrastructure Layer

각 Layer는 바로 아래 또는 그보다 아래 있는 Layer에 의존하고, 아래 있는 Layer는 위에 있는 Layer를 쓸 수 없다.

예를 들어, UI Layer는 다른 Layer를 사용할 수 있지만, Domain Layer는 UI Layer를 사용할 수 없다.

 

 

Java와 Spring Boot를 이용해 REST API를 만들고, 이것을 통해 Front-end에서 사용할 수 있는 Back-end를 만들어 볼 것이다.

'Web > Spring Boot' 카테고리의 다른 글

Controller를 이용해 가게 목록 가져오기  (0) 2020.04.30
REST API  (0) 2020.04.29
TDD의 활용  (0) 2020.04.29
테스트 주도 개발  (0) 2020.04.29
Spring Boot 프로젝트 생성  (0) 2020.04.29
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함