Partilhar via


Integrar o Reporting Services usando o aplicativo SOAP - Windows

Você pode acessar a funcionalidade completa do servidor de relatório por meio da API SOAP do Reporting Services. A API SOAP é um serviço Web e, sendo assim, pode ser acessada facilmente para fornecer os recursos de relatórios corporativos para seus aplicativos comerciais personalizados. Você pode acessar o serviço Web em um aplicativo do Windows simplesmente gravando o código que faz chamadas para o serviço. Usando o Microsoft .NET Framework, você pode gerar uma classe de proxy que expõe as propriedades e os métodos do serviço Web. Em seguida, você pode usar uma infraestrutura e ferramentas familiares para criar aplicativos de negócios criados com base na tecnologia do Reporting Services.

Integrar a funcionalidade de Gerenciamento de Relatórios usando o Windows Forms

Diferentemente do acesso de URL, a API SOAP expõe o conjunto completo de funções de gerenciamento disponíveis por meio do servidor de relatório. Isto significa que a funcionalidade administrativa inteira do Gerenciador de Relatórios está disponível para os desenvolvedores por meio de SOAP. Dessa forma, você pode desenvolver um gerenciamento completo e a ferramenta de administração usando o Windows Forms. Por exemplo, no aplicativo do Windows, você pode habilitar os usuários para recuperar o conteúdo do namespace do servidor de relatório. Você pode usar o método de serviço ListChildren Web para listar todos os itens no banco de dados do servidor de relatório e, em seguida, usar um controle Listview, Treeview ou Combobox para exibir esses itens para seus usuários. O seguinte código de serviço Web pode ser usado para recuperar a lista atual de relatórios disponíveis na pasta Meus Relatórios de um usuário quando um usuário seleciona um botão em um formulário:

' Button click event that retrieves a list of reports from  
' the My Reports folder and displays them in a combo box  
Private Sub listReportsButton_Click(sender As Object, e As System.EventArgs)  
   ' Create a new Web service object and set credentials  
   ' to Windows Authentication  
   Dim rs As New ReportingService2010()  
   rs.Credentials = System.Net.CredentialCache.DefaultCredentials  
  
   ' Return the list of items in My Reports  
   Dim items As CatalogItem() = rs.ListChildren("/Adventureworks Sample Reports", False)  
  
   Dim ci As CatalogItem  
   For Each ci In  items  
      ' If the item is a report, add it to   
      ' a combo box  
      If ci.TypeName = "Report" Then  
         catalogComboBox.Items.Add(ci.Name)  
      End If  
   Next ci  
End Sub 'listReportsButton_Click  
// Button click event that retrieves a list of reports from  
// the My Reports folder and displays them in a combo box  
private void listReportsButton_Click(object sender, System.EventArgs e)  
{  
   // Create a new Web service object and set credentials  
   // to Windows Authentication  
   ReportingService2010 rs = new ReportingService2010();  
   rs.Credentials = System.Net.CredentialCache.DefaultCredentials;  
  
   // Return the list of items in My Reports  
   CatalogItem[] items = rs.ListChildren("/Adventureworks Sample Reports", false);  
  
   foreach (CatalogItem ci in items)  
   {  
      // If the item is a report, add it to   
      // a combo box  
      if (ci.TypeName == "Report")  
         catalogComboBox.Items.Add(ci.Name);  
   }  
}  

A partir daí, você poderá habilitar os usuários para selecionar o relatório na caixa Combinação e visualizá-lo no formulário usando um controle do navegador da Web ou um controle de imagem.

Habilitar a exibição e a navegação de relatórios usando o Windows Forms

Há dois métodos disponíveis para integrar relatórios nos aplicativos do Windows Forms.

Você pode usar a API SOAP para renderizar relatórios em qualquer um dos formatos de renderização suportados usando o método Render. Há pequenas desvantagens em habilitar a exibição e navegação de relatório por meio de SOAP:

  • Você não pode aproveitar a funcionalidade interna da barra de ferramentas do relatório incluída no Visualizador de HTML por meio do acesso à URL.

  • Se você renderizar para HTML, deverá renderizar separadamente quaisquer imagem ou recursos como fluxos adicionais que usam o método RenderStream.

  • Há uma pequena vantagem de desempenho em renderizar relatórios usando o acesso à URL em relação ao uso da API SOAP.

Porém, o método Render da API SOAP pode ser usado para renderizar relatórios e salvá-los em vários formatos de saída programaticamente. Esse método é uma vantagem sobre o acesso à URL, que requer interação do usuário. Quando você renderizar um relatório que usa o método Render de SOAP API, será possível renderizar em qualquer um dos formatos de saída suportados.

Você também pode usar os controles do Visualizador de Relatórios que são distribuídos gratuitamente e estão incluídos no Microsoft Visual Studio 2008. Os controles do Visualizador de Relatórios facilitam a inserção da funcionalidade do Reporting Services em aplicativos personalizados. Os controles do Visualizador de Relatórios destinam-se a desenvolvedores que desejam fornecer relatórios pré-projetados e totalmente criados como parte de um conjunto de recursos do aplicativo. Por exemplo, um aplicativo de gerenciamento de site pode incluir relatórios que mostram a análise de fluxo de cliques em sites da empresa. A inserção de controles em um aplicativo fornece uma alternativa otimizada para incluir os componentes de servidor do Reporting Services em sua implantação de aplicativo. Os controles fornecem funcionalidade de relatório, mas sem o suporte extra de criação, publicação ou distribuição e entrega de relatórios que você encontra no Reporting Services.

Há duas versões de controles do Visualizador de Relatórios, uma para aplicativos cliente sofisticados do Windows e uma para aplicativos ASP.NET. Os controles dão suporte ao processamento local e aos modos de processamento remotos. No modo de processamento local, o aplicativo fornece a definição de relatório e conjuntos de dados, e dispara o processamento do relatório. No modo de processamento remoto, a recuperação de dados e o processando de relatório ocorre no servidor de relatório e o controle é usado para exibição e navegação no relatório. Esse modelo permite que você crie aplicativos sofisticados que podem ser escalados da área de trabalho à empresa.

Os controles do Visualizador de Relatórios são documentados na Ajuda online do Visual Studio. Para obter mais informações, confira a Documentação do Visual Studio.