아키텍쳐(Architecture)란?
요구사항을 만족하는 건축물을 짓는데 있어 청사진 같은 역할
ex) 아파트, 빌딩 등의 조감도
아키텍처 - 건물, 구조물의 컨셉부터 잡을 것
복잡하지 않고, 최대한 심플함을 유지할 것!
아키텍처 유형 in 컴퓨터 시스템
- 시스템 아키텍처
- 소프트웨어 아키텍처 / 애플리케이션 아키텍처
시스템 아키텍처
: 시스템의 건체적인 구성을 큰 그림으로 표현
➡ 해당 시스템의 하드웨어 구성, 소프트웨어 알 수 있음
시스템 구성 요소들 간의 상호작용 방법,
시스템 정상 동작 원리 등이 표현 될 수 있음.
소프트웨어 아키텍처 / 애플리케이션 아키텍처
소프트웨어 아키텍처
소프트웨어의 구성을 큰 그림으로 표현
어떤 기술을 지원하는지, 어떤 기능을 사용할 수 있는지 O
웹 애플리케이션을 위한 아키텍처
애플리케이션 : (넓은 의미) 클라이언트의 요청을 처리하는 서버 애플리케이션
애플리케이션의 아키텍처 유형 中 계층형 아키텍처 (N-티어)
API 계층 (API Layer)
= 표현 계층 (Presentation Layer)
: 클라이언트의 요청을 받아들이는 계층
REST API 제공하는 애플리케이션의 경우 API Layer
서비스 계층(Service Layer)
: API 계층에서 전달받은 요청을
도메인의 요구 사항에 맞게 비즈니스적으로 처리
애플리케이션의 핵심 계층
* 도메인 = 분야, 범위, 영역...
도메인 지식 = 특정한 전문화된 학문이나 분야의 지식
ex) 배달 어플 개발시 도메인 지식 = 음식 주문, 주문 처리, 배달 과정 ...
데이터 액세스 계층(Data Access Layer)
: 비즈니스 계층에서 처리된 데이터를 db에 저장하기 위한 계층
아키텍처로 보는 Spring Framework 모듈(Module) 구성
* 모듈이란? : Framework 에서 지원되는 여러가지 기능들을 목적에 맞게 그룹화해서 묶어 놓은 것
재사용 가능, 라이브러리 형태로 제공됨
각 모듈을 구성하는 라이브러리 예시
Core Container : spring-core, spring-beans, spring-context, spring-context-support, and spring-expression
AOP & Instrumentation : spring-aop, spring-aspects, sprint-instrument, spring-instrument-tomcat
Messaging : Message, MessageChannel, MessageHandler
Data Access/Integration : spring-jdbc, spring-tx, sprint-orm, spring-oxm, spring-jms
Web : spring-web, spring-webmvc and spring-websocket
Test : spring-test, ApplicationContexts
'Spring' 카테고리의 다른 글
[Spring] Java 기반 컨테이너, Component Scan, 의존 관계 주입 방법 (0) | 2022.10.18 |
---|---|
[Spring] 스프링 컨테이너(Spring Container), 빈(Bean), 빈스코프(Bean Scope) 란? +싱글톤(Singleton) 스코프 (0) | 2022.10.13 |
[Spring] PSA 란? (Portable Service Abstraction) (0) | 2022.10.12 |
[Spring] AOP란? (Aspect Oriented Programming) (0) | 2022.10.12 |
[Spring] IoC(Inversion of Control) / DI(Inversion of Control) 이란? (0) | 2022.10.12 |
댓글