Service Broker-services maken

Van toepassing op:SQL ServerAzure SQL Managed Instance

De definitie van een Service Broker-service bevat de namen van de contracten waarvoor de service een doel is. Een doelservice vertegenwoordigt een adres dat aanvragen accepteert voor de taken die worden geïdentificeerd door de contracten die door de service worden opgegeven. Een initiërende service vertegenwoordigt een retouradres voor een gesprek met een doelservice.

Een service vertegenwoordigt een bedrijfsproces als een afzonderlijke set taken. Elk contract binnen de service vertegenwoordigt een specifieke taak. Een service kan meer dan één contract opgeven en een contract kan door meer dan één service worden gebruikt.

Elke service maakt gebruik van een wachtrij voor het opslaan van berichten. Berichten die naar de service worden verzonden, worden bezorgd in de wachtrij. Over het algemeen zijn toepassingen het eenvoudigst te implementeren wanneer slechts één service een bepaalde wachtrij gebruikt. Voor flexibiliteit kan Service Broker echter meerdere services dezelfde wachtrij opgeven. In dit geval behandelt de toepassing alle berichten van hetzelfde type op dezelfde manier of inspecteert zowel de naam van het berichttype als de servicenaam om te bepalen hoe het bericht moet worden verwerkt. Deze strategie kan handig zijn wanneer een toepassing meerdere versies van dezelfde service ondersteunt.

De netwerkindeling voor een bericht bevat de naam van de service. Daarom worden servicenamen vaak gekozen om sorteringsproblemen en naamconflicten te voorkomen. Zie Name Service Broker-objecten voor meer informatie over naamgeving.

Als u een service wilt maken, moet u het volgende doen:

  1. Maak berichttypen waarmee de gegevens worden gedefinieerd die heen en weer kunnen worden verzonden.

  2. Maak een contract waarmee de berichttypen worden geïdentificeerd die kunnen worden gebruikt en welk eindpunt ze kan verzenden om een bepaalde taak uit te voeren.

  3. Maak zo nodig een toepassing om berichten te ontvangen, te verwerken en te verzenden om de opgegeven taak uit te voeren.

  4. Maak een wachtrij om de inkomende berichten voor de service op te slaan. U kunt de wachtrij koppelen aan een opgeslagen activeringsprocedure, zodat de broker automatisch de opgeslagen procedure activeert om berichten te verwerken wanneer berichten binnenkomen.

  5. Maak een service en koppel deze aan de wachtrij die de berichten voor de service ontvangt. De service maakt de contracten beschikbaar die de taken definiëren die de service namens andere services uitvoert. De service hoeft geen contracten op te geven voor taken die door de service worden aangevraagd bij andere services.

De exacte stappen bij het maken van een service kunnen enigszins verschillen, afhankelijk van de specifieke behoeften van de service. Wanneer u bijvoorbeeld een service maakt voor het afhandelen van gebeurtenismeldingen, zijn het berichttype en het contract al gedefinieerd door SQL Server, zodat u ze niet hoeft te maken.