Partager via


Intégrer Reporting Services à l’aide de SOAP - Application Windows

Vous pouvez accéder aux fonctionnalités complètes du serveur de rapports via l'API SOAP de Reporting Services. L'API SOAP est un service Web et, en tant que tel, est facilement accessible afin de fournir des fonctionnalités de création de rapports d'entreprise à vos applications de gestion personnalisées. Pour accéder au service Web dans une application Windows, il suffit d'écrire un code qui permet d'appeler le service. À l’aide de Microsoft .NET Framework, vous pouvez générer une classe proxy qui expose les propriétés et méthodes du service Web. Vous pouvez ensuite utiliser une infrastructure et des outils familiers pour créer des applications métier basées sur la technologie Reporting Services.

Intégrer des fonctionnalités de gestion des rapports à l’aide de Windows Forms

Contrairement à l'accès URL, l'API SOAP expose le jeu complet des fonctions de gestion qui sont disponibles via le serveur de rapports. Cela signifie que toutes les fonctionnalités d'administration du Gestionnaire de rapports sont disponibles pour les développeurs via SOAP. Ainsi, vous pouvez développer un outil de gestion et d'administration complet à l'aide de Windows Forms. Par exemple, dans votre application Windows, vous pouvez souhaiter permettre à vos utilisateurs d'extraire le contenu de l'espace de noms du serveur de rapports. Vous pouvez utiliser la méthode de service ListChildren Web pour répertorier tous les éléments de la base de données du serveur de rapports, puis utiliser un contrôle Listview, Treeview ou Combobox pour afficher ces éléments à vos utilisateurs. Le code de service web suivant peut être utilisé pour récupérer la liste actuelle des rapports disponibles dans le dossier Mes rapports d’un utilisateur lorsqu’un utilisateur sélectionne un bouton dans un formulaire :

' 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);  
   }  
}  

À partir de là, vous pouvez permettre aux utilisateurs de sélectionner le rapport dans la liste déroulante afin de le prévisualiser sur le formulaire à l'aide d'un contrôle de navigateur Web ou d'un contrôle Image.

Activer l’affichage et la navigation des rapports à l’aide de Windows Forms

Il existe deux méthodes disponibles pour intégrer des rapports dans vos applications Windows Forms.

Vous pouvez utiliser l'API SOAP pour effectuer le rendu des rapports dans tous les formats de rendu pris en charge à l'aide de la méthode Render. Il existe de légers inconvénients à l'activation de la consultation des rapports et de la navigation via SOAP :

  • Vous ne pouvez pas tirer parti des fonctionnalités intégrées de la barre d’outils de rapport incluse dans la visionneuse HTML via l’accès URL.

  • Si vous effectuez un rendu au format HTML, vous devez effectuer le rendu des images ou ressources séparément en tant que flux supplémentaires à l'aide de la méthode RenderStream.

  • Il existe un léger avantage en matière de performances pour le rendu des rapports à l’aide de l’accès URL à l’aide de l’API SOAP.

Toutefois, la méthode Render de l'API SOAP peut être utilisée pour effectuer le rendu de rapports et les enregistrer sous divers formats de sortie par programme. Cette méthode est un avantage par rapport à l’accès URL, ce qui nécessite une interaction utilisateur. Lorsque vous effectuez le rendu d'un rapport à l'aide de la méthode Render de l'API SOAP, vous pouvez le faire dans tous les formats de sortie pris en charge.

Vous pouvez également utiliser les contrôles Visionneuse de rapports en distribution libre qui sont fournis dans Microsoft Visual Studio 2008. Les contrôles Visionneuse de rapports facilitent l'incorporation de fonctionnalités Reporting Services dans les applications personnalisées. Les contrôles Visionneuse de rapports sont destinés aux développeurs qui souhaitent fournir des rapports prédéfinis et entièrement créés dans le cadre d’un ensemble de fonctionnalités d’application. Par exemple, une application de gestion de site web peut inclure des rapports qui affichent l’analyse de flux de clic sur les sites web d’entreprise. L'incorporation des contrôles dans une application offre une solution plus rationnelle que l'ajout de composants serveur Reporting Services dans le déploiement de votre application. Les contrôles fournissent des fonctionnalités de rapport, mais sans la prise en charge supplémentaire de la création, de la publication ou de la distribution et de la distribution que vous trouvez dans Reporting Services.

Il existe deux versions des contrôles Visionneuse de rapports : une version est destinée aux applications clientes Windows, l'autre aux applications ASP.NET. Les contrôles prennent en charge les modes de traitement local et distant. En mode de traitement local, votre application fournit la définition de rapport et les datasets et déclenche le traitement des rapports. En mode de traitement distant, la récupération des données et le traitement des rapports sont effectués sur le serveur de rapports et le contrôle est utilisé à des fins d'affichage et de navigation dans les rapports. Ce modèle vous permet de créer des applications puissantes à l'échelle d'un Bureau ou d'une entreprise.

Les contrôles Visionneuse de rapports sont décrits dans l'aide en ligne de Visual Studio. Pour plus d’informations, consultez la documentation produit de Visual Studio.

Création d’applications à l’aide du service web et du .NET Framework
Intégration de Reporting Services dans des applications
Utilisation de l'API SOAP dans une application Web