Agrupación de equipos: Integración de SQL Server 2008 R2 Reporting Services a SharePoint 2010

Alan Le Marquand

SQL Server y SharePoint siempre han trabajado conjuntamente sin inconvenientes. Cuando se produjo el lanzamiento de SharePoint Server 2010 y SQL Server 2008 R2, se observaron mejoras importantes en la integración entre SharePoint y SQL Server 2008 R2 Reporting Services (SSRS). A continuación, se analiza cómo configurar y usar las últimas mejoras.

Arquitectura de integración de servidores

El complemento de Reporting Services para SharePoint es lo que verdaderamente genera la integración entre los dos servidores. Se instala el complemento, que está disponible como descarga gratuita en el Centro de descarga de Microsoft, en todos los servidores de cliente web (WEF, Web Front End) de SharePoint 2010 que requieren de integración con un servidor de informes. En la Figura 1 se muestra la arquitectura de los componentes de integración.

En el servidor WFE de SharePoint 2010, el complemento instala tres componentes: el proxy de SSRS, un elemento web de Report Viewer y las páginas de aplicación que le permiten ver, almacenar y administrar el contenido del servidor de informes en un sitio o conjunto de SharePoint. El proxy de SSRS facilita la comunicación entre el WFE y el servidor de informes. En las páginas de los Servicios de Informes de la Administración Central en SharePoint, puede configurar el proxy con el servidor de informes al que desea acceder, además del método de autenticación y las credenciales para acceder al servidor. Para que la integración funcione, debe configurar el servidor de informes de manera que funcione en el modo integrado con SharePoint.

Figure 1: Server Integration Architecture

Figura 1: Arquitectura de integración de servidores

Un elemento para destacar en la Figura 1 es el componente de modelo de objeto de SharePoint en el servidor de informes. Para que el servidor de informes comprenda los datos del informe almacenados en SharePoint y de esa manera pueda almacenarlos, el servidor de informes tiene que interactuar con la configuración y las bases de datos de contenido que están en el sitio o conjunto de SharePoint. Podrá lograrlo mediante la instalación de una copia mínima de SharePoint en el servidor de informes y la vinculación con el conjunto.

La versión de SharePoint que instale en el servidor de informes debe ser la misma que la versión usada en todo el conjunto.  Solamente tiene que hacerlo si ejecuta el servidor de informes en un equipo separado. Si tiene instalados SharePoint y Reporting Services en el mismo equipo, sólo necesita instalar el complemento.

Configuración de la integración

En general, la integración de la configuración se simplificó con SharePoint 2010 y SQL Server 2008 R2. El orden en que realiza la configuración depende de lo que ya tenga instalado. Aunque empiece desde cero o a partir de una instalación existente, la clave es tener instalados todos los componentes principales antes de configurar el proxy de SSRS en SharePoint. Para obtener los mejores resultados cuando se integra SQL Server Reporting Services 2008 R2 con SharePoint 2010, el orden recomendado, si se comienza desde cero, es:

  1. Ejecute el instalador de requisito previo de SharePoint 2010; esta acción instalará el complemento de SSRS 2008 R2 para SharePoint.
  2. Instale y configure SharePoint 2010 en una configuración de conjunto.
  3. Repita los pasos 1 y 2 en el equipo del servidor de informes, en caso de que esté separado del equipo en el que está el WFE de SharePoint, y configúrelo para que se vincule al conjunto de SharePoint creado en el paso 2.
  4. Instale SQL Server Reporting Services en modo integrado con SharePoint.
  5. Configure el proxy de SSRS por medio de la página de integración de Reporting Services y active la característica de Reporting Services.  

Si no observa los tipos de contenido de Reporting Services en su sitio, en el menú Documento | Nuevo, deberá agregarlos manualmente. Más adelante en este capítulo, describo cómo agregar tipos de contenido al servidor de contenido, en Integración con Report Builder 3.0.

En este escenario, usaría SQL Server para la base de datos de SharePoint, en lugar de la edición incrustada que SharePoint tiene predeterminada. Si planea instalar todos los componentes en un solo equipo, el paso 5 no es necesario. Los pasos 1 y 2 pueden combinarse en el proceso de instalación de SQL Server.

Si tiene una instalación existente de SQL Server, puede descargar e instalar el complemento cuando lo desee. El proceso de instalación del complemento agrega páginas necesarias a la Administración central de SharePoint además de los tipos nuevos de contenido del servidor de informes para las bibliotecas de SharePoint existentes con la plantilla del sitio Centro de inteligencia empresarial (BI, Business Intelligence).

Con respecto a SharePoint, puede configurar la integración en SharePoint Server 2010 o en SharePoint Foundation 2010. Ambos son compatibles con la instalación del complemento de Reporting Services. Si instala SharePoint y Reporting Services en equipos diferentes, debe instalar la misma versión de SharePoint en el servidor de informes. Por ejemplo, no podrá instalar SharePoint Foundation 2010 en el servidor de informes si usaba SharePoint Server 2010 como su cliente web.

