650 likes | 1.05k Vues
Introducción a Microsoft SQL Server 2000 Reporting Services. Yo (Jordi Rambla – jordi@ramblainf.com) Director técnico de Certia Consultor y profesor de Reporting y BI Mentor Asociado de Solid Quality Learning Iberoamericana Consultor de P&P,XML, ES y WS en Master UOC
E N D
Yo (Jordi Rambla – jordi@ramblainf.com) • Director técnico de Certia • Consultor y profesor de Reporting y BI • Mentor Asociado de Solid Quality Learning Iberoamericana • Consultor de P&P,XML, ES y WS en Master UOC • Regional Director de Microsoft circa1998-2004 • Columnista de DotNetMania y NetVeloper • Certia (http://certia.ramblainf.com) • Es la marca de servicios de rambla informàtica • Consultoría, formación y aplicaciones en BI y .NET • Trabajando en informática empresarial desde 1985
Trabajos relacionados: • SQL Server 2000 Reporting Services • Comparativa con los productos de Crystal Decisions (BO) • Curso para empresa (diseño y administración) • Proyecto con RS para MCS • Próximas ediciones del curso • Marzo, en Barcelona
Una asociación de expertos en SQL Server y .NET de todo el mundo • Itzik Ben-Gan • Kalen Delaney • Fernando G. Guerrero • Michael Hotek • Brian Moran • Ron Talmage • Carl Rabeler • Herbert Albert • Gianluca Hotz • Tibor Karaszi • Andrew Kelly • Dejan Sarka • Wayne Snyder • Eladio Rincón • Miguel Egea • Jesús López • Guillermo Som (El Guille) • Daniel Seara • Willy Marroquín • Antonio Soto • Jordi Rambla
Solid Quality Learning University Summits • ¿Qué son los SQL University Summits? • Intensos, avanzados, esencialmente útiles • Temarios aplicados a sistemas empresariales • Eventos formativos, no de marketing • 3 grupos de sesiones simultáneas • 6 seminarios de día completo • 9 mentores presentando 42 sesiones • En castellano • ¿Dónde? • Viena (del 28 de Febrero al 4 de Marzo del 2005) • Buenos Aires (del 18 al 22 de Abril del 2005) • Madrid (del 25 al 29 de Abril del 2005) • Barcelona (Mayo 2005); también en: • Milán, Washington DC, Los Angeles, Chicago, Dallas, Monterrey, San Salvador, Singapore, Hong Kong
¿Qué es SQL Server Reporting Services? • Plataforma de reporting tanto para informes tradicionales (en papel) como para informes interactivos • Infraestructura web. Escalable, gestionable y aplicable a soluciones personalizadas • Se integra con SharePoint, Excel, el explorador de internet y otras herramientas habituales • Plataforma única y herramientas para todos los tipos de datos estructurados (relacionales, Jerárquicos y multidimensionales)
Aplicación propia Navegador Office Orígenes de datos (SQL, OLE DB, XML/A, ODBC, Oracle, propio) Servicios Seguridad (Sistema, propio) Seguridad Proceso de datos Distribución Rendering Formatos de salida (HTML, Excel, PDF, propio) Destino de entrega (E-mail, carpetas, propios) Arquitectura del producto Interfaz servicio web XML Report Server Procesador de informes SQL Server Catalog
IIS IIS IIS Report Server Report Server Report Server Windows Server Windows Server Windows Server Escenario empresarial Orígenes de datos Metadatos y Cache Informes Cluster Granja Web Report Server Clientes Oracle SQL Server 2000 Windows Server SQL Server NLB SQL Server 2000 DB2 Windows Server Ficheros, OLE DB, ODBC, .NET
Beneficios clave • Plataforma de reporting ampliable • Integración Office • Orígenes de datos • Escalable, flexible • Bajo coste
Layout • Colocación libre • Similar a diseñar un formulario • No se basa en bandas, pero puede simular esa configuración • Algunos elementos se expanden al generar el informe, desplazando a otros elementos • Los elementos se pueden anidar • Saltos de página • Pueden ser lógicos y físicos • Es posible utilizar cabecera y pie de página
Elementos del informe • Textbox • Image • Line • Rectangle • Subreport • Data Regions (List, Table, Matrix, Chart) 100.000€
Cualquier elemento Background Color* Background Image* Border Color* Border Style* Border Width* Color* Padding* Textbox Can Grow Font Family* Font Size* Font Style* Font Weight* Format* Hide Duplicates Line Height* Text Align* Text Decoration* Vertical Align* Propiedades de los elementos *Expresiones
List Brian $10,000 Jason $20,000 • Regiones que se repiten, con formato libre • Similar a “bandas” • Es posible ubicar un List junto a otro • Se pueden anidar para obtener varios niveles de agrupación • Se debe utilizar para construir áreas repetitivas con formato complejo Steve $30,000
Table • Lista encolumnada • Columnas fijas, filas repetidas • Las celdas pueden abarcar varias columnas • Varias filas por registro • Las celdas pueden contener cualquier elemento • Más rápidas y ligeras que las List • Es más fácil alinear los elementos • Es el habitual en la mayoría de informes
Matrix • Repetición de filas y columnas • Similares a las pivot table o tablas cruzadas • Formato propio en cabeceras • Formato independiente de subtotales • Las celdas pueden contener cualquier elemento • Debe utilizarse cuando las columnas equivalen a registros en nuestros datos
Charts • Gráficas • Los datos provienen del origen de datos • Incluyendo expresiones • Conjunto completo de tipos de gráficos y propiedades • Funcionalidad similar a la de Matrix (agrupar, ordenar, filtrar)
Expresiones • La mayoría de las propiedades admiten expresiones para determinar su valor • Sintáxis Visual Basic .NET • Valores obtenidos del data set • Valores de otros elementos del informe • Valores de propiedades globales y del usuario • Agregados: Sum, Avg, Count, Min, First, etc. • Ejemplos • =Fields!Name.Value • =Fields!First.Value & " " & Fields!Last .Value • =Sum(Fields!Sales.Value) • =IIF(Sum(Fields!Sales.Value)>10, "green", "red")
Parámetros • Los parámetros del informe se pueden emplear en las expresiones (incluidos los parámetros de la consulta SQL) • Los valores aceptados o por omisión se obtienen de forma directa o mediante una consulta • Pueden ser jerárquicos • La selección de un parámetro filtra los valores posibles en otro • Se accede a ellos con la colección global Parameters • =IIF(Fields!Sales.Value > Parameters!Goal.Value, “Bien", “Mal")
Informes interactivos • Los elementos del informe se pueden asociar a acciones • Drill down en el mismo informe • Drill through a otro informe • Bookmarks (puntos) • Hiperenlace a una origen internet • Mostrar / Ocultar regiones • Document map que muestra la estructura del informe
Datos • Varios conjuntos de datos a partir de orígenes de datos distintos • Orígenes de datos admitidos • SQL Server (7.0, 2000, Yukon) • Analysis Services (2000 w/XML/A, Yukon) • OLE DB, ODBC, Oracle, otros proveedores .NET • Constructor de consultas en el Report Designer para SQL Server y OLE DB • O escribir las consultas directamente • Los parámetros de la consulta se pueden exponer como parámetros del informe
Distribución del proyecto • Envía los informes, imágenes y orígenes de datos al servidor de informes • Informes como Report Definition Language (RDL) • En el servidor, los informes se compilan y almacenan en la base de datos de metadatos en SQL Server • Una vez “instalado” • Establecer la seguridad • Configurar el caché y la ejecución programada • Indicar la programación del histórico
Agenda • Instalación • Namespaces y Seguridad • Programaciones • Gestión de informes • Suscripciones
Componentes de Reporting Services Utilidades cliente Report Designer navegador Report Manager http://<server>/reports Acceso URL SOAP reportservice.asmx WMI Servicio Win32 Servicios Web (IIS / ASP.NET) http://<server>/reportserver Distribución Componentes compartidos Obtención datos Rendering Seguridad SQL Server Database / SQL Server Agent
APIs de gestión • Servicios Web / SOAP • Implementación completa con tipos complejos • Incluye WSDL • Añadir la referencia al servicio en VS .NET • Admite SSL • WMI • Para gestionar la configuración del servicio • Disponible aunque el WS no lo esté • En la primera versión no se incluyen eventos WMI
Herramientas de gestión • Report Manager • Aplicación web incluida en RS • Construida en ASP.NET • Herramientas cliente • Script Host (rs.exe) • Server Configuration (rsconfig.exe) • Encryption Key Management • Aplicaciones propias • en samples aplicación Win32
Namespace del servidor • Espacio de nombres jerárquico gestionado mediante una base de datos SQL Server • Metáfora de carpetas para organizar los informes y establecer la seguridad • Tipos de elementos • Report • Folder • Data Source • Resource • Los elementos se indican por su path tanto en el API SOAP como en el acceso URL (p.e. /Adventure Works/Sales Report)
My Reports • Ofrece una carpeta personal a los usuarios en la que publicar sus informes • /My Reports es redirigido a /users/<username>/My Reports • Se le aplica, de forma automática, una función (rol) configurable • Desactivado de fábrica
Modelo Seguridad Operación • Tareas • Conjunto de operaciones de bajo nivel • A nivel de elemento (crear informe) o de sistema (gestionar planificaciones) • No se puede personalizar • Funciones (Roles) • Conjuntos de tareas • Algunos instalados de fábrica • Se pueden personalizar • Grupos / Usuarios • Sistema / propios • Asignación de funciones • Asociar grupos / usuarios con funciones • Se heredan Tarea Función Grupo o Usuario Asignación Elemento
Programaciones • Los sucesos de gestión se pueden planificar en el servidor de informes • Caching, suscripciones, histórico • Las programaciones se guardan en la base de datos y se integran con SQL Agent • Los sucesos programados se ponen en cola en la base de datos y son atendidos por el servicio NT
Programaciones compartidas • Programaciones compartidas que se gestionan con independencia de los informes, suscripciones o snapshots • Cambios posibles en las propiedades de la programación • Nombre • Días, horas o frecuencias • Fechas de inicio y finalización • Detener y reiniciar una programación compartida • Borrar una programación
Propiedades del informe • Los metadatos se obtienen de la definición del informe cuando este se publica y se guardan en la base de datos • Definición del informe • Parámetros • Solicitar o no al usuario • Texto de solicitud • Valores por omisión • Información del origen de datos
Gestión de orígenes de datos • El administrador puede establecer el tipo de conexión y la cadena de conexión una vez publicado el informe • Opciones para las credenciales • Solicitadas ó • Almacenadas de forma segura • Encriptadas en memoria y en la base de datos • Opción de suplantación (impersonate) después de conectar (sólo en SQL Server) • Seguridad integrada • Sin credenciales (no necesarias) • Orígenes de datos compartidos • La información de conexión y de las credenciales se guarda como un objeto seguro en el namespace • Punto común de gestión para muchos informes
Gestión de la ejecución • Sesiones de ejecución • Se crean automáticamente • Mantienen la coherencia entre peticiones al servidor (imágenes, paginación, exportación) • El timeout se configura en el servidor • El administrador decide si los informes se generan a petición o a partir de instantáneas (snapshots) • Los informes a petición pueden guardarse en caché (con limitaciones)
Snapshots e Histórico • Instantáneas de ejecución • La ejecución del informe se planifica, todos los usuarios reciben los mismos datos • Una sola instancia del informe procesado • Limitaciones: La consulta no puede usar parámetros o expresiones definidas por el usuario, es necesario almacenar las credenciales • Histórico de instantáneas • Se guardan varias instancias (copias) de la ejecución del informe • Se guardan de forma independiente al origen de datos y la definición del informe • Normas específicas de archivo a nivel de sistema y de informe
Suscripciones • Personales o definidas por el administrador • Suscripción disparada por un suceso (programación, creación de una instantánea, externo) • Las extensiones de distribución especifican la forma de entrega del informe • Se puede especificar el formato de entrega (HTML, XLS, etc.) • Se entregan enlaces e informes generados • Dos tipos de suscripción • Estándar • Dirigida por una consulta (Data driven)
Suscripciones estándar • Un mismo informe enviado a un conjunto predefinido de direcciones • Cómo funciona • El usuario crea una petición para lanzar un informe en un momento determinado y en un formato concreto • Puede originarse a partir de una programación, un suceso o de la generación de una instantánea • Especifica el informe, las condiciones de ejecución, los parámetros, el formato y ubicación de entrega, etc.
Suscripciones Data Driven • Cuando utilizarlas • Entregar un informe a una lista variable de destinatarios, además de personalizar el contenido • Cómo funciona • Las crea el administrador • Define la consulta que devuelve la lista de destinatarios y los valores de los parámetros a aplicar • Establece su ejecución en base a una programación o a una instantánea
Desarrollo de aplicaciones con/para SQL Server Reporting Services