Compartir por


Integración de Reporting Services mediante SOAP: aplicación Windows

Puede tener acceso a la funcionalidad completa del servidor de informes a través de la API SOAP de Reporting Services. Se trata de un servicio web y, como tal, se puede tener acceso con facilidad al mismo con el fin de proporcionar características de informes de empresa para aplicaciones empresariales personalizadas. Puede tener acceso al servicio web en una aplicación Windows simplemente escribiendo código que realice llamadas al servicio. Con Microsoft .NET Framework, puede generar una clase de proxy que exponga las propiedades y los métodos del servicio web. A continuación, puede usar una infraestructura y herramientas conocidas para crear aplicaciones empresariales basadas en la tecnología de Reporting Services.

Integrar la funcionalidad de administración de informes mediante Formularios Windows Forms

A diferencia del acceso URL, la API SOAP expone el conjunto completo de funciones de administración que están disponibles a través del servidor de informes. Esto significa que toda la funcionalidad administrativa del Administrador de informes está disponible para los programadores a través de SOAP. Como tal, puede desarrollar una completa herramienta de administración utilizando formularios Windows Forms. Por ejemplo, en una aplicación Windows podría desear permitir que los usuarios recuperaran el contenido del espacio de nombres del servidor de informes. Puede usar el método de servicio ListChildren web para enumerar todos los elementos de la base de datos del servidor de informes y, a continuación, usar un control Listview, Treeview o Combobox para mostrar esos elementos a los usuarios. Es posible que se use el siguiente código de servicio web para recuperar la lista actual de informes disponibles en la carpeta Mis informes de un usuario cuando un usuario selecciona un botón en un formulario:

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

Desde allí, podría permitir que los usuarios seleccionen el informe en el cuadro combinado y obtener una vista previa del mismo en el formulario bien con un control de explorador web o con un control de imagen.

Habilitar la visualización y navegación de informes mediante Formularios Windows Forms

Hay dos métodos disponibles para integrar los informes en aplicaciones de formularios Windows Forms.

Puede utilizar la API SOAP para representar los informes en cualquiera de los formatos de representación admitidos utilizando el método Render. Habilitar la visualización de los informes y la navegación a través de SOAP presenta ligeras desventajas:

  • No puede aprovechar la funcionalidad integrada de la barra de herramientas del informe que se incluye con el Visor HTML a través del acceso url.

  • Si usa HTML para la representación, debe representar por separado las imágenes o recursos como flujos adicionales utilizando el método RenderStream.

  • Hay una ligera ventaja de rendimiento para representar informes mediante el acceso url a través de la API SOAP.

Sin embargo, el método Render de la API SOAP se puede utilizar para representar los informes y guardarlos en varios formatos de salida mediante programación. Este método es una ventaja sobre el acceso url, que requiere la interacción del usuario. Al representar un informe usando el método Render de la API SOAP, puede usar cualquiera de los formatos de salida admitidos.

También puede usar los controles del Visor de informes que se distribuyen de forma gratuita y están incluidos en Microsoft Visual Studio 2008. Los controles del Visor de informes permiten insertar fácilmente la característica de Reporting Services en aplicaciones personalizadas. Los controles del Visor de informes están diseñados para desarrolladores que desean proporcionar informes creados previamente y totalmente creados como parte de un conjunto de características de aplicación. Por ejemplo, una aplicación de administración de sitios web podría incluir informes que muestran el análisis de secuencias de clics en sitios web de la empresa. Incrustar los controles en una aplicación es una alternativa simplificada frente a incluir los componentes de servidor de Reporting Services en la implementación de la aplicación. Los controles proporcionan funcionalidad de informe, pero sin la compatibilidad adicional de creación, publicación o distribución y entrega de informes que encuentre en Reporting Services.

Hay dos versiones de los controles del Visor de informes, una para aplicaciones cliente de Windows enriquecidas y otra para las aplicaciones ASP.NET. Los controles admiten tanto el modo de procesamiento local como el modo de procesamiento remoto. En el modo de procesamiento local, la aplicación proporciona la definición y los conjuntos de datos de los informes y desencadena el procesamiento de los informes. En el modo de procesamiento remoto, la recuperación de datos y el procesamiento de informes tienen lugar en el servidor de informes y el control se utiliza para la visualización y navegación en informes. Este modelo le permite crear aplicaciones completas que pueden distribuirse del escritorio a la empresa.

Los controles del Visor de informes se documentan en la Ayuda en pantalla de la Ayuda en pantalla de Visual Studio. Para obtener más información, consulte la documentación de producto de Visual Studio.

Creación de aplicaciones con el servicio web y .NET Framework
Integración de Reporting Services en las aplicaciones
Usar la API SOAP en una aplicación web