La instalación del complemento es muy simple; además de ingresar su nombre y el de la empresa, no es necesaria otra configuración. Si instala SharePoint por primera vez, debe instalar primero el complemento antes de SharePoint; esto se hace automáticamente cuando ejecuta el requisito previo de SharePoint 2010.

La configuración del servidor de informes es sencilla. Las consideraciones clave son:

  • La edición de SQL Server tiene que ser Standard, Enterprise o superior.
  • La base de datos del servidor de informes se debe crear en modo integrado con SharePoint.
  • Si usa equipos separados para SharePoint y el servidor de informes, necesitará una instalación mínima de SharePoint y esto se debe vincular al conjunto en el servidor de informes.

Un servidor de informes se implementa como un solo servicio de Windows que se ejecuta en la cuenta incorporada o en una cuenta de usuario local o de dominio de Windows. En el modo integrado con SharePoint, la cuenta de servicio del servidor de informes se proporciona de manera adecuada para acceder a la configuración y la base de datos de contenido de SharePoint, así como también los recursos del modelo de objeto de SharePoint. Esto sucede cuando configura la integración de Reporting Services con SharePoint por medio de la página de integración de Reporting Services.

Cuando el modo de autenticación es “Integrado a Windows”, el usuario de Windows que haya iniciado sesión en SharePoint será suplantado cuando se conecte desde WFE en el servidor de informes. Cuando el modo de autenticación es una cuenta de confianza, el contexto de usuario de SharePoint del usuario que inició sesión en SharePoint pasará al Servidor de Informes en forma de usuario estándar de SharePoint. Se usa la cuenta de grupo de aplicación del WFE de SharePoint para establecer la conexión desde el WFE hasta el servidor de informes. Encontrará un resumen de la configuración de cuentas de servicio en el artículo de TechNet “Configuración de Reporting Services para la integración de SharePoint 2010”.

Si ya instaló Reporting Services con la configuración predeterminada, la base de datos de Reporting Services estará en modo nativo. Para operar el modo integrado con SharePoint, deberá volver a la herramienta de configuración de Reporting Services y, desde la página de configuración de la base de datos, cambiar el modo de nativo a integrado en SharePoint. 

Puede cambiar el modo del servidor de informes de nativo a integrado con SharePoint cuando lo desee; no obstante, esta acción no convierte a la base de datos existente. Cada vez que cambie, deberá crear una base de datos nueva o conectarse a una existente.

Antes de configurar las opciones de proxy de Reporting Services en SharePoint, existe otra configuración que necesita aplicar. Debe garantizar que no se haya habilitado el acceso anónimo en la aplicación web. Si bien esta acción no impedirá que configure los parámetros de proxy de Reporting Services, los usuarios recibirán un mensaje de error cuando ejecuten los informes. Puede elegir el uso de la autenticación de Windows o basada en notificaciones de otros proveedores de autenticación, y si configura la integración entre un servidor de informes y un conjunto de SharePoint, cada aplicación web de SharePoint en el conjunto puede configurarse para que use proveedores de autenticación diferentes.

El complemento crea una sección nueva de Reporting Services en la página de configuración de aplicaciones generales de la Administración Central de SharePoint. En la página de integración de Reporting Services, ingrese la URL del servidor de informes y los detalles de autenticación y la activación de la característica de Reporting Services en todas o en algunas de las colecciones del sitio en el conjunto.

Figura 2: Configuración del proxy de Reporting Services

Después de que complete la página que se muestra en la Figura 2, se completa el proceso de configuración de integración.

Integración con Report Builder 3.0

El beneficio principal de la integración entre SharePoint y Reporting Services es que permite a los usuarios crear, modificar y publicar informes desde SharePoint. Reporting Services proporciona tipos de contenido predefinidos que se usan para administrar diferentes archivos, que incluyen los archivos compartidos (.rsds) de origen de datos de informe, el modelo de Report Builder (.smdl) y los archivos de definición (.rdl) de informes de Report Builder. Después de haber configurado la integración para permitir a los usuarios crear y administrar los tipos de contenido nuevos desde los menús de cinta y contextual, necesita habilitar los tipos de contenido nuevos en esas librerías.

Si usa la plantilla del sitio del Centro de BI, no tiene que implementar ninguna acción; los tipos de contenido se habilitan automáticamente con la plantilla y para todos los sitios creados con esta plantilla. Para todos los otros sitios y las demás librerías de documento, deberá aplicar un proceso de configuración de dos pasos. Primero, necesita habilitar la administración de tipo de contenidos en las librerías; está deshabilitada de manera predeterminada. Luego, necesita habilitar los tipos de contenido para la librería. Para habilitar la administración de tipos de contenido para una biblioteca de documentos, siga el procedimiento que aparece en el artículo de TechNet “Cómo: agregar tipos de contenido del servidor de informes a una librería (Reporting Services en modo integrado con SharePoint)”.

