Share via


Architettura della raccolta degli eventi

La raccolta degli eventi è il processo che consente il recupero dei dati degli eventi da una o più origini dati, ad esempio applicazioni, database o file XML, e che inoltra queste informazioni a un'applicazione di notifica. Queste operazioni vengono eseguite dai provider di eventi.

Ogni applicazione utilizza uno o più provider di eventi per raccogliere gli eventi. Ogni provider di eventi inoltra i dati raccolti all'applicazione utilizzando una delle tre API disponibili: un'API degli oggetti evento, un'API XML e un'API di SQL Server. Nell'illustrazione che segue è rappresentata una panoramica del funzionamento di queste API.

Architettura della raccolta degli eventi

  • L'API degli oggetti evento utilizza gli oggetti Event e EventCollector per inoltrare eventi singoli. Mediante i nomi di campo disponibili in una tabella degli eventi, un'applicazione inoltra un oggetto Event allo strumento di raccolta degli eventi, che quindi scrive i dati nella tabella degli eventi.
  • L'API XML consente di eseguire il caricamento di massa di dati XML. Il provider di eventi XML recupera un flusso o un documento XML da un'origine di eventi e inoltra i dati all'oggetto XMLEventLoader, che scrive gli eventi nella tabella degli eventi.
  • L'API di SQL Server utilizza stored procedure per caricare i dati degli eventi da oggetti di database. Due modalità di utilizzo tipiche del provider di eventi di SQL Server sono l'esecuzione di una query in base a una determinata pianificazione e la chiamata del provider mediante una stored procedure. Il provider di eventi riceve un set di risultati e lo scrive nella tabella degli eventi utilizzando le stored procedure dell'API.

Viste di classi di eventi

Quando si crea un'istanza di Notification Services, Notification Services aggiunge una vista con lo stesso nome della classe degli eventi, che rappresenta l'origine degli eventi per le query di generazione delle notifiche.

SQL Server 2005 Notification Services supporta anche l'inserimento di eventi in questa vista. Tale operazione provoca la creazione e la chiusura di un batch di eventi da parte di Notification Services per ogni istruzione di inserimento.

Provider di eventi standard e personalizzati

Gli sviluppatori di applicazioni di Notification Services possono creare provider di eventi personalizzati tramite una delle API sopra descritte oppure utilizzare uno dei provider di eventi standard disponibili in Notification Services. I provider di eventi standard consentono di recuperare dati XML da una cartella controllata, di eseguire query in database SQL Server e in cubi di Analysis Services. Per ulteriori informazioni, vedere Provider di eventi standard.

I provider di eventi personalizzati offrono funzionalità non disponibili nei provider di eventi standard. Ad esempio, potrebbe essere necessario raccogliere dati da un file delimitato da virgole proveniente da un ticker per le azioni. Tramite l'API di Notification Services, lo sviluppatore può creare un provider di eventi dotato di questa funzionalità. Per ulteriori informazioni sui provider di eventi personalizzati, vedere Sviluppo di un provider di eventi personalizzato.

Provider di eventi hosted e non hosted

I provider di eventi possono essere hosted o non hosted.

I provider di eventi hosted vengono eseguiti all'interno di Notification Services. Possono essere eseguiti in modo continuativo oppure in base a una pianificazione specificata nella definizione dell'applicazione. Questi provider di eventi vengono eseguiti da un componente di Notification Services denominato host del provider di eventi. L'host del provider di eventi viene eseguito in base alla stessa pianificazione specificata per il componente generatore, che viene inserita nella definizione dell'applicazione.

I provider di eventi non hosted vengono eseguiti come applicazioni esterne e inoltrano gli eventi in base a una pianificazione specifica. Ad esempio, un provider di eventi ospitato da Internet Information Services (IIS) che espone un metodo Web per l'inoltro di eventi è un provider di eventi non hosted. Anche un provider di eventi ospitato da un processo creato dallo sviluppatore è un provider di eventi non hosted.

Batch di eventi

I provider di eventi scrivono gli eventi in batch. Questa operazione consente al generatore di confrontare il set corrente di sottoscrizioni con tutti gli eventi di un batch in un'unica operazione. Questo tipo di elaborazione basata su batch migliora le prestazioni delle applicazioni.

Vedere anche

Concetti

Architettura della gestione delle sottoscrizioni
Architettura dell'elaborazione delle sottoscrizioni
Architettura della formattazione e del recapito delle notifiche

Altre risorse

Visualizzazioni di Notification Services
Definizione delle classi di evento
Definizione di provider di eventi

Guida in linea e informazioni

Assistenza su SQL Server 2005