[2021년 정보시스템감리사][소프트웨어공학] 49번
49. 다음 시퀀스 다이어그램은 아키텍처 패턴의 개략적인 동작을 보여준다. 이 패턴에 대한 설명으로서 가장 적절한 것은?
① 분산 애플리케이션을 개발할 때의 복잡도를 증가시킨다.
② 동일한 환경에서의 서비스 실행을 지원한다.
③ 여러 서비스를 하나의 동일한 언어로 개발하는 것이 일반적이다.
④ modifiability, availability, performance 측면에서 바람직하다.
[해설]
▣ Broker Arch.
Pattern
- 분산 소프트웨어 시스템(분리된 컴포넌트들이 원격
서비스를 호출해 상호작용하는 시스템)을 구조화할 때
유용한 패턴
- 브로커
컴포넌트가 통신을 관할, 결과와 예외 전송 역할 담당
▣ Context
-
현재 개발 중인 환경이 독립적인 협력 컴포넌트들로 구성된 이질적인 분산 시스템
▣ Problem
-
복잡한 소프트웨어 시스템을 서로 결합하지 않고 상호운용적인 컴포넌트들의 집합으로 구성하면
유연성(flexibility), 유지보수성(maintainability), 가변성(changability) 측면에서 뛰어난 결과 기대
- 기능을
독립적인 컴포넌트들로 분할해야 분산 가능(distributable), 상황에 맞게 규모를 변경 가능(scalable)
-
분산 컴포넌트들이 서로 통신할 때,
IPC(inter-process communication, 프로세스간 통신)이 가능하도록
지원해야함. 그렇지 않고 컴포넌트들이 스스로 통신을 처리하도록 시스템을 구축하면, 그 시스템은 통신 메커니즘, 프로그래밍 언어, 클라이언트가 서버의 위치를 반드시 파악해야하는 등의 종속과 제약을 받음
▣ Solution
- 클라이언트와
서버를 제대로 분리(decoupling)하기 위해 브로커 컴포넌트 도입
-
단일 애플리케이션을 분산 애플리케이션 형태의 객체 모델로 확장할 수 있기 때문에 확장된
이 분산 애플리케이션은 이기종 머신에서 실행될 수 있고 각기 다른 프로그래밍 언어로 작성 가능

댓글
댓글 쓰기