Share via


배포를 위한 디자인

COM+ 애플리케이션의 scope 계획하는 것은 초기에 고려해야 할 중요한 디자인 작업입니다. COM+를 사용하여 실행하려는 분산 시스템은 최소한의 개별 구성으로 배포하고 각 프로세스를 가장 효율적으로 사용하도록 설계해야 합니다. COM+ 애플리케이션을 배포할 때 최적의 성능을 달성할 수 있도록 하는 데 사용할 수 있는 기술도 있습니다. 자세한 내용은 더 빠른 통신을 위한 배포를 참조하세요.

구성 요소 서비스 관리 도구를 사용하여 볼 때 각 COM+ 애플리케이션은 구성 요소 집합이 논리적으로 그룹화된 폴더로 표시됩니다. COM+ 애플리케이션 구성 요소 폴더 간에 개별 구성 요소를 이동할 수 있지만(즉, 한 애플리케이션에서 다른 애플리케이션으로) COM+ 애플리케이션 수준에서 설정된 여러 서비스(예: 보안)가 다를 수 있습니다. 이러한 서비스 설정은 이식성에 영향을 줄 수 있습니다.

COM+ 서버 애플리케이션은 프로세스 경계를 정의합니다.

새 COM+ 서버 애플리케이션을 만들 때 실제로 새 프로세스 경계를 정의합니다. (아래에 설명된 라이브러리 애플리케이션에 대한 예외를 기록해 둡니다.) 이 프로세스는 COM+ 애플리케이션에 포함된 구성 요소에 대한 제어 애플리케이션 instance 됩니다. 이러한 구성 요소는 모두 프로그램이 COM+ 애플리케이션을 처음 호출할 때마다 COM+ 실행 프로그램의 새 instance in-process로 실행됩니다. 즉, 지정된 COM+ 애플리케이션의 Components 폴더 내의 모든 구성 요소는 DCOM 서버 역할을 하는 단일 프로세스 공간에서 실행됩니다. COM+ 애플리케이션 내에서 COM+는 메모리, DTC(Distributed Transaction Coordinator)와의 조정, 정품 인증 instance Just-In-Time 구성 요소, 크래시 검색 및 복구 및 역할 기반 보안을 관리합니다.

COM+ 애플리케이션 경계를 넘어 호출

각 COM+ 애플리케이션은 일반적으로 별도의 실행 파일로 구현되므로 분산 애플리케이션을 여러 COM+ 애플리케이션에 분할하면 한 COM+ 애플리케이션의 구성 요소가 다른 COM+ 애플리케이션의 구성 요소를 호출할 때 out-of-process COM 호출이 발생합니다. 이로 인해 프로세스 간에 COM 매개 변수를 마샬링하는 데 부과되는 추가 부담으로 인해 성능이 저하됩니다.

참고

이 성능 페널티를 발생시키는 데 본질적으로 잘못된 것은 없습니다. 발생할 것임을 알고 있어야 합니다. 필요한 응답 시간, 동시에 비즈니스 서비스를 요청하는 사용자 수 및 각 구성 요소가 각 COM+ 애플리케이션에 추가하는 추가된 시작 부담에 따라 애플리케이션 간 호출에 기인하는 성능 저하가 허용될 수 있습니다.

 

COM+ 애플리케이션 경계를 넘어 호출하는 성능 저하를 제거하는 한 가지 가능성은 지정된 COM+ 애플리케이션을 라이브러리 애플리케이션으로 표시하는 것입니다. COM+ 라이브러리 애플리케이션은 해당 애플리케이션을 만드는 클라이언트 프로세스에서 실행됩니다. 물론 성능 향상에는 비용이 전혀 없습니다. 이 경우 단점에는 COM+ 라이브러리 애플리케이션의 제한 사항이 포함됩니다. 라이브러리 애플리케이션은 역할 기반 보안을 사용할 수 있지만 대기 중인 구성 요소 또는 원격 액세스를 지원할 수 없습니다.

더 빠른 통신을 위한 배포

가용성을 위한 디자인

확장성을 위한 디자인

보안을 위한 디자인