아키텍처(Architecture)
: 건축 분야에서 오래된 용어로써 요구사항을 만족하는 건물을 짓는데 있어서 청사진 같은 역할을 함(건물의 구조물에 대한 컨셉을 잡는 것)
: 어떠한 시스템을 구축하는데 있어 해당 시스템의 비즈니스적 요구 사항을 만족하는 전체 시스템 구조를 정의하는 것
[시스템 아키텍처]
시스템 아키텍처(System Architecture)
: 하드웨어와 소프트웨어를 모두 포함하는 어떤 시스템의 전체적인 구성을 큰 그림으로 표현
-> 기본적으로 해당 시스템이 어떤 하드웨어로 구성되고, 어떤 소프트웨어를 사용하는지 알 수 있음
-> 구성 요소들 간의 상호작용이 어떻게 이루어지는지 등 시스템이 정상적으로 동작하기 위한 동작 원리 등이 표현됨
[소프트웨어 아키텍처 / 애플리케이션 아키텍처]
소프트웨어 아키텍처(Software Architecture)
: 소프트웨어의 구성과 그 구성요소가 가진 특성 중 외부에 드러나는 특성, 구성 요소 간의 관계를 표현하는 시스템 구조
* 소프트웨어 : 하드웨어를 제외한 컴퓨터내의 모든 프로그램을 포괄
소프트웨어 아키텍처 설계의 기본 원리
모듈화 : 소프트웨어 성능 향상 및 유지관리 등이 용이하도록 시스템의 기능을 모듈단위로 나누는 것
추상화 : 전체적이고 포괄적인 개념을 설계한 후에 구체화시켜 나가는 것
단계적 분해 : 상위 개념부터 하위 개념으로 구체화 시키는 분할 기법 하향식 설계 전략
정보은닉 : 모듈 내부에 정보와 자료들을 숨겨 다른 모듈이 접근하거나 수정 못하도록 하는 기법
웹 애플리케이션 아키텍처
: 애플리케이션의 아키텍처 유형 중 계층형 아키텍처(N-티어)는 웹 애플리케이션과 연관이 있음
* REST API 기반 웹 애플리케이션의 계층이라고도 함
1) API 계층 (API Layer)
: 클라이언트의 요청을 받아들이는 계층
: REST API를 제공하는 애플리케이션의 경우 API 계층이라 표현함
2) 서비스 계층 (Service Layer)
: API 계층에서 전달 받은 요청을 업무 도메인의 요구 사항에 맞게 비즈니스적으로 처리하는 계층
3) 데이터 액세스 계층 (Data Access Layer)
: 비즈니스 계층에서 처리된 데이터를 DB등의 데이터 저장소에 저장하기 위한 계층
'공부 자료 > 기타' 카테고리의 다른 글
[기타] 정규표현식 (계속 새로운 정규표현식 업데이트 예정) (1) | 2022.10.22 |
---|---|
[JSON] JSON 직렬화/역직렬화 (0) | 2022.10.21 |
[JSON] JSON이란? (0) | 2022.10.21 |
[기타] Postman(HTTP API 테스트 도구) (0) | 2022.10.03 |
[기타] JSON (1) | 2022.10.01 |