Presentando a Reporting Services
Una herramienta para mostrar informes, que es fácil de instalar, que utiliza formato estándar (XML), que se ve en el visor integrado que viene el Framework 2.0, que va integrada en SQL Server 2005 en todas las versiones y que además es gratis para las versiones express. Esa es la presentación que tiene esta herramienta que Microsoft nos ha facilitado para el tratamiento de Informes en SQL Server 2005 y en aplicaciones .NET 2.0. Bueno decir tiene que ya existía en SQL Server 2000 pero que no era ni la mitad de sencilla de lo que es ahora (como toda nueva herramienta deber ser). Como Reporting Services es muy amplio y abarca demasiado para un solo post, intentaré hacer un breve resumen sobre el. Espero que no sea el último.
Índice¿Qué es Reporting Services?Arquitectura de Reporting Services¿Como crear un Informe?¿Qué es el RDL?¿Qué tenemos dentro del RDL?¿De que partes está constituido un Informe?
Entonces, ¿qué diferencia hay entre el RDL y un informe?
Más información
¿Qué es Reporting Services?
Podemos decir que es un servidor de reportes, donde almacenamos, creamos y vemos Reportes, en sí un reporte es un informe. De aquí en adelante le haré referencia como RS.

Arquitectura de Reporting Services

Reporting Services está divido en:
- Servidor de informes. Es el componente principal de RS, El servidor de informes se implementa como un servicio de Microsoft Windows y como un servicio Web. Se encarga de generar los reportes a través de los servicios Web y de la seguridad de los mismos.
- Administrador de informes. Es una herramienta de administración de los informes. Se accede a esta a través del explorador Web (IE), que lleva por debajo un portal Share Point o desde el MSSS Management Studio. A través de este podemos asignar permisos, crear carpetas, ver informes, crear nuevos informes con Report Builder, crear suscripciones(o instantáneas) etc.
- Base de datos del servidor de informes. Es una base de datos SQL Server 2005 donde almacena toda la información que tiene que ver con los informes, con la seguridad, suscripciones, instantáneas y demás extensiones del mismo.
- Herramienta de configuración de Reporting Services. Esta es la encargada de configurar el servidor de informes, entre ellos, el estado del servidor, Directorio virtual del servidor de informes y administrador de informes, Identidad del servicio de Windows, identidad del servicio Web, Instalación de base de datos, claves de cifrado, Inicialización, Configuración de correo electrónico y cuenta de ejecución.

