Condividi tramite


Creazione di contratti di Service Broker

I contratti definiscono il nome di un'attività aziendale specifica ed elencano i tipi di messaggi utilizzati in tale attività. I contratti di Service Broker definiscono due ruoli relativi al servizio diversi, ovvero il servizio Initiator e il servizio di destinazione. Il servizio Initiator per una conversazione avvia la conversazione inviando un messaggio al servizio di destinazione. Il contratto che la conversazione utilizza definisce quale ruolo del servizio può inviare messaggi di un tipo specifico.

Per ogni attività eseguita dal servizio, creare un contratto che include i tipi di messaggi per ogni passaggio nell'attività. Per ogni tipo di messaggio, specificare se il tipo di messaggio viene inviato dal servizio Initiator a quello di destinazione, dal servizio di destinazione al servizio Initiator oppure in entrambe le direzioni.

Un contratto non specifica l'ordine dei messaggi oppure il numero di messaggi di un tipo specifico che può essere inviato. In Service Broker è necessario che in una conversazione il primo messaggio venga inviato dal servizio Initiator. Dopo il primo messaggio, non è presente alcun requisito di ordinamento.

Gli stessi tipi di messaggi possono essere utilizzati da più contratti. Un messaggio costituito da un documento XML che contiene un numero di articolo e la quantità può essere utile ad esempio in un'attività che accetta un ordine da un cliente, in un'attività che gestisce le scorte e in una che richiede la spedizione. Ogni attività corrisponde a un contratto distinto, ma tutti i tre contratti possono utilizzare lo stesso tipo di messaggio.

Poiché il formato di rete per un messaggio include il nome del contratto, i nomi dei contratti 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.