Udostępnij za pośrednictwem


Co robi Service Broker?

Service Broker ułatwia deweloperom tworzenie asynchronicznych, luźno aplikacji, w których niezależnych współdziałania składników do wykonania zadania.Te składniki aplikacji wymiany wiadomości, które zawierają informacje wymagane do ukończenia zadania.W tym temacie opisano następujące aspekty Service Broker:

  • Konwersacji

  • Porządkowanie wiadomości i koordynacja

  • Transakcyjne programowania asynchroniczne

  • Obsługa aplikacji luźno

  • Service Broker składniki

Konwersacji

Service Broker opracowano wokół podstawowych funkcji wysyłania i odbierania wiadomości.Każdy komunikat stanowi część konwersacji.Każda z nich jest kanałem komunikacyjnym niezawodne, trwałe.Każdej wiadomości konwersacji i ma określony typ, które Service Broker wymusza ułatwia programistom pisanie niezawodnych aplikacji.

Nowy Transact-SQL instrukcje pozwalają aplikacji w wiarygodny sposób wysyłania i odbierania tych komunikatów.Aplikacja wysyła komunikaty do usługa, jest to nazwa zestaw powiązanych zadań.Aplikacja odbiera wiadomości z kolejki, który jest widokiem wewnętrznej tabela.

Komunikaty dla tego samego zadania są częścią tej samej konwersacji.W ramach każdej konwersacji Service Broker gwarancje aplikacja otrzymuje każdej wiadomości tylko raz w celu wysłania wiadomości.Program, który implementuje usługa można skojarzyć pokrewne konwersacji dla tej samej usługa w grupa konwersacji, jak opisano w Zalety Service Broker.

Zabezpieczenia oparte na certyfikatach pomaga chronić ważne wiadomości i kontrolowania dostępu do usług.Analogii jest wyobrazić sobie Service Broker są takie jak pocztowy usługa.Posiadać konwersację z odległych współpracownika, można komunikować się przez wysyłanie listów poprzez zwykłą usługa.usługa pocztowe sortuje i dostarcza litery.Użytkownik i jego współpracownik następnie pobrać listy skrzynek pocztowych, je odczytać, zapisać odpowiedzi i wysłać nowe listy, dopóki nie skończy się konwersacji.Litera dostarczania asynchronicznie, podczas gdy użytkownik i jego współpracownik obsługi innych zadań.

Dwóch użytkowników wymienia listy, korzystając z usług poczty.

Programy mogą korzystać z Service Broker jak zwykłą usługa do obsługi asynchronicznego konwersacji z innymi programami. Service Broker funkcja wiadomości, takie jak litery.A Service Broker Usługa jest adres, gdzie post office oferuje liter.Kolejki są skrzynek pocztowych, które zawierają litery po są dostarczane.Aplikacje odbierać wiadomości, działają na wiadomości i wysyłanie odpowiedzi.

Gdy aplikacja wysyła wiadomość do Service Broker usługa, jest izolowana od szczegółów implementacji aplikacji na drugim końcu konwersacji.Dynamicznie ponownie skonfigurowane przez aplikację odbierającą lub zastąpione nowy kod bez wpływu na aplikację wysyłającą.Można nawet zamknąć aplikację odbierającą niedziałający tymczasowo; tylko wpływ będzie Service Broker śledzi dodanie nowych wiadomości do kolejki, do czasu ponownego uruchomienia aplikacji odbierającej.

Porządkowanie wiadomości i koordynacja

Service Broker obsługuje kolejkowania wspólnej bazy danych programowania technika inaczej niż tradycyjne produkty w dwóch aspektach klucz:

  • Service Broker kolejki są zintegrowane w bazie danych.

  • Kolejki koordynować i zamówić wiadomości pokrewne.

Zintegrowane kolejkowania oznacza, że także konserwacji bazy danych w regularnych i administracji Service Broker.Zazwyczaj administrator nie ma rutynowej konserwacji zadań związanych z Service Broker.

The Service Broker framework provides a simple Transact-SQL interface for sending and receiving messages combined with a set of strong guarantees for message delivery and processing.Service Broker guarantees that a program receives each message in a conversation exactly once in the order in which the message was sent, not the order in which the message entered the queue.Tradycyjne produkty kolejkowania zawierają wiadomości w kolejności, w której wiadomości wprowadzone do kolejki.This requires an application to determine the order and grouping of messages.Service Broker guarantees that two queue readers cannot simultaneously process messages from the same conversation or the same group of related conversations.

Każdy Service Broker konwersacji ma dwie strony.Strona, która uruchamia konwersacji nosi nazwę inicjatora; po drugiej stronie nosi nazwę miejsce docelowe. Każda strona ma usługa; usługa inicjatora i miejsce docelowe.Każda usługa ma skojarzonej kolejki.

Następujący przykład ilustruje wymiany wiadomości w konwersacji standardowe okno dialogowe:

  • Na inicjatora:

    • Program rozpoczyna konwersację.

    • Program tworzy wiadomość zawierającą dane wymagane do wykonania zadania.

    • Program wysyła wiadomości do usługa miejsce docelowe.

  • W miejsce docelowe:

    • Wiadomość jest umieszczana w kolejce, związane z miejsce docelowe usługi.

    • Program otrzymuje wiadomość z kolejki i wykonuje pracę.

    • Program odpowiada, wysyłając wiadomość do usługa inicjatora.

  • Na inicjatora:

    • Komunikat odpowiedzi jest umieszczana w kolejce, skojarzone z usługa inicjatora.

    • Program odbiera odpowiedź i przetwarza je.

