Share via


Creazione dei servizi di Service Broker

Si applica a:SQL ServerIstanza gestita di SQL di Azure

La definizione di un servizio Service Broker include i nomi dei contratti per i quali il servizio è una destinazione. Un servizio di destinazione rappresenta un indirizzo che accetta le richieste per le attività identificate dai contratti specificati dal servizio. Un servizio di origine rappresenta un indirizzo del mittente per una conversazione con un servizio di destinazione.

Un servizio rappresenta un processo di business come un set distinto di attività. Ogni contratto all'interno del servizio rappresenta un'attività specifica. Un servizio può specificare più di un contratto e lo stesso contratto può essere usato da più di un servizio.

Ogni servizio usa una coda per archiviare i messaggi. I messaggi inviati al servizio vengono recapitati alla coda. In generale, le applicazioni sono più semplici da implementare quando un solo servizio usa una data coda. Tuttavia, per offrire una maggiore flessibilità, Service Broker consente a più servizi di specificare la stessa coda. In questo caso, l'applicazione tratta tutti i messaggi di un tipo allo stesso modo oppure controlla sia il nome del tipo di messaggio che il nome del servizio per determinare come elaborare il messaggio. Questa strategia può essere utile quando un'applicazione supporta più versioni dello stesso servizio.

Il formato di rete di un messaggio include il nome del servizio. Pertanto, i nomi del servizio vengono spesso scelti in modo da evitare problemi di confronto e conflitti di denominazione. Per altre informazioni sulla denominazione, vedere Denominazione degli oggetti di Service Broker.

Per creare un servizio, è necessario eseguire le seguenti operazioni:

  1. Creare tipi di messaggio che definiscono i dati trasmessi in entrata e in uscita.

  2. Creare un contratto che identifichi i tipi di messaggio da usare e quale endpoint possa inviarli, per eseguire una determinata attività.

  3. Creare un'applicazione per ricevere, elaborare e inviare messaggi in base alle esigenze dell'attività specificata da eseguire.

  4. Creare una coda per archiviare i messaggi in arrivo per il servizio. È possibile associare la coda a una stored procedure di attivazione in modo che il broker attivi automaticamente la stored procedure per elaborare i messaggi quando arrivano.

  5. Creare un servizio e associarlo alla coda che riceverà i messaggi per il servizio. Il servizio espone i contratti che definiscono le attività che il servizio eseguirà per conto di altri servizi. Il servizio non deve specificare contratti per le attività richieste dal servizio ad altri servizi.

I passaggi relativi alla creazione di un servizio possono variare in qualche modo, a seconda delle esigenze specifiche del servizio. Quando ad esempio si crea un servizio per gestire notifiche degli eventi, il tipo di messaggio e il contratto sono già definiti da SQL Server e di conseguenza non è necessario crearli.

Vedi anche