이벤트 컬렉션 아키텍처
이벤트 컬렉션은 XML 파일, 응용 프로그램 또는 데이터베이스와 같은 하나 이상의 원본에서 이벤트 데이터를 수집하여 이 정보를 알림 응용 프로그램에 전송하는 과정입니다. 이 작업은 이벤트 공급자가 수행합니다.
각 응용 프로그램에서는 이벤트를 수집하기 위해 하나 이상의 이벤트 공급자를 사용합니다. 각 이벤트 공급자는 이벤트 개체 API, XML API 또는 SQL Server API의 3가지 이벤트 API 중 하나를 사용하여 데이터를 응용 프로그램에 전송합니다. 다음 그림에서는 이러한 API가 어떤 기능을 하는지 자세히 보여 줍니다.
- 이벤트 개체 API는 Event 및 EventCollector 개체를 사용하여 개별 이벤트를 전송합니다. 응용 프로그램은 이벤트 테이블의 필드 이름을 사용하여 Event 개체를 이벤트 수집기에 전송하고 이벤트 수집기는 데이터를 이벤트 테이블에 기록합니다.
- XML API는 XML 데이터를 대량 로드하는 방법을 제공합니다. XML 이벤트 공급자는 이벤트 원본으로부터 XML 문서나 스트림을 수집하여 해당 데이터를 XML EventLoader로 전송하고 XML EventLoader는 이벤트를 이벤트 테이블에 기록합니다.
- SQL Server API는 저장 프로시저를 사용하여 데이터베이스 개체로부터 이벤트 데이터를 로드합니다. SQL Server 이벤트 공급자를 사용하는 일반적인 두 가지 방법은 저장 프로시저를 사용하여 공급자를 호출하는 것과 일정에 따라 쿼리를 실행하는 것입니다. 이벤트 공급자는 결과 집합을 받고 API 저장 프로시저를 사용하여 결과 집합을 이벤트 테이블에 기록합니다.
이벤트 클래스 뷰
Notification Services 인스턴스를 만들면 Notification Services에서 이벤트 클래스와 같은 이름을 가진 뷰를 추가합니다. 이 뷰는 알림 생성 쿼리의 이벤트 원본입니다.
SQL Server 2005 Notification Services는 또한 이 뷰에 대한 이벤트 삽입을 지원합니다. 이 뷰에 이벤트를 삽입하면 Notification Services에서 각 삽입 문에 대해 이벤트 일괄 처리를 만들고 닫습니다.
표준 및 사용자 지정 이벤트 공급자
Notification Services 응용 프로그램 개발자는 위에 나열된 API 중 하나를 사용하여 자체의 사용자 지정 이벤트 공급자를 기록하거나 Notification Services에 제공되는 표준 이벤트 공급자 중 하나를 사용할 수 있습니다. 표준 이벤트 공급자는 감시된 폴더에서 XML 데이터를 선택하고 SQL Server 데이터베이스를 쿼리하고 Analysis Services 큐브를 쿼리할 수 있습니다. 자세한 내용은 표준 이벤트 공급자를 참조하십시오.
사용자 지정 이벤트 공급자는 표준 이벤트 공급자에서 사용할 수 없는 기능을 제공합니다. 예를 들어 주식 티커에서 쉼표로 구분된 파일의 데이터를 수집하려는 경우 Notification Services API를 사용하여 이러한 기능을 가진 이벤트 공급자를 만들 수 있습니다. 사용자 지정 이벤트 공급자에 대한 자세한 내용은 사용자 지정 이벤트 공급자 개발을 참조하십시오.
호스팅된 이벤트 공급자와 호스팅되지 않은 이벤트 공급자
이벤트 공급자는 호스팅되거나 호스팅되지 않습니다.
호스팅된 이벤트 공급자는 Notification Services 내에서 실행됩니다. 호스팅된 이벤트 공급자는 지속적으로 실행되거나 응용 프로그램 정의에 정의되어 있는 일정에 따라 실행될 수 있습니다. 이러한 이벤트 공급자는 이벤트 공급자 호스트라고 하는 Notification Services 구성 요소에 의해 실행됩니다. 이벤트 공급자 호스트는 생성자 구성 요소와 동일한 일정을 사용하여 실행되며 이 일정은 응용 프로그램 정의에 지정됩니다.
호스팅되지 않은 이벤트 공급자는 외부 응용 프로그램으로 실행되며 자체 일정대로 이벤트를 전송합니다. 예를 들어 이벤트 전송을 위한 웹 메서드를 제공하는 인터넷 정보 서비스(IIS)에 의해 호스팅되는 이벤트 공급자가 호스팅되지 않은 이벤트 공급자입니다. 사용자가 작성한 프로세스 안에서 호스팅되는 이벤트 공급자도 호스팅되지 않은 이벤트 공급자입니다.
이벤트 일괄 처리
이벤트 공급자는 이벤트를 일괄적으로 기록합니다. 이벤트를 일괄적으로 기록하면 생성자가 현재 구독 집합과 이벤트 일괄 처리의 모든 이벤트를 한 번에 조인할 수 있습니다. 이러한 일괄적인 처리는 응용 프로그램 성능을 향상시킵니다.
참고 항목
개념
구독 관리 아키텍처
구독 처리 아키텍처
알림 서식 지정 및 배달 아키텍처
관련 자료
Notification Services 뷰
이벤트 클래스 정의
이벤트 공급자 정의