Benefícios de programar com o Service Broker

Enfileiramento e sistema de mensagens assíncronas são necessários em muitos aplicativos de bancos de dados atualmente. O Agente de Serviços fornece uma estrutura de sistema de mensagens estável, com base em fila, para atender a essas necessidades. Usando o API Transact-SQL fornecido pelo Agente de Serviços, você pode facilmente desenvolver serviços para controlar requisitos de aplicativo em enfileiramento ou comunicações assíncronas.

Alguns dos benefícios de programar com Agente de Serviços são:

  • Desenvolvimento flexível: os programas usados em um aplicativo único distribuído podem ser gravados em vários idiomas. Cada programa fornece a funcionalidade de cada componente de aplicativo distribuído.

  • Segurança aprimorada: você pode expressar requisitos de segurança via certificados, portanto os componentes do aplicativo não precisam compartilhar o mesmo contexto de segurança. O Agente de Serviços usa recursos de segurança do SQL Server para ajudá-lo a proteger seus aplicativos.

  • Processamento transacional: o processamento de mensagem ocorre dentro das transações do SQL Server para garantir a integridade dos dados. O Agente de Serviços oferece suporte a sistema de mensagens transacional remoto em uma conexão padrão com o banco de dados.

  • Ordenação garantida: o Agente de Serviços fornece fortes garantias referentes à entrega e processamento de um conjunto relacionado de mensagens, exatamente uma vez e em ordem, assim nenhuma codificação adicional é necessária para fornecer essa funcionalidade.

  • Entrega segura: todos os dados necessários para uma conversação – um conjunto de comunicações relacionadas entre dois ou mais serviços – é mantido no SQL Server. O Agente de Serviços oferece suporte a clustering e espelhamento de banco de dados. Uma conversação pode ser mantida com reinicializações do sistema, failover de servidor, interrupções de rede, etc. sem falha ou perda de dados.

  • Escalabilidade aprimorada: o roteamento do Agente de Serviços entrega mensagens com base no nome do serviço, não no endereço de rede do computador onde o serviço é executado. Isso permite instalar um aplicativo em vários computadores sem alterar o código do aplicativo.

  • Habilidade de alavancar o conhecimento existente: o Agente de Serviços usa o Transact-SQL para criar objetos. Aplicativos que usam o Agente de Serviços são implementados, na maioria das vezes, em Transact-SQL ou linguagens compatíveis com Microsoft .NET Framework. Você não precisa aprender uma nova linguagem para criar aplicativos do Agente de Serviços.