Visão geral das extensões de entrega

O SQL Server Reporting Services permite que os usuários criem e publiquem relatórios que, uma vez criados e publicados, podem ser entregues em vários locais. Além disso, o Reporting Services inclui várias extensões de entrega e uma API de entrega que permitem que os desenvolvedores criem mais extensões de entrega para estender ainda mais a funcionalidade de entrega no Reporting Services.

A tabela a seguir lista as extensões de entrega incluídas no Reporting Services.

Extensão da entrega Descrição
Email do servidor de relatório Usa um servidor SMTP para enviar relatórios de email a usuários individuais ou a grupos.
Compartilhamento de arquivos do servidor de relatórios Usado para distribuir relatórios em sua organização para o compartilhamentos de arquivos de rede. Permite copiar automaticamente um relatório para um compartilhamento de arquivos em uma agenda designada.

Screenshot of the Reporting Services delivery extension architecture.

Arquitetura de extensão de entrega do Reporting Services.

As extensões de entrega são emparelhadas com as assinaturas. Quando um usuário cria uma assinatura, ele pode escolher uma das extensões de entrega disponíveis para determinar como o relatório é entregue. No Reporting Services, as assinaturas estão localizadas no banco de dados do servidor de relatório. Quando ocorre um evento, o Reporting Services corresponde o evento às assinaturas contidas no banco de dados do servidor de relatório. Para cada assinatura ligada ao evento, o servidor de relatório criará uma notificação. Para assinaturas controladas por dados, uma notificação será criada para cada destinatário. Depois que a notificação for criada, o servidor de relatório invocará uma determinada extensão de entrega e passará valores para as configurações de extensão especificadas na notificação. A extensão de entrega envia a notificação ao usuário como especificado pela extensão de entrega selecionada.

As extensões de entrega implementam a API de extensão de entrega do Reporting Services. O suporte à API de extensão de entrega do Reporting Services permite que as extensões de entrega recebam notificações do servidor de relatório e forneçam o status da notificação.

O servidor de relatório não gerencia destinos de entrega para notificações e relatórios. A coleta de informações de destino é realizada pelo código escrito em sua extensão de entrega.

Assinaturas e extensões de entrega

Os aplicativos cliente criam assinaturas que usam extensões de entrega usando dois métodos do serviço Web Servidor de Relatório: CreateSubscription e CreateDataDrivenSubscription. Para modificar assinaturas que já existem, serão usados os métodos SetSubscriptionProperties e SetDataDrivenSubscriptionProperties. Quando um usuário cria uma assinatura, ele também seleciona uma extensão de entrega para a assinatura e insere valores para as configurações de extensão necessárias. Quando um usuário salva uma assinatura, ela é armazenada no banco de dados do servidor de relatório. As assinatura criam notificações baseadas em uma agenda ou em um evento. Quando uma entrega é iniciada, primeiro a extensão de entrega selecionada carrega quaisquer dados de configuração a partir do arquivo de configuração. Em seguida, são recuperadas as configurações de extensão da assinatura e são definidos valores. Por fim, o método Deliver é chamado e a notificação é enviada.

Requisitos do desenvolvedor

O desenvolvimento de uma extensão de entrega do Reporting Services exige que você tenha:

  • Um computador de implantação com um servidor de relatório instalado.

  • Um computador de desenvolvimento com o Visual Studio 2008 ou o SDK (Software Development Kit) do Microsoft .NET Framework instalado.

  • Uma compreensão detalhada dos recursos e das capacidades do Reporting Services, especificamente de assinatura e de entrega.

  • Uma compreensão profunda dos controles de ASP.NET e da Web se você estiver planejando implementar sua própria interface de usuário de assinatura para o Gerenciador de Relatórios.

  • Experiência de desenvolvimento em uma linguagem do .NET Framework, como Microsoft Visual C# ou Microsoft Visual Basic .NET.