본문 바로가기

Dev.../소프트웨어 아키텍처

[SA강좌] Part 3-9 아키텍처스타일 적용

아키텍처 스타일 적용

소프트웨어 아키텍처 전이과정의 첫 번째 카테고리는 소프트웨어 아키텍처상 아키텍처 스타일의 적용과 관련이 있다. 이 카테고리는 아키텍처의 완전한 재구조화 과정이 된다. 따라서 모든 아키텍처 컴포넌트에 영향을 미치며 컴포넌트상의 기능적 재조정이 함께 적용되는 재구조화가 이루어진다. 따라서 컴포넌트 사이간 원래의 커넥션(연결점)이 영향을 받으며, 결과적으로는 아키텍처 스타일 적용이 대규모로 아키텍처 전반에 대한 영향을 미치는 전이 과정이 이루어진다.

 

여기서 아키텍처 스타일에 대한 가장 기본적인 스타일에 대해서 표로 정리해 보았다.

표 Ⅲ-12. 아키텍처 스타일

스타일

특징

  • Pipes and filters 
  • 파이프 및 필터 스타일은 화학공장에서 사용되는 정제탑을 생각하면 된다. 필터는 재료에서 화학물을 정제해 내는 과정과 같으며, 화학물의 이동통로는 파이프로 이해하면 된다.
  • 따라서 파이프/필터 스타일은 필터로 처리되고 파이프를 통하여 데이터 흐름이 데이터 네크웍에서 진행된다.
  • Layers 
  • 레이어드 아키텍처 스타일은 시스템을 수평적 레이어로 분해하는 것을 말하며, 각 레이어는 층을 나누기 위하여 몇 개의 레이어로 구분되며 상위 계층에서 하위계층으로의 연결은 인터페이스가 사용된다. 결과적으로 높은 수준의 추상화 단위작업은 수많은 lower-level 작업들로 분해된다. 이때 상속의 개념을 통하여 lower-level 작업은 일정한 폼을 형성한다.
  • Blackboard 
  • 인공지능 분야에서 시작한 블랙보드 스타일은 데이터나 지식을 공유하는 메커니즘을 사용한다. 따라서 블랙보드 스타일을 적용한 모델은 데이터 저장소(다수의)를 통하여 추론하게 된다.
  • Object-Orientation 
  • 객체 지향 스타일은 커뮤니케이션 객체란 용어로 시스템에 적용된다. 객체는 시스템의 상태를 저장하거나 상태에 접근 및 저장 및 변경을 하기 위한 함수 역할을 하는 엔터티로 표현된다.
  • Implicit invocation
  • 객체지향 스타일이 각 객체들간에 의존관계가 심화되기 때문에 사용되는 암시적 호출 스타일이다. 암시적 호출 스타일은 이벤트 발생, 저장용 데이터, 이벤트 소멸과 관련한 컴포넌트란 용어로 시스템을 구성한다.(대표적 예 : JavaBeans)