Gerenciando o Service Broker

No SMO, os objetos do Service Broker são localizados no namespace Microsoft.SqlServer.Management.Smo.Broker, que requer uma referência ao Microsoft.SqlServer.Smo.dll. Uma referência ao Microsoft.SqlServer.ServiceBrokerEnum.dll também é necessária para suportar informações de classe.

O SMO fornece um conjunto de objetos do Service Broker que permitem gerenciamento programático (DDL) da implementação do Service Broker. Isso inclui a definição de tipos de mensagem, contratos, filas e serviços. Como o SMO é uma ferramenta de gerenciamento não voltada à manipulação de dados, o envio e recebimento de mensagens do Service Broker não são suportados pelo SMO.

No SMO, o objeto ServiceBroker é a classe de nível superior na qual reside toda a funcionalidade do Service Broker. É necessária uma implementação do Service Broker para cada banco de dados que está participando do aplicativo de mensagens distribuído. Portanto, o objeto ServiceBroker é filho do objeto Database.

O objeto ServiceBroker contém coleções dos seguintes objetos usados para definir a implementação do Service Broker:

  • Os objetos MessageType representam tipos de mensagens que definem o conteúdo das mensagens.

  • Os objetos MessageTypeMapping representam contratos que especificam a direção e o tipo de mensagens em uma determinada conversação.

  • Os objetos ServiceQueue armazenam as mensagens antes do envio e depois que são recebidas. Eles proporcionam comunicação assíncrona entre serviços, bem como outros benefícios, como o bloqueio automático de mensagens no mesmo grupo de conversação.

  • Os objetos BrokerService representam serviços do Service Broker, que são os pontos de extremidade endereçáveis para conversações. As mensagens do Service Broker são enviadas entre um serviço e outro. Um serviço especifica uma fila para conter as mensagens e determina os contratos para os quais o serviço pode ser o destino.

  • Os objetos RemoteServiceBinding representam as configurações que o Service Broker usa para segurança e autenticação ao se comunicar com um serviço remoto.

  • Os objetos ServiceRoute representam uma rota do Service Broker, que contém as informações de local para o serviço e o banco de dados no qual ele é definido. Uma rota é necessária para a entrega de mensagens. Por padrão, cada banco de dados contém uma rota que especifica o local como a instância atual do SQL Server.