Udostępnij za pośrednictwem


Tworzenie Service Broker obiekty

Aplikacja używa Service Broker przez wykonanie Transact-SQL instrukcji, które działają na Service Broker obiekty zdefiniowane w bazie danych.W tej sekcji opisano zagadnienia ogólne podczas tworzenia Service Broker obiektów aplikacji.

Omówienie

Service Broker obiekty zdefiniować metadane i pamięci masowej dla określonego zestaw zadań:

  • Typy określić dane, które są wymieniane w konwersacji.

  • Kontrakty zdefiniowanie zadań.Każda kontrakt określa typy wiadomości, które mogą być używane w wybranej konwersacji, a która strona konwersacji można wysłać wiadomość.

  • A kolejki przechowuje wiadomości przychodzących dla usługa.

  • A usługa reprezentuje powiązanego zestaw zadań biznesowych.Nazwa usługa służy także do lokalizowania kolejek dla usługa.

Należy zauważyć, że kontrakt zależy od jednego lub więcej typów komunikatów.usługa zależy od kolejki i mogą zależeć od jednej lub kilku umów.Dlatego umów są utworzone po typy wiadomości i usunięte przed typy wiadomości.Usługi są utworzone po kolejek i umów i usunięte przed kolejek i umów.

Tworzenie obiektów usługi

Procedura tworzenia usługi następuje tego samego podstawowego konspektu niezależnie od tego, czy usługa jest usługa inicjujący i usługi miejsce docelowe.

Definicja usługi określa umów, dla których usługa może być miejsce docelowe.In contrast, an application can use a service to initiate a conversation that uses any contract defined in the database.Service Broker takes this approach to enforce the general rule that a service should only receive messages that the application can process.Aby zapewnić aplikacji nie odbiera wiadomości nieznany lub dowolnego typu, Service Broker akceptuje nowe okno dialogowe tylko wtedy, gdy w oknie dialogowym następuje kontrakt określonej w usługa.Usługa inicjujący określa kontrakt do użycia podczas konwersacji zaczyna się, tak aby usługi inicjujący nie musi zawierać kontrakt z definicji usługi.

Do tworzenia obiektów usługa, wykonaj następujące czynności:

  1. Utwórz typy wiadomości, które definiują wiadomości usługa umożliwia wykonywanie wszelkich wymaganych komunikacji.Można samodzielnie zdefiniować te typy lub uzyskać skryptów do tworzenia typów od twórcy serwisu, z którego usługa będzie się komunikować.Gdy baza danych już zawiera typy wiadomości, które usługa musi możesz pominąć ten krok.

  2. Tworzenie jednej lub kilku umów, definiujących strukturę konwersacji, w których mogą uczestniczyć tej usługa.Można samodzielnie zdefiniować niniejszej kontrakt lub uzyskać skryptów do tworzenia kontrakt z twórcą usługę usługa będzie się komunikować.Gdy baza danych zawiera już kontrakty, które wymaga usługa można pominąć ten krok.

  3. Create a queue.Service Broker uses this queue to receive and store incoming messages for the service.Aby uzyskać więcej informacji na temat tworzenia kolejek Zobacz Tworzenie kolejki.Każda usługa musi być kolejką.Aby umożliwić bardziej bezpośrednie programowania i administracji, każdej usługa zazwyczaj używa kolejki dedykowane dla tej usługa.Jeśli usługa wymaga przechowywania wiadomości, należy określić przechowywania wiadomości dla kolejki.

  4. Tworzenie usługa.Definicji usługi określa kolejkę, która korzysta z usługi i umów, dla których usługa jest obiekt miejsce docelowe.

W większości przypadków utworzenia usługa miejsce docelowe, a następnie użyj umów i typy utworzone dla usługa miejsce docelowe utworzyć inicjujący usługa wiadomości.Jednak w niektórych przypadkach może utworzyć usługa miejsce docelowe inicjujący usługi, który jest już zdefiniowany.W takich przypadkach miejsce docelowe usługa używa typów wiadomości i umów, które usługa inicjujący używa.Na przykład, jeśli tworzysz usługa miejsce docelowe do otrzymywania zdarzenie powiadomienia, użyć kontraktu https://schemas.microsoft.com/SQL/Notifications/Postzdarzeniepowiadomienie, ponieważ jest to kontrakt, która używa usługa inicjujący.

Zarządzanie definicje obiektów

Zaleca się utworzenie Transact-SQL skrypt dla Service Broker obiektów, który używa aplikacji.To Transact-SQL skrypt ułatwia odnoszą się do aspektów z Service Broker obiektów.Skrypt zawiera również sposób wdrożyć usługa na inny system lub ponownie usługa, jeśli to konieczne.

Jeśli aplikacja wymaga wysyłania wiadomości między SQL Server wystąpień, zalecane jest utworzenie jednego skryptu definiujący typy wiadomości oraz zamówień na usługa i drugi skrypt definiuje kolejki i usługa.Pierwszy skrypt definiuje interfejs dla usługa, obiekty, które są wspólne dla usługa inicjujący i usługa miejsce docelowe.Drugi skrypt definiuje nazwę usługa i kolejki, obiekty na jednej stronie konwersacji.

W tej sekcji