POSA(Pattern-Oriented Software Architecture) POSA(Pattern-Oriented Software Architecture) 는 소프트웨어 아키텍처 설계를 위한 패턴 시스템으로, 재사용 가능한 솔루션을 제시하여 복잡한 시스템의 구조화를 돕는다. 1996 년 첫 출간된 POSA 시리즈는 아키텍처 패턴, 디자인 패턴, 이디엄 (Idiom) 을 체계적으로 분류하며, GoF 디자인 패턴보다 상위 수준의 구조적 접근을 강조한다.
POSA 시리즈는 5 권으로 구성되어 있으며, 각 권은 서로 다른 영역의 패턴에 초점을 맞추고 있다:
권 번호 제목 저자 출판 연도 주요 내용 POSA 1 패턴 지향 소프트웨어 아키텍처 - 아키텍처 패턴 시스템 Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal 1996 레이어드 (Layered), 파이프 - 필터 (Pipe-Filter), 블랙보드 (Blackboard), 브로커 (Broker) 등 기본적인 아키텍처 패턴 소개 및 시스템 활용법 제시 POSA 2 패턴 지향 소프트웨어 아키텍처 - 동시성 및 네트워킹 패턴 Douglas Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann 2000 리액터 (Reactor), 프로액터 (Proactor), 액셉터 - 커넥터 (Acceptor-Connector) 등 동시성, 분산 시스템, 네트워킹 패턴 중심 POSA 3 패턴 지향 소프트웨어 아키텍처 - 리소스 관리 패턴 Michael Kircher, Prashant Jain 2004 룩업 (Lookup), 이진 객체 (Binary Object), 캐싱 (Caching), 레지스트리 (Registry) 등 리소스 관리 중심 패턴 소개 POSA 4 패턴 지향 소프트웨어 아키텍처 - 패턴 언어를 이용한 분산 컴퓨팅 Frank Buschmann, Kevin Henney, Douglas C. Schmidt 2007 분산 컴퓨팅 환경에서 패턴 언어를 활용한 설계 방법론 제시 POSA 5 패턴 지향 소프트웨어 아키텍처 - 패턴과 패턴 언어 Frank Buschmann, Kevin Henney, Douglas C. Schmidt 2007 패턴 작성, 평가, 적용의 메타 패턴적 접근법과 패턴 언어 구성 전략 제시 POSA 와 관련된 중요 컨셉 패턴 맵핑 (Pattern Mapping): 추상적 패턴을 구체적 구현으로 변환하는 과정 패턴의 일반적 구조를 특정 기술 스택에 적용하는 방법 패턴 시스템 진화 (Pattern System Evolution): 패턴 시스템이 시간에 따라 변화하고 발전하는 방식 새로운 기술과 패러다임에 따른 패턴 적응 및 확장 안티패턴 (Anti-patterns): 흔히 발생하지만 문제를 야기하는 잘못된 설계 사례 POSA 에서는 안티패턴을 식별하고 해결하는 방법 제시 패턴 발견 프로세스 (Pattern Mining Process): 실제 시스템 설계 경험에서 패턴을 추출하는 체계적 방법 패턴의 문서화, 검증, 개선 과정 핵심 개념 패턴 지향 설계 (Pattern-Oriented Design)
POSA 의 기본 철학은 검증된 디자인 패턴을 사용하여 소프트웨어 설계 문제를 해결하는 것이다. 패턴은 특정 컨텍스트에서 반복적으로 발생하는 문제에 대한 일반화된 해결책이다.
...