목차
- 시스템 아키텍처
- 소프트웨어/ 애플리케이션 아키텍쳐
- 계층형 아키텍쳐
배운 내용
**시스템 아키텍처**
- 하드웨어와 소프트웨어를 모두 포함하는 어떤 시스템의 전체적인 구성을 큰그림으로 표현한 것
- 시스템을 구축하는데 있어 해당 시스템의 비지니스적 요구 사항을 만족하는 전체 시스템 구조를 정의하는 것
- 최대한 심플함을 유지
도메인(Domain)
- 주로 비즈니스적인 어떤 업무 영역과 관련
- 도메인 지식(Domain Knowledge)들을 서비스 계층에서 비즈니스 로직으로 구현 해야한다.
모듈(Module)
- 여러가지 기능들을 목적에 맞게 그룹화 하여 묶어 놓은 것
- 모듈들은 Java의 패키지 단위로 묶여 있으며, 이 패키지 안에는 관련 기능을 제공하기 위한 클래스들이 포함되어있다.
- 일반적으로, 재사용 가능하도록 라이브러리 형태로 제공됨
**소프트웨어 아키텍처 / 애플리케이션 아키텍처**
계층형 아키텍처(N-티어)
API 계층(API Layer)
서비스 계층(Service Layer)
- API 계층에서 전달 받은 요청을 업무 도메인의 요구 사항에 맞게 비즈니스적으로 처리하는 계층
• 데이터 액세스 계층(Data Access Layer)
- 비즈니스 계층에서 처리된 데이터를 데이터베이스 등의 데이터 저장소에 저장하기 위한 계층
**Spring Boot을 사용해야 하는 이유**
- XML 기반의 복잡한 설계 방식 지양
- 의존 라이브러리의 자동 관리
- 애플리케이션 설정의 자동 구성
- 프로덕션급 애플리케이션의 손쉬운 빌드
- 내장된 WAS를 통한 손쉬운 배
혹시 툴그림은 어떤 프로그램으로 작성하시나요? 너무 예뻐서 저도 쓰고싶어서요