1. 아키텍쳐(Architecture)
- 건축 분야에서 유래된 용어이다
- 요구 사항을 만족하는 건축물을 만들기 위한 청사진과 같다
- 컴퓨터 시스템에서의 아키텍처는 어떠한 시스템을 구축하는데 있어 해당 시스템의 비지니스적 요구 사항을 만족하는 전체 시스템 구조를 정의하는 것이다
- 전체 시스템 구조를 상호간에 쉽게 이해할 수 있도록 일반적으로 이미지나 도형 등을 많이 사용한다
- 아케텍쳐는 최대한 심플하고 간결해야 한다
2. 시스템 아키텍쳐(System Architecture)
- 하드웨어와 소프트웨어를 모두 포함하는 어떤 시스템의 전체적인 구성을 큰그림으로 표현한 것이다
- 해당 시스템이 어떤 하드웨어로 구성되고, 어떤 소프트웨어를 사용하는지를 대략적으로 알 수 있도록 한다
- 시스템 구성 요소들 간의 상호작용과 시스템의 동작 원리 등을 시스템 아키텍처 안에 표현하면 이해하기가 쉽다
3. 소프트웨어 아키텍쳐(Software Architecture)
- 하드웨어를 제외한 모든 소프트웨어의 구성을 큰 그림으로 표현한 것이다
- Java 플랫폼 아키텍쳐가 대표적이다
- Java의 기술지원, 기능 등을 그림을 통해 알 수 있다
- Spring Framework 모듈 아키텍쳐를 보면 지원하는 모듈을 확인할 수 있다.
- 모듈은 여러가지 기능들을 목적에 맞게 그룹화하여 묶어 놓은 것을 말한다
- Spring에서 모듈은 Java의 패키지 단위로 묶여 있고, 패키지 안에는 클래스들이 포함되어 있다
- 모듈은 재사용이 가능하도록 라이브러리 형태로 제공된다
4. 계층형 아키텍쳐(N-Tier)
1) API 계층(API Layer)
- 클라이언트의 요청을 받아들이는 계층이다
- 표현 계층(Presentation Layer)이라고도 하지만 REST API를 제공하는 애플리케이션의 경우 API 계층이라고 표현한다
2) 서비스 계층(Service Layer)
- API 계층에서 전달 받은 요청을 업무 도메인의 요구 사항에 맞게 비즈니스적으로 처리하는 계층이다
- 애플리케이션의 핵심 로직이 포함되어 있으며, 애플리케이션에 있어 핵심이 되는 계층이다
※ 도메인(Domain)
- 애플리케이션 개발에서 흔하게 사용하는 도메인이란 용어는 주로 비즈니스적인 어떤 업무 영역과 관련이다
- 애플리케이션 개발에서 필요한 업무 로직에 대한 지식을 도메인 지식(Domain Knowledge)이라고 한다
- 도메인 지식이 많을수록 서비스 계층에서 비즈니스 로직으로 구현해야 하는 것들을 퀄리티가 높게 표현할 수 있다
3) 데이터 엑세스 계층(Data Access Layer)
- 비즈니스 계층에서 처리된 데이터를 데이터베이스 등의 데이터 저장소에 저장하기 위한 계층이다
※ 참조 링크
▶ Spring Framework : https://docs.spring.io/spring-framework/docs/5.0.0.M5/spring-framework-reference/html/overview.html
2. Introduction to the Spring Framework
The Spring Framework is a Java platform that provides comprehensive infrastructure support for developing Java applications. Spring handles the infrastructure so you can focus on your application. Spring enables you to build applications from "plain old Ja
docs.spring.io
'Spring Framework' 카테고리의 다른 글
Spring Framwork - PSA(Portable Service Abstraction) (0) | 2022.06.22 |
---|---|
Spring Framework - AOP (0) | 2022.06.22 |
Spring Framework - DI - Spring Container (0) | 2022.06.19 |
Spring Framework - IoC / DI - 기초 (0) | 2022.06.17 |
Spring Framework 특징 (0) | 2022.06.15 |