Erstellen von Service Broker-Verträgen
Verträge definieren den Namen einer bestimmten Geschäftsaufgabe und enthalten eine Liste der darin verwendeten Nachrichtentypen. Service Broker-Verträge definieren zwei verschiedene Dienstrollen: Initiator und Ziel. Der Initiator einer Konversation beginnt die Konversation, indem er eine Nachricht an das Ziel sendet. Der bei dieser Konversation verwendete Vertrag definiert, welche Dienstrolle Nachrichten eines bestimmten Typs senden kann.
Erstellen Sie für jeden Task, der von diesem Dienst ausgeführt wird, einen Vertrag mit den Nachrichtentypen für jeden Schritt des Tasks. Geben Sie für jeden Nachrichtentyp an, ob er vom Initiator zum Ziel, vom Ziel zum Initiator oder in beide Richtungen gesendet wird.
Ein Vertrag enthält keine Angaben zur Nachrichtenreihenfolge oder zur Anzahl der Nachrichten eines bestimmten Typs, die gesendet werden können. Bei Service Broker muss der Initiator die erste Nachricht in einer Dialogkonversation senden. Nach der ersten Nachricht bestehen keine Anforderungen an die Reihenfolge.
Ein Nachrichtentyp kann in mehreren Verträgen verwendet werden. Beispielsweise kann eine aus einem XML-Dokument bestehende Nachricht, die eine Teilenummer und eine Mengenangabe enthält, in einem Task für die Annahme von Kundenaufträgen, in einem Task für die Bestandsverwaltung sowie in einem Task für die Versandanforderung sinnvoll sein. Jeder Task entspricht einem anderen Vertrag, aber alle drei Verträge können den gleichen Nachrichtentyp verwenden.
Das Netzwerkformat für eine Nachricht enthält den Namen des Vertrags. Aus diesem Grund werden oft Vertragsnamen ausgewählt, um Sortierungsprobleme und Namenskonflikte zu vermeiden. Weitere Informationen zur Benennung finden Sie unter Benennen von Service Broker-Objekten.