SQL Server Reporting Services 2000 y 2005 Este artículo presenta SQL Server Reporting Services. Se presentan primero las funcionalidades de la primera versión de esta herramienta y después las mejoras introducidas en la versión 2005 Visión general de Reporting Services 2000 Esta visión general se refiere a la versión 2000 de Reporting Services, de modo que hay muchos aspectos de ella que no aplican o que han cambiado en la nueva versión. Más adelante, en este artículo, se verán estas diferencias. Reporting Services 2000 es una plataforma completa de gestión de informes soportada por SQL Server 2000 y Visual Studio.NET 2003. Esta plataforma cubre el ciclo de vida completo de los informes: Creación de informes: la definición de los informes se realiza con el formato RDL, un estándar XML abierto, que permite que diversos fabricantes proporcionen herramientas de creación de informes. Actualmente, en realidad, el único diseñador de informes para Reporting Services 2000 es el de Microsoft, que exige la existencia de una instalación de Visual Studio 2003 y se integra en su entorno. Administración de informes: Reporting Services actúa como un servicio, cuya arquitectura se mostrará a continuación, basado en servicios web, que permite almacenar recursos y definiciones de informes, organizados en carpetas. Los informes se pueden genera planificándolos, para que se ejecuten en determinados periodos de tiempo, o por demanda de los usuarios. El servidor también es capaz de almacenar los informes ya generados. Para aumentar el rendimiento dispone de un sistema de caché en el que se guardan los informes generados bajo demanda. Además permite gestionar la seguridad de los informes, permitiendo especificar permisos muy granulares sobre los informes para cada usuario. Y bastantes más cosas que se irán detallando Entrega de informes: por último, la plataforma es capaz de realizar la distribución de los informes entre los usuarios. Utiliza dos modelos para realizar la entrega: inserción o push y extracción o pull. El modelo de extracción realiza la entrega del informe cuando lo solicita el usuario. El modelo de inserción realiza la entrega automáticamente al usuario, dependiendo de eventos, como puede ser una planificación periódica de entrega de informes. Los informes se pueden presentar en un servidor Web o enviar al correo electrónico exportados a diferentes formatos, entre otros medios de entrega. Esta es una visión general de lo que ofrece la plataforma, que es bastante más de lo que puede abarcar el artículo. A continuación se mostrará una introducción a la arquitectura del servidor y algunas de sus características técnicas. Arquitectura de Reporting Services 2000 La arquitectura de Reporting Services 2000 queda resumida en este gráfico: 09/01/2006 Valor añadido Danysoft 902 123146 www.danysoft.com Página 1.5
Plan de Formación Como se aprecia, la arquitectura se apoya en un catálogo, que es una base de datos de SQL Server a través de la cual se gestionan todos los informes, permisos, eventos, planificaciones, etc. Sobre este catálogo está el núcleo de Reporting Services, el servidor propiamente dicho, llamado Report Server. Este servidor arranca como un servicio de Windows. Quitando el arranque y la parada de este servicio del sistema operativo, todas las facilidades de gestión y utilización del servidor están expuestas como servicios web. Las herramientas de gestión, el diseñador de informes y el administrador de informes acceden al servidor mediante servicios web, nunca utilizando ningún tipo de llamada nativa, ya que no existe. Esto presenta enormes ventajas en entornos de red, a la vez que presenta una arquitectura totalmente abierta para realizar aplicaciones personalizadas de gestión del servidor, de utilización de informes, etc. que funcionan perfectamente en una red sin necesidad de realizar a penas cambios en su configuración de seguridad. El núcleo de Reporting Services, Report Server, a su vez, está organizado en cuatro áreas: Acceso a datos: esta área gestiona las conexiones con los orígenes de datos, incluidos el acceso a SQL Server, Oracle y orígenes de datos OLE DB y ODBC, que abarcan casi cualquier fuente de datos del mercado, como bases de datos Access, archivos de texto, hojas de Excel a parte, de, por supuesto, la gran cantidad de bases de datos existentes en el mercado que soportan uno de estos dos estándares que son los más universalmente adoptados. También se soportan datos en XML, y, si se integra en una aplicación.net, se puede alimentar al informe directamente con DataSets. Por si esto fuera poco, cabe la posibilidad de crear extensiones personalizadas. Además existe soporte para realizar informes de cubos OLAP de Analysis Services. Seguridad: la validación de usuarios se realiza principalmente de manera integrada con la seguridad de Windows. No obstante también cabe la posibilidad de crear extensiones para realizar una validación de usuarios personalizada. Una vez validados los usuarios, dentro del servidor reciben permisos sobre los objetos (informes y otros) con un alto nivel de granularidad (permisos para cosas muy específicas). Generación de informes: esta parte del servicio es la encargada de tomar la definición de los informes y generar los informes propiamente dichos en el formato solicitado. De manera nativa se soportan, entre otros, los siguientes formatos HTML, Excel, PDF, XML, CSV y TIFF. Además, también es posible crear extensiones para generar informes en formatos diferentes. Entrega de informes: la entrega de los informes es posible, a parte de visualizándolos directamente a través del servidor Web, mediante envíos de correo electrónico o dejando los informes generados en carpetas compartidas de la red. Nuevamente en Página 2/5 Servicios Profesionales Danysoft www.danysoft.com T. 902 343484
Area de Formación Grupo Danysoft: Cursos de Formación para la plataforma.net esta área cabe la posibilidad de extender las posibilidades originales de Reporting Services. Sería posible, por ejemplo, crear una extensión para realizar envíos de informes a destinos remotos mediante FTP. Nociones básicas sobre el diseño de los informes en la versión 2000 Los informes de Reporting Services 2000, como se comentó más arriba, se realizan utilizando un diseñador que se integra dentro del entorno de Visual Studio.NET 2003, de modo que es totalmente necesaria la existencia de esta herramienta para poder abordar la definición de los informes. Al ser el formato de definición de informes, RDL, un estándar abierto, la teoría es que podrían existir herramientas de terceros que permitieran el diseño de informes. Sin embargo, en la práctica esto no es así, por lo que no se puede evitar la dependencia de Visual Studo.NET 2003. El primer paso de creación de informes siempre es la elección de las fuentes de datos. En este primer paso ya llama la atención la posibilidad de utilizar datos heterogéneos provenientes de diversas fuentes, cosa que normalmente sólo se soporta en plataformas de precios muy elevados. Una vez establecido el origen de los datos, si se sigue a través de los asistentes, es posible crear básicamente dos tipos de informes: tabular o matricial. Los informes tabulares son los tradicionales, en los que los datos se visualizan en filas consecutivas, y estructurados en columnas. Lógicamente estas filas pueden ir separadas en grupos, que pueden tener encabezados y pies, en los que pueden mostrarse, por ejemplo, valores de resúmenes y totales de los grupos. En los informes tabulares, además, se puede definir rápidamente la distribución y el formato de la tabla, así como habilitar las opciones de drill-down, consistentes en dejar solo visibles las cifras de resumen de los grupos y permitir, mediante la interacción con el usuario, ir mostrando niveles de detalle cada vez mayores. Los informes matriciales permiten realizar una visión mucho más resumida de los datos. Un informe organizado de forma matricial muestra una tabla cruzada, en la que las filas y columnas contienen diferentes agrupaciones de los datos. Las celdas muestran los valores de resumen correspondientes. Dentro de los informes se dispone de elementos de visuales, como etiquetas de texto, líneas, rectángulos (que permiten contener otros elementos del informe), imágenes (que pueden ir embebidas en el informe, ser extraídas de la base de datos o provenir de enlaces URL), subinformes, gráficos de diversos tipos, etc. Existe la posibilidad de incluir la interactividad de drill-down mencionada arriba, así como otra funcionalidad de drill-through que permite llevar al usuario a otras partes del mismo informe, e, incluso, a otros informes diferentes. A parte de la disposición básica permitida por los asistentes, se pueden realizar disposiciones personalizadas para los informes. Para ello se proporcionan tres elementos de disposición. Los dos primeros, el elemento tabla, que permite realizar informes de aspecto tabular, y el elemento matriz, que permite realizar informes matriciales, son los empleados por los asistentes. El último es el más flexible de todos. Es el elemento lista, que simplemente proporciona un espacio en el que se pueden disponer con completa libertad los elementos de un registro de la base de datos. La lista se repite para cada uno de los registros. Lo más interesante es que en un mismo informe se pueden realizar todas las combinaciones deseadas de los elementos de disposición mencionados, dando al informe el aspecto deseado sin ningún tipo de problema. Lógicamente existen elementos preconcebidos para crear resúmenes de los datos, como sumas totales, medias, recuentos, mínimos y máximos etc. www.danysoft.com 902 123146 - Página 3/5
Plan de Formación El formato se puede controlar individualmente para cada uno de los elementos del informe. Se puede, además, dar formato condicional, dependiente de los valores de los datos, para resaltarlos o para dar al informe el aspecto deseado dependiendo de que información se esté mostrando. Para que los informes sean realmente útiles es necesario que se pueda decidir, en el momento de su generación, qué valores se mostrarán. Esto se consigue mediante la definición de parámetros de diversos tipos. Cuando el informe va a generarse se proporcionan valores para dichos parámetros, facilitando la personalización de cada ejecución del informe. Normalmente estos parámetros se utilizan para realizar filtrados de los datos, pero pueden tener otros fines de personalización de informes, como mostrar un título concreto, cambiar el logotipo visualizado, etc. Qué hay de nuevo en Reporting Services 2005 Lejos de traer mejoras triviales, la nueva versión de Reporting Services presenta algunos cambios muy interesantes. A parte de las típicas mejoras de rendimiento, mejoras del diseñador, etc. hay unas cuantas cosas que son realmente destacables, algunas de las cuales, se mencionan a continuación. La primera de ellas es que el diseñador de informes ahora no requiere tener previamente instalado Visual Studio. El diseñador sigue estando basado en el entorno de Visual Studio, en este caso 2005, pero, si este producto no está disponible, se instala automáticamente el entorno para poder integrar el diseñador dentro de él. Otro cambio muy interesante, que los desarrolladores de aplicaciones independientes de escritorio podrían echar en falta, es la resolución de un problema serio para ellos. Antes la generación de informes requería que existiera un servidor de SQL Server, en el que se debía instalar Reporting Services. Cada vez que la aplicación necesitaba generar un informe debía intervenir el servidor. Este modelo era inutilizable para este tipo de desarrolladores. La versión actual permite embeber la definición de los informes dentro del código de la aplicación, y la generación de los mismos sin la intervención de un servidor externo. Página 4/5 Servicios Profesionales Danysoft www.danysoft.com T. 902 343484
Area de Formación Grupo Danysoft: Cursos de Formación para la plataforma.net Otra novedad que puede resultar interesante a muchos desarrolladores, especialmente los que emplean el generador de informes para generar documentos operacionales, como facturas, albaranes, informes para clientes, etc. es la posibilidad de pasar valores múltiples a un parámetro. Esto permite asociar varios valores a un solo parámetro, lo que permite, por ejemplo, imprimir las facturas número 12, 17, 23 y 46, de una sola vez. Por último, y no menos importante, se destaca la existencia del Report Builder, una herramienta web que les proporciona a los usuarios posibilidades limitadas de edición de informes. Esto permite que los usuarios finales avanzados puedan modificar un informe existente para hacerlo más adecuado a sus necesidades. Ambas versiones de Reporting Services tienen muchos más aspectos, de interés, pero el objetivo de este artículo es arañar su superficie y dar una visión global a los usuarios que se deseen evaluar esta herramienta. Para más información no dude en consultarnos en el 902 343484, o vía email en sp@danysoft.com www.danysoft.com 902 123146 - Página 5/5