소프트웨어 아키텍처 101 - CHAPTER 11 파이프라인 아키텍처 스타일
레이어드 아키텍처(layered architecture, n-티어(n-tiered) 아키텍처)는 가장 흔한 아키텍처 스타일 중 하나입니다. 단순하고 대중적이면서 비용도 적게 들어 모든 애플리케이션의 사실상 표준(de facto standard) 아키텍처입니다. 그러나 레이어드 아키텍처 스타일은 묵시적 아키텍처(architecture by implica...
레이어드 아키텍처(layered architecture, n-티어(n-tiered) 아키텍처)는 가장 흔한 아키텍처 스타일 중 하나입니다. 단순하고 대중적이면서 비용도 적게 들어 모든 애플리케이션의 사실상 표준(de facto standard) 아키텍처입니다. 그러나 레이어드 아키텍처 스타일은 묵시적 아키텍처(architecture by implica...
아키텍처 스타일은 종종 아키텍처 패턴이라고 부르며, 다양한 아키텍처 특성을 다루는 컴포넌트의 명명된 관계(named relationship)를 기술합니다. 아키텍처 스타일의 명칭은 (설계 패턴도 그렇듯이) 숙련된 아키텍트들 사이에서 간명하게 지칭할 수 있는 이름으로 붙여 놓았습니다. 따라서 아키텍트는 기초적인 아키텍처 스타일의 명칭에 익숙해져야 합니다...
아키텍트는 보통 모듈을 물리적으로 구현한 컴포넌트(component)로 생각합니다. 이 장에서는 범위부터 검색에 이르기까지 컴포넌트에 관한 아키텍처 고려 사항을 알아보겠습니다. 8.1 컴포넌트 범위 컴포넌트는 아키텍처에서 서브시스템이나 레이어 형태로도 나타나며, 많은 이벤트 프로세서를 위한 배포 가능한 작업 단위입니다. 💡 서비스(servic...
아키텍트는 운영 아키텍처 특성을 따져보고 아키텍처 특성에 영향을 미치는 코드베이스 외부의 컴포넌트를 잘 살펴봐야 합니다. 그래서 이런 종류의 의존성을 특정하기 위해 Building Evolutionary Architectures(O’reilly, 2017)의 저자들은 아키텍처 퀀텀(architecture quantum)이라는 용어를 정의했습니다. 아키...
6.1 아키텍처 특성 특정 아키텍처 특성을 정의할 때 발생하는 문제들 물리학이 아니다. 아키텍처 특성은 대부분 의미가 모호합니다. 동일한 용어도 업계에서 바라보는 시각이 제각각이고 법적인 상황에 따라 좌지우지되거나 우발적으로 의미가 정해지는 경우도 있습니다. ...
아키텍처를 구축하거나 기존 아키텍처의 타당성을 검증할 때 제일 먼저 해야 할 일은 아키텍처 특성을 식별하는 것입니다. 아키텍트는 해당 도메인을 잘 이해하고 있어야 하며, 도메인 관점에서 정말 중요한 것들을 결정해야 합니다. 5.1 도메인 관심사에서 아키텍처 특성 도출 아키텍트는 도메인 관심사를 올바르게 해석하여 정확한 아키텍처 특성을 식별해야 합니...
아키텍트는 개발팀과 함께 도메인 또는 비즈니스 요구사항을 정의할 수 있지만, 주로 소프트웨어로 처리할 일 중 도메인 기능과 직접적인 관련이 없는 모든 것들, 즉 아키텍처 특성(architectural characteristic)을 정의, 발견, 분석하는 일을 수행합니다. 아키텍처 특성은 다음 세가지 기준을 충족합니다. 비도메인(nondomai...
본인이 선택한 개발 플랫폼에서 모듈성과 그것을 구현한 수많은 코드를 이해하는 것은 아키텍트에게 대단히 중요한 일입니다. 우리가 아키텍처를 분석해야 할 많은 도구가 바로 이 모듈성에 기반하기 때문입니다. 모듈성은 일종의 구성 원리(organizing principle)입니다. 3.1 정의 사전에서 모듈을 찾아보면, ‘복잡한 구조를 만드는 데 쓰이는 ...
아키텍처 사고(architectural thinking): 아키텍처적인 눈으로, 즉 아키텍처 관점에서 사물을 바라보는 것 아키텍트의 사고 방식 아키텍처와 설계의 차이를 이해하고 아키텍처 작업을 진행하려면 개발팀과 어떻게 협력해야 할 지 아는 것. 어느 정도 기술 깊이를 유지하면서 폭 넓은 기술 지식을 확보하는 것...
소프트웨어 아키텍트가 커리어패스가 분명하지 않은 이유 직업 자체에 명확한 정의가 없다. 소프트웨어 아키텍트의 역할은 방대한 분야를 포괄하며, 업무 범위도 계속 넓어지고 있다. 소프트웨어 개발 생태계는 워낙 빠르게 발전하는 분야이고 소프트웨어 아키텍처는 끊임없이 변한다. 소프트웨어 아키택처에 관한 자료는 대부분 역사적인 역사성을 강조한...