다음을 통해 공유


큐에 대기된 구성 요소 아키텍처

COM+ 큐에 대기 중인 구성 요소 서비스는 구성 요소를 동기(실시간) 또는 비동기(대기 중)로 호출할 수 있는 환경을 제공하여 COM 프로그래밍 모델을 향상시킵니다. 구성 요소는 실시간 또는 큐에 대기 중인 컨텍스트에서 사용되는지 여부를 인식할 필요가 없습니다.

메시징 애플리케이션은 프로그램 간의 전자 메일 트랜잭션과 같습니다. 요청자가 서버에 메시지를 보냅니다. 서버가 이 서버에 도착하면 메시지가 처리됩니다. 전자 메일과 마찬가지로 메시징 시스템은 네트워크 세부 정보를 처리하고 메시지가 클라이언트에서 서버로 이동해야 합니다. 큐에 대기 중인 구성 요소 프레임워크에서 메시지 큐는 이를 담당합니다.

COM+ 큐에 대기된 구성 요소 서비스는 다음 부분으로 구성됩니다.

  • 레코더(클라이언트 또는 송신 쪽의 경우)
  • 수신기(서버 또는 수신 쪽의 경우)
  • 플레이어(서버 또는 수신 쪽의 경우)

클라이언트에서 서버로의 경로(클라이언트, 레코더, 큐, 수신기, 플레이어, 서버)를 보여 주는 다이어그램

레코더

일반적인 큐에 대기 중인 구성 요소 시나리오에서 클라이언트는 큐에 대기 중인 구성 요소를 호출합니다. 큐에 대기 중인 구성 요소 레코더를 호출하여 메시지의 일부로 패키지하고 큐에 넣습니다. 레코더는 클라이언트의 보안 컨텍스트를 메시지에 마샬링하고 클라이언트의 모든 메서드 호출을 기록합니다. 서버 구성 요소의 프록시 역할에서 레코더는 COM+ 카탈로그의 큐 가능 인터페이스에서 인터페이스를 선택합니다.

기록의 표현은 서버로 보낼 메시지로 메시지 큐에 전송됩니다. 큐에 대기 중인 구성 요소에 필수 또는 지원됨의 트랜잭션 특성 설정이 있는 경우 메시지 큐는 클라이언트 쪽 트랜잭션이 커밋되고 메시지 큐가 트랜잭션인 경우에만 메시지 배달을 허용합니다. 이는 일반적으로 설정된 기본값입니다. 트랜잭션 특성 설정이 새로 필요인 경우 클라이언트 쪽 트랜잭션이 중단되더라도 메시지 큐에서 메시지를 수락할 수 있습니다. 트랜잭션에 대한 자세한 내용은 트랜잭션 메시지 큐를 참조하세요.

수신기

큐에 대기된 구성 요소 수신기는 큐에서 메시지를 검색하여 큐에 대기된 구성 요소 플레이어에 전달합니다.

플레이어

플레이어는 서버 쪽에서 클라이언트의 보안 컨텍스트를 숨기지 않고 서버 구성 요소를 호출하고 동일한 메서드를 호출합니다. 클라이언트 구성 요소가 완료되고 메서드 호출을 기록한 트랜잭션이 커밋될 때까지 메서드 호출은 플레이어에 의해 재생되지 않습니다.

메시지 이동기

큐에 대기 중인 구성 요소 메시지 이동기는 실패한 모든 메시지 큐 메시지를 한 큐에서 다른 큐로 이동하여 다시 시도하도록 하는 유틸리티입니다. 메시지 이동기 유틸리티는 VBScript를 사용하여 호출할 수 있는 Automation 개체입니다. 자세한 내용은 오류 처리를 참조하세요.