¿Como crear un Informe?Para crear un informe podremos hacerlo de diferentes formas: · Con Visual Studio .NET 2005. Con Visual Studio añadiendo un nuevo proyecto de servidor de informes. A este le añadimos una fuente de datos o DataSet y un informe nuevo. Con esto dejamos que la imaginación vuele.· Report Builder. Para crear un informe con RB deberemos tener creados alguna fuente de datos o DataSet para trabajar con él. Destacar de esta herramienta que es para usuarios finales, donde nosotros creamos los roles, le damos los DataSets y ellos realizan el informe final. No es tan potente como la anterior pero para el usuario final le es muy fácil de entender, debido a que no hace falta ser desarrollador, analista o administrador.
· O de la manera tradicional. ¿Qué no sabéis como?, ¡pues desde código! , ¡a escribir XML se ha dicho!
¿Qué es el RDL?El RDL es el Report Definition Language, este es generado en XML, lo cual da muchas posibilidades a la hora de trabajar con él, ya que podemos programarlo a mano desde código o pasarlo a través de firewalls al ser texto plano. Su definición se puede ver en la ayuda de MSDN o a través de su esquema en: http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition ¿Qué tenemos dentro del RDL?El RDL está constituido por una serie de etiquetas que podemos clasificar de la siguiente forma:
- Cabecera. En la cabecera podemos encontrar la versión de XML, la codificación.
- Report. Contiene la dirección de la definición del RDL y todo el contenido del informe va entre sus etiquetas.
- DataSources. Aquí muestra la fuente de datos, en ella podemos ver, el proveedor de datos, la cadena de conexión entre otros.
- ReportParameters. Aquí se define el nombre del parámetro, el tipo y el texto que mostrará al usuario.
- PageHeader. Esta es la cabecera del Informe.
- Body. Este es el cuerpo del Informe, aquí es donde van los elementos del informe, como las especificaciones de diseño y los ReportItems que contiene las tablas, textbox y demás ítems del informe.
- PageFooter. Esta es el pie del informe.
- Propiedades de Página. Ancho, alto, márgenes, idioma y todo lo relacionado con el Report en general.
- DataSets. Contiene el/los DataSet/s utilizados para el informe. En estos se pueden encontrar: los campos y sus tipos y la consulta empleada entre otros.
¿De que partes está constituido un Informe?Un informe está constituido por tres partes fundamentales: Cabecera, cuerpo y pie como partes visuales para el usuario, y por DataSet o fuente de datos como parte no visual. Entonces, ¿qué diferencia hay entre el RDL y un informe?Pues ninguna, es lo mismo realmente, si generas un RDL y luego lo abres para diseño para diseñar desde Visual Studio.NET 2005 es lo mismo que crear uno nuevo desde un asistente o crearlo a mano desde el mismo Visual Studio.NET 2005. Ya depende de cómo queramos aplicar el Reporte a nuestro cliente final. Y llegados a este punto planteo las siguientes sugerencias para atender a nuestros posibles clientes:
- Informes Estándares. El cliente tendría una aplicación con un visor para reportes (ReportViewer), este puede ser para Windows o Web y funcionan igual. Nosotros como administradores y a petición de ellos les mandaríamos los informes a ellos para su visualización. Nivel Bajo.
- Informes con Report Builder. El cliente tendría acceso a la herramienta RB y nosotros configuraríamos la seguridad y los accesos a datos, ellos solo se encargarían de generarían el informe. Nivel Medio.
- Informes Personalizados. ¿Qué quiero decir con esto? , bueno, pues nosotros crearíamos una interfaz Windows o Web (ya dige que da lo mismo) con una serie de controles para elegir los campos y demás opciones que vaya a llevar nuestro Report para que el usuario los seleccione y a continuación les diese a un botón llamado por ejemplo “Generar”. Evidentemente todo esto estaría hecho bajo clases que controlaran y lo generasen todo el XML por debajo y lo implementase en el servidor de informes.
- Informes Ascendentes. ¿Cómo sería esto?, sería implementar las tres formas anteriores progresivamente, es decir, primero utilizaríamos la opción primera, donde el usuario se iría familiarizando con la tecnología, a medida que fueran avanzando en la materia se le iría formando en la herramienta Report Builder, cuando estuviese listo podría trabajar con ella, si el cliente no necesita más se puede quedar con esta. Pero si la lógica requiere grandes requisitos para los informes, podríamos llegar la última opción que es crear una aplicación que genere los informe a partir de los datos pasados desde un formulario que muestre las opciones oportunas.
Más información Libros Recomendados:Cuaderno Técnico nº2
Diseño de informes con SQL Server Reporting Services de la revista dotNetMania. Está escrito por Luis Miguel BlancoISBN: 84-934895-0-6
Páginas: 208Página Web:http://www.dotnetmania.com/CTdnm/index.html Videos Recomendados: WebCast: Mejorías en el nuevo SQL Server Reporting Services 2005 Mejorías que benefician a los desarrolladores de reportes que utilicen SQL Server Reporting Services 2005. En esta presentación se pondrá énfasis en los nuevos controles de manejo de reportes que existen en el ambiente de desarrollo de VS .net 2005, la nueva funcionalidad de los parámetros en los reportes, y uso del nuevo Report Model/Builder. Presentado por Roberto Hernández, MCAD MCSD.NET, MCSA, MCDBA, MCT.Url Descarga: http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032286370&EventCategory=3&culture=es-MX&CountryCode=MX
Webcast de TechNet Grabado: SQL 2005 - SQL Server 2005 Report Builder
Url Descarga: http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=118766497&EventCategory=3&culture=es-ES&CountryCode=ES Webcast de TechNet Grabado: SQL Server 2005 Reporting Services
Url Descarga: http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=118765326&EventCategory=3&culture=es-ES&CountryCode=ES
Este artículo pretende ser una introducción a Reporting Services y como tal puede que me exceda en algunos apartados y falte información en otros.
Un Saludo
Fran Díaz