Después de que se hayan agregado estos tipos nuevos de contenido a una librería, aparecerán tres opciones nuevas en el menú desplegable Documento nuevo, en la ficha Documentos. Si ahora selecciona la opción de informe de Report Builder, se descargará la versión Report Builder 3.0 al cliente y se ejecutará. Puede modificar esta acción desde la administración central de SharePoint. Las opciones predeterminadas del servidor Reporting Services le permiten desactivar esta opción además de configurar una URL alternativa para Report Builder.

Uso del cliente web de Report Viewer en un sitio de SharePoint

El cliente web de Report Viewer es un cliente web personalizado que es instalado por el complemento de Reporting Services. Puede usar el cliente web para ver, navegar, imprimir y exportar informes en un servidor de informes. Para agregar este cliente web a una página, puede usar los pasos que se indican en el artículo de TechNet “Cómo agregar el cliente web de Report Viewer a una página web (Reporting Services en modo integrado con SharePoint)”.

Cada cliente web de Report Viewer representa un informe por vez basado en la URL absoluta para el archivo de informes (.rdl) especificado en la propiedad Informe. La URL debe ser la ruta totalmente calificada hacia un informe en el sitio actual de SharePoint o en un sitio dentro de la misma aplicación o el mismo conjunto web. La URL debe dar como resultado una biblioteca de documento o una carpeta dentro de una biblioteca de documento que contenga el informe. La URL del informe debe incluir la extensión de archivo .rdl. Si el informe depende de un modelo o de archivos de origen de datos compartidos, no tiene que especificar esos archivos en la URL. El informe contiene referencias hacia los archivos que necesita.

Autenticación de notificaciones y Reporting Services

Una de las características nuevas presentada con SharePoint Server 2010 es la compatibilidad para la autenticación basada en notificaciones. En aplicaciones para notificaciones, los clientes presentan “notificaciones” a la aplicación. Estas notificaciones son datos sobre el usuario, como apellido, dirección de correo electrónico o nombre de administrador. Esto proporciona a la aplicación más información que la que recibiría con Kerberos. Por ejemplo, piense en una aplicación para compras: Dos de las notificaciones que se pasan a la aplicación podrían ser la dirección de correo electrónico del administrador de usuario y el límite de compra del usuario. En una aplicación que no es para notificaciones, esta información debería ser administrada por la aplicación.

En el ámbito de SharePoint, la autenticación de notificaciones resuelve el problema de compartir sitios de SharePoint en todas las organizaciones. Si se usa un producto, como los Servicios de federación de Active Directory (AD FS, Active Directory Federation Services), dos organizaciones pueden configurar notificaciones que permitan a SharePoint identificar al usuario y asignarle los permisos correctos.

Debido a que esta función está incorporada en los productos de SharePoint 2010, Reporting Services puede funcionar con el modelo de autenticación. Reporting Services no reconoce las notificaciones, sino que se comunica con SharePoint por medio de una cuenta de confianza. El servicio proxy que está dentro del complemento de SQL Server 2008 R2 usa el objeto de modelo de SharePoint para convertir el token de notificaciones en un contexto de usuario de SharePoint correspondiente en forma de token de usuario de SharePoint que el servidor de informes puede comprender y usar para validar contra la base de datos de SharePoint. En definitiva, el proceso funciona de esta manera:

  1. SharePoint realiza la autenticación de notificaciones correspondiente y, con el servicio de token de seguridad de SharePoint, comunica el token de notificaciones al proxy de Reporting Services.
  2. A su vez, el proxy de Reporting Services usa el token de notificaciones para comunicarse con el modelo de objeto de SharePoint y genera el token de usuario de SharePoint correspondiente que reenvía al servidor de informes.
  3. El servidor de informes usa el token de usuario de SharePoint contra el modelo de objeto de SharePoint local para generar el contexto de usuario de SharePoint correcto.
  4. Si el usuario tiene el permiso requerido, el servidor de informes envía la información solicitada de vuelta a SharePoint con el contexto de usuario de SharePoint adecuado, como lo haría normalmente.

Generación de informes de lista nativa

SQL Server 2008 R2 Reporting Services ahora es compatible con las listas de SharePoint como origen de datos. Esta compatibilidad le permite recuperar datos de lista de SharePoint Foundation 2010, SharePoint Server 2010, Windows SharePoint Services 3.0 y Office SharePoint Server 2007. La capacidad de acceder a los datos de lista no se basa en el complemento ni en la ejecución del servidor de informes en modo nativo o en modo integrado con SharePoint. La funcionalidad está integrada en el servidor de informes. El cambio en las diferentes configuraciones está en el método de acceso.

