- 아키텍처(Architecture)의 의미를 이해할 수 있다.
- 우리가 알아야 할 애플리케이션의 아키텍처를 이해할 수 있다.
- 아키텍처를 통해 Spring Framework의 모듈(Module) 구성을 이해할 수 있다.
아키텍처: 어떠한 시스템을 구축하는데 있어 해당 시스템의 비즈니스적 요구 사항을 만족하는 전체 시스템 구조를 정의하는 것
컴퓨터 시스템에서의 아키텍처 유형
- 시스템 아키텍처
- 소프트웨어/ 애플리케이션 아키텍처
웹 애플리케이션 아키텍처
- API 계층
- 클라이언트의 요청을 받아들이는 계층. 일반적으로 표현 계층(Presentation Layer)라고도 불리지만 REST API를 제공하는 애플리케이션의 경우 API 계층이라고 표현.
- 서비스 계층
- API 계층에서 전달 받은 요청을 업무 도메인의 요구 사항에 맞게 비즈니스적으로 처리하는 계층
- 데이터 액세스 계층
- 비즈니스 계층에서 처리된 데이터를 데이터베이스 등의 데이터 저장소에 저장하기 위한 계층
3계층 아키텍처의 장점
" 3계층 아키텍처의 주요 장점은 기능의 논리적 및 물리적 분리입니다. 각 계층은 별도의 운영체제 및 서버 플랫폼에서 실행될 수 있습니다. (예: 웹 서버, 애플리케이션 서버, 데이터베이스 서버) 이는 기능적 요구사항에 가장 적합합니다. 그리고 각 계층이 하나 이상의 전용 서버 하드웨어 또는 가상 서버에서 실행되므로, 다른 티어에 영향을 주지 않고도 각 계층의 서비스를 사용자 정의하고 최적화할 수 있습니다. "
출처
https://www.ibm.com/kr-ko/cloud/learn/three-tier-architecture#toc-3---OSCZqf5d
Spring Framwor 모듈 구성
모듈
Java에서는 일반적으로, 지원되는 여러가지 기능들을 목적에 맞게 그룹화 하여 묶어 놓은 것
이러한 모듈들은 Java의 패키지 단위로 묶여 있으며, 이 패키지 안에는 관련 기능을 제공하기 위한 클래스들이 포함되어 있음
일반적으로 모듈은 재사용 가능하도록 라이브러리 형태로 제공되는 경우가 많음
'부트캠프 기록 > Serction2' 카테고리의 다른 글
Spring Framework 특징 (0) | 2023.03.26 |
---|---|
[Spring Core] AOP (0) | 2022.10.20 |
부트캠프 2달차 KPT 회고 (0) | 2022.10.19 |
[Spring Core] (1) | 2022.10.15 |
[Spring Core] spring container 와 bean (0) | 2022.10.14 |