Compartilhar via


Aplicativos do Service Broker

Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure

Os aplicativos do Service Broker são constituídos por um ou mais programas e pelos objetos de banco de dados que esses programas usam. Os aplicativos se comunicam criando conversas entre componentes independentes chamados serviços e trocando mensagens nessas conversas. Os aplicativos usam o Service Broker executando instruções Transact-SQL em um banco de dados do SQL Server.

Componentes do aplicativo

Um aplicativo do Service Broker é composto de:

  • Um ou mais programas que implementam uma tarefa ou um conjunto relacionado de tarefas. Fora do SQL Server, os aplicativos podem ser gravados em qualquer ambiente de programação que possa executar instruções Transact-SQL no SQL Server. Dentro do SQL Server, os aplicativos podem ser gravados como procedimentos armazenados usando Transact-SQL ou uma linguagem compatível com CLR (common language runtime).

  • Um serviço que expõe as tarefas a outros serviços. Um serviço é um objeto do Service Broker que fornece um nome endereçável para um conjunto de tarefas relacionadas. Outros serviços iniciam conversas com esse serviço para executar as tarefas.

  • Um contrato e tipos de mensagem que definem a estrutura e a direção das mensagens usadas na comunicação entre os serviços.

  • Uma fila para manter as mensagens para o serviço.

  • Opcionalmente, rotas e associações de serviço remoto. Rotas associadas a endereço de rede com o nome de um serviço remoto. Associações de serviço remoto associam um nome de serviço a um banco de dados principal. O Service Broker usa o certificado associado à entidade especificada para controlar autorizações para o serviço remoto e a criptografia das mensagens trocadas com o serviço remoto. O Service Broker permite que rotas e associações de serviço remoto sejam configuradas enquanto o aplicativo está sendo implantado, sem exigir alterações no aplicativo. Isso permite que os administradores movam serviços e alterem credenciais de segurança sem alterações no código do aplicativo. Para obter mais informações sobre como configurar rotas e associações de serviço remoto, confira Administração (Service Broker).

DML do Service Broker

Geralmente, um aplicativo instala os objetos de definição do serviço no momento da instalação. Durante a execução, o aplicativo envia e recebe mensagens usando DML (Linguagem de Manipulação de Dados) do Service Broker. As instruções DML se enquadram em três grandes categorias: mensagens, conversas e grupos de conversa:

Mensagens

O Service Broker fornece as seguintes operações para dar suporte a trabalho com mensagens:

  • A SEND declaração envia uma mensagem em uma conversação específica.

  • A RECEIVE instrução recebe uma ou mais mensagens de uma fila. Todas as mensagens recebidas pertencem ao mesmo grupo de conversa.

Conversas

O Service Broker fornece as seguintes operações para dar suporte a trabalho com conversas:

  • A BEGIN DIALOG CONVERSATION instrução inicia uma conversa entre dois serviços. Como a conversa envolve exatamente dois serviços, a conversa é um diálogo.

  • A END CONVERSATION instrução termina uma parte da conversa.

  • A instrução BEGIN CONVERSATION TIMER fornece uma mensagem de temporizador da conversa para um dos lados da conversa em um momento específico.

  • A GET_TRANSMISSION_STATUS instrução retorna uma descrição do último erro de transmissão de uma conversa. Se a última tentativa de transmitir uma mensagem para a conversa tiver sido bem-sucedida, a instrução não retornará uma descrição.

Grupos de conversa

O Service Broker fornece duas operações para trabalhar com grupos de conversa:

  • A instrução GET CONVERSATION GROUP retorna o identificador do grupo de conversa para a próxima mensagem recebível em uma fila. A instrução também bloqueia o grupo de conversa.

  • A MOVE CONVERSATION instrução move uma conversa de um grupo de conversa para outro. A instrução bloqueia o grupo de conversa original e o grupo de conversa de destino.