Share via


Creazione di servizi di Service Broker

La definizione di un servizio di Service Broker include i nomi dei contratti per cui il servizio stesso rappresenta una destinazione. Un servizio di destinazione rappresenta un indirizzo che accetta richieste per le attività identificate dai contratti che il servizio specifica, mentre un servizio di origine rappresenta l'indirizzo del mittente per una conversazione con un servizio di destinazione.

Un servizio rappresenta un processo aziendale 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 un contratto può essere utilizzato da più di un servizio.

Per archiviare i messaggi, ogni servizio utilizza una coda cui vengono recapitati i messaggi inviati al servizio. In generale, l'implementazione delle applicazioni risulta più semplice quando solo un servizio utilizza una coda specifica. Per motivi di flessibilità, tuttavia, in Service Broker più servizi possono specificare la stessa coda. In questo caso, l'applicazione considera tutti i messaggi dello stesso tipo in modo analogo oppure controlla sia il nome del tipo di messaggio che quello del servizio per determinare le modalità di elaborazione del messaggio. Questa strategia può essere conveniente quando un'applicazione supporta più versioni dello stesso servizio.

Poiché il formato di rete per un messaggio include il nome del servizio, i nomi dei servizi vengono spesso scelti per evitare problemi relativi alle regole di confronto e conflitti di denominazione. Per ulteriori informazioni sulla denominazione, vedere Denominazione di oggetti di Service Broker.

Per creare un servizio, effettuare le operazioni seguenti:

  1. Creare tipi di messaggi che definiscano i dati che possono essere inviati e restituiti.

  2. Creare un contratto che identifichi i tipi di messaggi che possono essere utilizzati e l'endpoint che può inviarli per eseguire un'attività specifica.

  3. Creare un'applicazione per ricevere, elaborare e inviare messaggi per eseguire l'attività specificata.

  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 Service Broker attivi automaticamente la stored procedure per elaborare i messaggi man mano che arrivano.

  5. Creare un servizio e associarlo alla coda che riceverà i messaggi per il servizio stesso. 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à che richiede da altri servizi.

I passaggi esatti da seguire per creare un servizio possono differire 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.