Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Instância Gerenciada de SQL do Azure
Esta seção fornece uma visão geral da estrutura de um aplicativo do Service Broker, descreve algumas das estratégias mais comuns para iniciar um aplicativo que usa o Service Broker e descreve as etapas básicas para receber e processar mensagens.
O aplicativo para um serviço iniciador usa a BEGIN DIALOG instrução para especificar informações sobre os serviços em cada ponto de extremidade e o contrato de serviço que o aplicativo usará para se comunicar. O aplicativo usa a SEND instrução para enviar a primeira mensagem da conversa para o serviço de destino. O aplicativo deve estar preparado para receber e processar mensagens do Service Broker, mesmo que o contrato não permita que o serviço de destino retorne mensagens. O aplicativo inicial geralmente é implementado como dois componentes separados. Um componente começa a conversa; o outro componente processa as mensagens que chegam na fila.
O aplicativo para um serviço de destino recebe e processa mensagens do serviço inicial. O aplicativo também deve estar preparado para receber e processar mensagens do Service Broker.
Dependendo das necessidades do serviço, a parte do aplicativo que processa a fila pode ser iniciada de vários modos diferentes. Para obter mais informações sobre como iniciar um aplicativo que usa o Service Broker, consulte Escolher uma estratégia de inicialização.
No entanto, o aplicativo é iniciado, o aplicativo inicia uma transação e usa a RECEIVE instrução para desativar uma mensagem. O aplicativo extrai os dados das mensagens e executa qualquer processamento necessário. Se necessário, o aplicativo usa a SEND instrução para enviar mensagens para o outro lado da conversa. Em seguida, o aplicativo confirma a transação. Para obter eficiência, o aplicativo pode processar várias mensagens na mesma transação. Os serviços que mantêm o estado geralmente usam a GET CONVERSATION GROUP instrução para bloquear um grupo de conversa, recuperar o estado do grupo de conversa e, em seguida, processar várias mensagens para o grupo de conversa.
A conversa continua, usando SEND e instruções RECEIVE para transmitir mensagens entre os pontos de extremidade. A qualquer momento, se necessário, qualquer participante da conversa pode usar BEGIN DIALOG para iniciar uma conversa com outro serviço para obter informações adicionais. Por exemplo, um aplicativo que está processando uma notificação de evento pode iniciar outra conversa com um serviço que fornece informações de pessoal para recuperar as informações de contato atuais antes de enviar um alerta.
Quando a conversa atingir sua finalidade, o aplicativo no ponto de extremidade apropriado usará uma instrução END CONVERSATION para encerrar a conversa. O outro participante também recebe a END CONVERSATION mensagem e emite uma END CONVERSATION mensagem ao seu lado. Depois que ambos os participantes tiverem emitido END CONVERSATION mensagens, a conversa terminará.
Se ocorrer um erro, um participante da conversa poderá indicar falha ao encerrar a conversa usando a WITH ERROR cláusula. O uso da WITH ERROR cláusula encerra a conversa e envia uma mensagem de erro do Service Broker para o outro participante da conversa.
Se o Service Broker detectar um erro ou o tempo de vida de conversa expirar, o Service Broker terminará a conversa e retornará uma mensagem de erro aos participantes ativos. Se o Service Broker não conseguir estabelecer uma conversa, o único participante ativo será o aplicativo iniciador e o erro será entregue ao serviço de iniciação. Se um participante já tiver terminado a conversa, a mensagem de erro será enviada ao outro participante. Caso contrário, o erro será enviado aos dois participantes da conversa.
Nesta seção
| Artigo | Description |
|---|---|
| Escolher uma estratégia de inicialização | Descreve algumas das estratégias mais comuns para iniciar um aplicativo que use o Service Broker. |
| Esboço do aplicativo Service Broker | Descreve as etapas básicas para receber e processar mensagens. |