아키텍처 스타일은 아키텍처 설계에서 반복해서 나타나는 문제를 해결하고 아키텍처가 만족시켜야 하는 시스템 품질속성을 달성할 수 있는 방법을 문서로 정리한 것
(아키텍처 스타일은 시스템의 모든 설계 작업의 기초를 제공)
- 구성요소들
- 구성요소들의 상호관계와 구성방식
- 구성요소들의 정확한 의미와 한계
- 구성방식에 맞춰 구성요소들이 상호작용하는 메커니즘
아키텍처 스타일에 아키텍처 설계의 근거를 제공하는 프레임워크(근거 프레임워크, reasoning framework)를 결합한 것
근거 프레임워크는 속성 특화 모델(attribute-specific model)에 기반을 둔다.
ABAS는 한 번에 한 품질속성을 다룬다.
<예> 성능과 가용성을 달성하는 데 좋은 아키텍처 스타일이 있다면 성능 ABAS와 가용성 ABAS를 만든다.
기존 아키텍처 스타일이 단순히 품질속성에 기반을 둔 것이라면 ABAS는 특정 품질속성에 특화된 것으로 아키텍처 스타일이 특정 품질속성을 달성하는 방법까지 설명한다.
- 문제 기술 : ABAS가 적용되는 특정 품질속성 관련 요구사항 같은 ABAS를 적용하려는 상황을 설명한다.
- 자극과 반응 측정 : 근거를 밝히고 통제하고 특정하고 싶은 자극과 반응을 정의한다.
- 아키텍처 스타일 : 문제를 해결하기 위한 구성요소들과 이 구성요소들의 관계를 설명한다.
실제 프로젝트에서 아키텍처를 설계하기 위해 아키텍처 스타일을 기술해야 한다면,
아키텍처 스타일을 적용할 때 결정해야 하는 중요한 아키텍처 판단 사항을 기술한다.
- 분석 : 자극/반응과 아키텍처 스타일의 관계를 설명한다.
목표 : 재사용과 변경가능성 달성
일괄 순차 처리
- 구성요소 : 독립 프로그램들
- 각 단계는 다음 단계를 시작하기 전에 모두 끝나야 한다.
- 각 일괄 처리 단계의 데이터는 단계 사이에 통째로 움직인다.
구성요소 : 필터
연결요소 : 파이프
- 필터들은 서로 독립이다. 따라서, 서로 상태를 공유하지 않는다.
- 필터는 자신에게 데이터를 전달하는 필터가 무엇인지 자신이 데이터를 전달하는 필터가 무엇인지 알지 못한다.
- 데이터 흐름 제어를 한 눈에 쉽게 알 수 있다.
- 처리량 분석 같은 특화된 분석을 할 수 있다.
- 필터를 재사용할 수 있다.
- 동시성을 확보할 수 있다.
- 시스템 유지보수와 확장이 쉽다.
- 상호작용이 많은 시스템에서는 적절하지 않다.
- 서로 분리되어 있지만 연관성이 많은 데이터 흐름 사이의 일치성을 보장하기 어렵다.
- 복잡도가 커지고 성능이 떨어지기 쉽다.
목표 : 변경가능성과 확장성 달성
지면 관계상 다음에 아키텍처 스타일의 종류에 대하여 추가적으로 알아보겠다.
알고보니 - 아키텍처 스타일 대표예제 : Layered Architecture (0) | 2022.04.06 |
---|---|
알고보니 - 아키텍처 스타일 및 종류 (2/2) (0) | 2022.04.01 |
알고보니 - SW 아키텍처 스타일 (0) | 2022.03.25 |
알고보니 - REST 아키텍처 스타일 (0) | 2022.03.23 |
알고보니 - 하이퍼레저 패브릭(블록체인 오픈 소스) (0) | 2022.03.11 |
댓글 영역