Ten cykl powtarza się, dopóki inicjator kończy konwersacji, ponieważ żadne żądania do wysłania do miejsce docelowe.

Service Broker obsługuje Ustawianie priorytetów z 10 (wysoka) 1 (niska) dla każdej konwersacji.Dzięki temu nie ma niski priorytet pracy blok pracy wyższy priorytet. Service Broker systemy mogą być konfigurowane do oferują różne usługa.Aby uzyskać więcej informacji, zobacz Priorytety konwersacji.

Service Broker obsługuje najtrudniejszych zadań związanych z pisania aplikacji do obsługi wiadomości.Trudne zadania te obejmują dostarczanie wiadomości wiarygodne, blokowania i uruchamianie czytniki kolejki wiadomości koordynacji.Umożliwia deweloperom bazy danych koncentrować się na rozwiązywanie problemów biznesowych.

Transakcyjne programowania asynchroniczne

W Service Broker jest dostarczanie wiadomości między aplikacjami infrastruktury, transakcyjnych i asynchronicznego.Ponieważ Service Broker wiadomości jest transakcyjna, jeśli transakcja wycofuje, wszystkie Service Broker operacje w transakcji wycofać.Te obejmują wysyłania i odbierania operacji.W przypadku dostarczania asynchronicznego Aparat baz danych dostawy dojść w czasie, gdy aplikacja kontynuuje Uruchom.Aby poprawić skalowalność, Service Broker udostępnia mechanizmy automatycznego uruchamiania programów tego procesu kolejki jest przydatne, gdy działa program wykonania.Aby uzyskać więcej informacji, zobacz Service BrokerAktywacja.

Programowanie asynchronicznego pomaga deweloperom pisać aplikacje kolejkowania użycia.Wiele aplikacji bazy danych zawiera tabele, funkcja jako kolejki zadań, zasobów.Kolejki aplikacji baz danych można dostarczać dwie korzyści:

  • Aplikacja może odpowiadać na użytkownika interakcyjnego natychmiast po umieszczeniu ich pracy żądania w kolejce.Aplikacja nie ma czekać na wszystkie pracy związanej z żądaniem zakończone przed odpowiadać.Gdy zasoby są dostępne, przetwarzane są żądania w kolejce.Dzięki temu bazy danych pozostają odpowiadać dla użytkowników interaktywnych i efektywne wykorzystanie dostępnych zasobów.

  • Pracy związanej z pojedynczego żądania czasami można podzielić na wiele jednostek pracy przetwarzane jako oddzielne transakcje.przypadek aplikacji bazy danych można uruchomić każdej jednostki pracy, umieszczając żądania w kolejce.Rozszerza Service Broker to pomysł, pozwalając pracy aplikacji, które rozprzestrzeniają się przez wiele wystąpień Service Broker na oddzielnych komputerach.

Kodowania aplikacji poprawnie sekwencji i przetwarzanie elementów kolejki jest często skomplikowany.Deweloperzy mogą używać Service Broker funkcji wbudowanych w aparat bazy danych, aby uprościć kodowania potrzebne do zaimplementowania, pomyślnie kolejek bazy danych.

Obsługa aplikacji luźno

Service Broker obsługuje aplikacje luźno.Aplikacje luźno składają się z wielu programów, które można wysyłać i odbierać wiadomości, niezależnie od siebie.Takie wnioski muszą zawierać te same definicje wiadomości wymienianych i należy zdefiniować tej samej ogólnej struktury dla interakcji między usługami.Jednakże wniosków nie trzeba uruchomić w tym samym czas, uruchom w tym samym SQL Server , lub wystąpienie udziału szczegóły implementacji.Aplikacji nie musi znać fizycznej lokalizacji lub wykonania innych uczestnik konwersacji.

Service BrokerSkładniki

Service Broker zawiera trzy składniki:

  • Składniki konwersacji. Grupy konwersacji, rozmowy i wiadomości tworzą struktury run-czas Service Broker aplikacji.Aplikacje wymiany wiadomości jako część konwersacji.Każdej konwersacji jest częścią jednej grupy konwersacji, a grupa konwersacji może zawierać wiele konwersacji.Każdy Service Broker konwersacji jest okno dialogowe.Okno dialogowe jest konwersacji, gdzie dokładnie dwoma uczestnikami wymiany wiadomości.Aby uzyskać więcej informacji na temat konwersacji składników, zobacz Architektura konwersacji.

  • Składniki usługi definicji. Są to projekt -czas składników, które określa podstawową strukturę konwersacji, używanych przez aplikację.Określają one typy wiadomości dla aplikacji, przepływ konwersacji dla aplikacji i przechowywania bazy danych aplikacji.Aby uzyskać więcej informacji na temat składników definicji usługa Zobacz Architektura usługi.

  • Składniki sieci i zabezpieczeń. Te składniki zdefiniowanie infrastruktury, używany do wymiany wiadomości między wystąpieniami aparatu bazy danych.Aby pomóc administratorom bazy danych, zarządzanie zmiana środowisk Service Broker umożliwia administratorom konfigurowanie tych składników, niezależnie od kodu aplikacji.Aby uzyskać więcej informacji dotyczących sieci i składników zabezpieczeń, zobacz Sieć i Remote Security.

Składniki definicji usługi, składniki sieci i składników zabezpieczeń są częścią metadane dla bazy danych oraz SQL Server wystąpienie.Grupy konwersacji, rozmowy i wiadomości są częścią danych, który zawiera bazę danych.