Existen dos métodos para acceder a los datos de lista de SharePoint. Uno es por medio del servicio Web lists.asmx, y otro es mediante los API del modelo de objeto de SharePoint. En cualquier instalación de SharePoint, si escribe la dirección URL http://<sharepoint_server_name>\lists.asmx, obtendrá una lista en formato XML de todas las listas que están en el sitio de SharePoint a las que puede acceder. Con este método, Report Builder 3.0 puede recuperar las listas. Un servidor de informes configurado en modo nativo también usa este método.

El método de API del modelo de objeto de SharePoint se puede usar en dos escenarios. Uno es cuando se configura el servidor de informes en el modo de integración de SharePoint, y la lista existe en el mismo conjunto de SharePoint al que está integrado Reporting Services, y todo esto se produce en el mismo equipo; recuerde que en este escenario, existe una copia de SharePoint que se ejecuta en el servidor de informes que le proporciona acceso al conjunto de API. El otro escenario es cuando tiene instalado SharePoint 2010 junto con el complemento, pero no tiene el servidor de informes. Esto se denomina modo local y se trata más adelante, en la sección “Generación de informes sin Reporting Services”.

Para usar datos obtenidos de una lista de SharePoint dentro de un informe, primero debe crear un origen de datos y luego un conjunto de datos que use ese origen de datos. En Report Builder 3.0, existe un tipo nuevo de conexión en la página de propiedades de origen de datos denominada Lista de SharePoint de Microsoft, como se muestra en la Figura 3. Junto con esta opción, escriba la dirección URL de su sitio de SharePoint; no es necesario agregar lists.asmx a la dirección URL. El origen de datos también puede configurarse con credenciales diferentes para usarlas cuando se accede al servidor de SharePoint.

Figure 3: SharePoint List Connection Type

Figura 3: Tipo de conexión de la lista de SharePoint

Cuando cree un conjunto de datos nuevo basado en este origen de datos, se le dará una lista de todas las listas de SharePoint que están en el sitio al que tiene acceso. Luego, podrá navegar en una lista y acceder a los elementos individuales que contiene, crear filtros, parámetros e informes simplemente como si fuera una tabla de base de datos de SQL.

Compatibilidad de la asignación de acceso alternativo

Otra mejora de integración es la compatibilidad para la asignación de acceso alternativo (AAM, Alternate Access Mapping). AAM ha estado en SharePoint desde la versión de 2007, pero no era compatible con Reporting Services. Ahora, si configura una asignación de acceso alternativo dentro de la administración central de SharePoint, el complemento de Reporting Services mantendrá la estructura de la dirección URL, como se muestra en el informe simple de la Figura 4. Tanto la dirección , como https://www.contoso.com presentan el mismo informe.

Figure 4: Alternate Access Mapping

Figura 4: Asignación de acceso alternativo

Presentación de informes sin Reporting Services

Hasta este punto, toda la información que se presenta en este artículo pertenece a lo que se denomina modo conectado. En versiones anteriores de Reporting Services, este era el único modo disponible y significaba que SharePoint tenía que ser conectado un servidor de informes de Reporting Services configurado en modo integrado con SharePoint para presentar informes con Report Viewer.

Gracias al lanzamiento de SQL Server 2008 R2, puede presentar informes sin integrar el sitio de SharePoint o conjunto con un servidor de informes de Reporting Services. En su lugar, puede usar Report Viewer para presentar directamente los informes desde SharePoint cuando la extensión de los datos es compatible con la generación de informes en modo local. De fábrica, solamente la lista de SharePoint y la extensión de generación de informes de Microsoft Access 2010 son compatibles con esta opción.

Cuando está en modo local, también puede presentar un informe que tenga un origen de datos incrustado o un origen de datos compartido desde un archivo .rsds. No obstante, no puede administrar el informe o el origen de datos asociado ya que no es compatible en modo local.

Combinaciones compatibles del complemento de SharePoint y el servidor de informes

Gracias al lanzamiento de SQL Server 2008 R2 y SharePoint Server 2010, ahora existen tres versiones de SQL, tres versiones del complemento y dos versiones de SharePoint. Los componentes de integración pueden funcionar en cualquiera de estas versiones, pero tiene que combinar y hacer coincidir las versiones correctas. La tabla que se muestra en la Figura 5 proporciona las combinaciones compatibles de los productos.

Figure 5: Supported Combinations of the SharePoint Add-In Report Server

Figura 5: Combinaciones compatibles del complemento de SharePoint y el servidor de informes

Alan Le Marquandes un arquitecto de contenido para profesionales de TI que trabaja para la sede de Microsoft en el Reino Unido. Si desea obtener más información sobre Le Marquand, ingrese en su blogAlan’s World of IT.

Contenido relacionado