아키텍쳐

InSeok·2022년 9월 9일
0

TIL

목록 보기
26/51

목차


  1. 시스템 아키텍처
  2. 소프트웨어/ 애플리케이션 아키텍쳐
  3. 계층형 아키텍쳐

배운 내용


**시스템 아키텍처**

  • 하드웨어와 소프트웨어를 모두 포함하는 어떤 시스템의 전체적인 구성을 큰그림으로 표현한 것
  • 시스템을 구축하는데 있어 해당 시스템의 비지니스적 요구 사항을 만족하는 전체 시스템 구조를 정의하는 것
  • 최대한 심플함을 유지

도메인(Domain)

  • 주로 비즈니스적인 어떤 업무 영역과 관련
  • 도메인 지식(Domain Knowledge)들을 서비스 계층에서 비즈니스 로직으로 구현 해야한다.

모듈(Module)

  • 여러가지 기능들을 목적에 맞게 그룹화 하여 묶어 놓은 것
  • 모듈들은 Java의 패키지 단위로 묶여 있으며, 이 패키지 안에는 관련 기능을 제공하기 위한 클래스들이 포함되어있다.
  • 일반적으로, 재사용 가능하도록 라이브러리 형태로 제공됨

**소프트웨어 아키텍처 / 애플리케이션 아키텍처**

계층형 아키텍처(N-티어)

API 계층(API Layer)

  • 클라이언트의 요청을 받아들이는 계층

서비스 계층(Service Layer)

  • API 계층에서 전달 받은 요청을 업무 도메인의 요구 사항에 맞게 비즈니스적으로 처리하는 계층

데이터 액세스 계층(Data Access Layer)

  • 비즈니스 계층에서 처리된 데이터를 데이터베이스 등의 데이터 저장소에 저장하기 위한 계층

**Spring Boot을 사용해야 하는 이유**

  • XML 기반의 복잡한 설계 방식 지양
  • 의존 라이브러리의 자동 관리
  • 애플리케이션 설정의 자동 구성
  • 프로덕션급 애플리케이션의 손쉬운 빌드
  • 내장된 WAS를 통한 손쉬운 배
profile
백엔드 개발자

1개의 댓글

comment-user-thumbnail
2023년 4월 11일

혹시 툴그림은 어떤 프로그램으로 작성하시나요? 너무 예뻐서 저도 쓰고싶어서요

답글 달기