소프트웨어 아키텍처 - 14(Plug-In Architecture Style)

박승현·2023년 10월 8일
0

아키텍처

목록 보기
14/30
post-thumbnail

Plug-In Architecture Style

  • 개요
    • 변화하는 시스템 요구 사항에 적응
    • 확장기능을 연결하고 기능간의 협력을 조율하기 위한 소켓 역할을 수행
    • 핵심 응용 프로그램에 대한 플러그인으로 추가 응용 프로그램 기능을 제공하여 확장성과 기능 분리를 제공
  • 구조
    • 응용 프로그램 구조는 독립적인 플러그인 모듈과 기본 핵심 시스템 사이에 나누어짐
    • 핵심 시스템
      • 시스템을 운영 가능하게 하는 데 필요한 최소한의 기능만 포함
    • 플러그인 모듈
      • 독립적인 구성 요소
      • 전문 처리, 추가 기능 및 사용자 정의 코드를 포함
      • 핵심 시스템을 향상하거나 확장하여 추가 비즈니스 기능을 생성

  • 고려사항
    • 플러그인 간의 통신은 최소화하여 종속성 문제를 피함
    • 플러그인 레지스트리
      • 각 플러그인 모듈에 대한 정보
      • 이름, 데이터 계약 및 원격 엑세스 프로토콜 세부 정보와 같은 정보를 포함

  • 예시
    • Eclipse IDE
      • 기본 eclipse에 플러그인 추가
    • Internet browsers
      • 기본 브라우저
      • 뷰어 및 기타 플러그인
    • Claims processing
      • 청구 처리를 위한 핵심 시스템
      • 특정 주(지역)의 규칙을 포함하는 플러그인 모듈

  • Eclipse 아키텍처
    • 플러그인은 java로 작성
    • 플러그인은 jar라이브러리에 있는 java코드, 읽기정용 파일, 이미지등의 다른 리소스로 구성
    • 각 플러그인에는 다른 플러그인과 상호 연결을 선언하는 메니페스트 파일이 있음

  • 예시 너무 많아서 ppt로 보기
    • web browser, chromium, firefox, chrome등이 있음

Plug in 아키텍처 특징

  • 이식성 : 플러그인은 핵심 시스템과 독립적으로 개발되어 특정 플랫폼에 종속되지 않고 여러 환경에서 사용 가능
  • 유연성 : 핵심시스템에 기능을 추가하거나 변경하면서 변화하는 요구사항에 쉽게 대응할 수 있음
  • 정책과 메커니즘의 분리 : 핵심 로직(정책)과 확장 기능(메커니즘)을 분리할 수 있고 이는 유지 관리 및 설계를 단순화하고 정책과 메커니즘의 변경을 독립적으로 다룰 수 있도록 함
profile
KMU SW

0개의 댓글