부트캠프 기록/Serction2

아키텍처

bbangduck 2023. 3. 28. 15:34
  • 아키텍처(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