추가 기능 파이프라인 시나리오

추가 기능 파이프라인 개체 모델을 사용하면 호스트 응용 프로그램과 추가 기능을 다음과 같은 방식으로 융통성 있게 상호 운용할 수 있습니다.

  • 이전 버전과의 호환성. 최신 버전의 호스트 또는 추가 기능이 이전 버전과 함께 작동할 수 있습니다.

  • 격리성 하나 이상의 추가 기능을 호스트 프로세스 또는 격리된 프로세스의 응용 프로그램 도메인으로 이동할 수 있습니다.

  • 공유. 추가 기능을 여러 통신 파이프라인에 사용할 수 있습니다.

다음 그림에서는 간단한 통신 파이프라인과 해당 세그먼트를 보여 줍니다.

표준 통신 파이프라인

추가 기능 파이프라인 모델

이전 버전과의 호환성

이전 버전과의 호환성을 보여 주는 시나리오에는 두 가지가 있습니다.

새 호스트와 이전 추가 기능

다음 그림에서는 새 호스트를 이전 추가 기능과 함께 사용하는 방법을 보여 줍니다.

새 호스트와 이전 추가 기능이 포함된 통신 파이프라인

파이프라인 시나리오: 새 호스트, 이전 추가 기능

이 이전 버전과의 호환성 시나리오에서는 추가 기능측 어댑터(추가 기능측 어댑터 v1->v2)가 형식을 이전 추가 기능에서 인식할 수 있는 형식으로 변환하기 때문에 새 호스트(호스트 v2)가 이전 추가 기능(추가 기능 v1)과 함께 작동할 수 있습니다.

새 추가 기능(추가 기능 v2)에는 새 호스트와 통신하기 위한 고유한 뷰 및 어댑터 세그먼트가 있습니다.

이전 호스트와 새 추가 기능

다음 그림에서는 이전 호스트를 새 추가 기능과 함께 사용하는 방법을 보여 줍니다.

이전 호스트와 새 추가 기능이 포함된 통신 파이프라인

파이프라인 시나리오: 이전 호스트, 새 추가 기능

이 이전 버전과의 호환성 시나리오에서는 추가 기능측 어댑터(추가 기능측 어댑터 v2->v1)가 형식을 이전 호스트에서 인식할 수 있는 형식으로 변환하기 때문에 새 추가 기능(추가 기능 v2)이 이전 호스트(호스트 v1)와 함께 작동할 수 있습니다.

다양한 격리 수준

Activate 메서드의 적절한 오버로드를 사용하면 새 프로세스나 응용 프로그램 도메인에서 추가 기능을 활성화할 수 있습니다. 이러한 격리가 필요한 이유는 다음과 같습니다.

  • 호스트 응용 프로그램이 변경되어 이전 추가 기능에서 새로운 해당 종속성을 수용할 수 없는 상황을 처리하기 위해. 예를 들어 이러한 상황은 호스트 응용 프로그램이 새로운 버전의 .NET Framework로 업그레이드되는 경우에 발생할 수 있습니다.

  • 추가 기능이 고유한 프로세스에서 실행되도록 하여 안정성을 확보하기 위해

  • 추가 기능을 위한 샌드박스를 만드는 경우. 예를 들어 호스트 응용 프로그램과 추가 기능은 AddInSecurityLevel 열거형에 의해 지정되는 신뢰 수준이 서로 다릅니다.

다음 그림에서는 두 개의 추가 기능(하나는 격리된 프로세스에 있음)이 포함된 통신 파이프라인을 보여 줍니다. 그림에서 OOP는 격리된 프로세스를 나타냅니다.

격리된 추가 기능이 포함된 통신 파이프라인

파이프라인 시나리오: 격리 수준

이 시나리오에서 파이프라인 개발자는 서로 다른 두 버전의 계약과 어댑터를 가지고 있습니다. 하나는 응용 프로그램 도메인 간 통신을 위해 최적화되어 있고 다른 하나는 프로세스 간 통신을 위해 최적화되어 있습니다. 추가 기능과 호스트 모두 계약 및 격리 수준에 관계없이 동일한 뷰를 사용하기 때문에 차이점을 인식할 필요가 없습니다.

공유 추가 기능

추가 기능이 호스트와 호환되는 경우 해당 추가 기능을 여러 호스트와 함께 사용할 수 있습니다. 예를 들어 공유 추가 기능을 사용하여 호스트 웹 응용 프로그램을 위한 인터넷 검색 기능을 제공하는 도구 모음을 구현할 수 있습니다. 또 다른 예로는 전자 메일 서비스 또는 전자 메일 클라이언트를 위한 스팸 필터 및 바이러스 보호 기능을 제공하는 공유 추가 기능을 들 수 있습니다.

추가 기능이 새 호스트와 함께 작동하도록 하려면 추가 기능 뷰에서 호스트의 계약으로 변환하는 새 추가 기능측 어댑터를 만들어야 합니다.

다음 그림에서는 추가 기능(추가 기능 A)을 두 개의 호스트 응용 프로그램(호스트 A 및 호스트 B)에서 공유하는 방법을 보여 줍니다.

공유 추가 기능이 포함된 통신 파이프라인

파이프라인 시나리오: 공유 추가 기능

참고 항목

개념

파이프라인 개발