Visão geral de extensões de entrega

O SQL ServerReporting Services permite que os usuários criem e publiquem relatórios que, uma vez criados e publicados, possam 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 permite que os desenvolvedores criem extensões de entrega adicionais para estender ainda mais a funcionalidade de entrega do Reporting Services.

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

Extensão de 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. Oferece a capacidade de copiar um relatório automaticamente para um compartilhamento de arquivo em uma agenda designada.

Arquitetura da extensão de entrega do Reporting Services

Arquitetura da extensão de entrega do Reporting Services

As extensões de entrega são emparelhadas com as assinaturas. Durante a criação de uma assinatura, um usuário pode escolher uma das extensões de entrega disponíveis para determinar como o relatório será 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 API de extensão de entrega do Reporting Services. Ao dar suporte à API de extensão de entrega do Reporting Services, as extensões de entrega poderão receber notificações do servidor de relatório e fornecer 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. Durante a criação de uma assinatura, o usuário também seleciona uma extensão de entrega para a assinatura e digita valores para as configurações de extensão exigidas. Quando um usuário salvar uma assinatura, ela será 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 de desenvolvedor

Desenvolver 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 Microsoft Visual Studio 2005 ou o com 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 detalhada do ASP.NET e de controles da Web se estiver planejando implementar a sua própria interface do 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 MicrosoftVisual Basic ,NET.