Reporting Services Yo (Jordi Rambla jordi@ramblainf.com) Director tcnico 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 informtica Consultora, formacin y aplicaciones en BI y .NET Trabajando en informtica empresarial desde 1985 Trabajos relacionados:
SQL Server 2000 Reporting Services Comparativa con los productos de Crystal Decisions (BO) Curso para empresa (diseo y administracin) Proyecto con RS para MCS
Prximas ediciones del curso Marzo, en Barcelona Una asociacin 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 Rincn Miguel Egea Jess Lpez Guillermo Som (El Guille) Daniel Seara Willy Marroqun 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 simultneas 6 seminarios de da completo 9 mentores presentando 42 sesiones En castellano Dnde? 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); tambin en: Miln, 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, Jerrquicos y multidimensionales) Reporting Services SQL Server Catalog Report Server Interfaz servicio web XML Procesador de informes Distribucin Destino de entrega (E-mail, carpetas, propios) Rendering Formatos de salida (HTML, Excel, PDF, propio) Proceso de datos Orgenes de datos (SQL, OLE DB, XML/A, ODBC, Oracle, propio) Seguridad Servicios Seguridad (Sistema, propio) Office Aplicacin propia Navegador Arquitectura del producto Escenario empresarial Orgenes de datos Ficheros, OLE DB, ODBC, .NET Oracle SQL Server DB2 Clientes Granja Web Report Server Windows Server SQL Server 2000 Metadatos y Cache Informes Cluster NLB Report Server Windows Server IIS Windows Server SQL Server 2000 Report Server Windows Server IIS Report Server Windows Server IIS Beneficios clave Plataforma de reporting ampliable Integracin Office Orgenes de datos Escalable, flexible Bajo coste Creacin de informes con SQL Server Reporting Services Inicio Layout Colocacin libre Similar a disear un formulario No se basa en bandas, pero puede simular esa configuracin Algunos elementos se expanden al generar el informe, desplazando a otros elementos Los elementos se pueden anidar Saltos de pgina Pueden ser lgicos y fsicos Es posible utilizar cabecera y pie de pgina Elementos del informe Textbox Image Line Rectangle Subreport Data Regions (List, Table, Matrix, Chart) 100.000 Propiedades de los elementos 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* *Expresiones Data Regions List 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 agrupacin Se debe utilizar para construir reas repetitivas con formato complejo Brian Jason Steve $10,000 $20,000 $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 Ms rpidas y ligeras que las List Es ms fcil alinear los elementos Es el habitual en la mayora de informes Person Region Sales Brian North $10,000 Dan North $20,000 Total North $30,000 Steve East $50,000 Total East $50,000 Grand Total $80,000 Matrix Repeticin 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 Sales 2000 2001 2002 Brian $100 $110 $120 Jason $200 $250 $300 Steve $300 $400 $300 Total $600 $760 $720 Charts Grficas Los datos provienen del origen de datos Incluyendo expresiones Conjunto completo de tipos de grficos y propiedades Funcionalidad similar a la de Matrix (agrupar, ordenar, filtrar) Expresiones La mayora de las propiedades admiten expresiones para determinar su valor Sintxis 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") Parmetros Los parmetros del informe se pueden emplear en las expresiones (incluidos los parmetros de la consulta SQL) Los valores aceptados o por omisin se obtienen de forma directa o mediante una consulta Pueden ser jerrquicos La seleccin de un parmetro filtra los valores posibles en otro Se accede a ellos con la coleccin global Parameters =IIF(Fields!Sales.Value > Parameters!Goal.Value, Bien", Mal") Interactividad 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 orgenes de datos distintos Orgenes 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 parmetros de la consulta se pueden exponer como parmetros del informe Distribucin del proyecto Enva los informes, imgenes y orgenes 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 ejecucin programada Indicar la programacin del histrico Gestin de informes con SQL Server Reporting Services Agenda Instalacin Namespaces y Seguridad Programaciones Gestin de informes Suscripciones Prerrequisitos de instalacin Servidor Web Windows 2000 2003 Server Internet Information Server .NET Framework 1.1 (incluido) SMTP para entrega va email Servidor de base de datos SQL Server 2000 SQL Server Agent Estacin de creacin de informes Visual Studio .NET 2003 .NET Framework 1.1 (incluido) SQL Server Database / SQL Server Agent Componentes compartidos Servicios Web (IIS / ASP.NET) http://<server>/reportserver Servicio Win32 Componentes de Reporting Services Acceso URL SOAP reportservice.asmx Obtencin datos WMI Distribucin Seguridad Report Manager http://<server>/reports Rendering navegador Report Designer Utilidades cliente APIs de gestin Servicios Web / SOAP Implementacin completa con tipos complejos Incluye WSDL Aadir la referencia al servicio en VS .NET Admite SSL WMI Para gestionar la configuracin del servicio Disponible aunque el WS no lo est En la primera versin no se incluyen eventos WMI Herramientas de gestin Report Manager Aplicacin 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 aplicacin Win32 Namespace del servidor Espacio de nombres jerrquico gestionado mediante una base de datos SQL Server Metfora 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 automtica, una funcin (rol) configurable Desactivado de fbrica Modelo Seguridad 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 fbrica Se pueden personalizar Grupos / Usuarios Sistema / propios Asignacin de funciones Asociar grupos / usuarios con funciones Se heredan Elemento Asignacin Grupo o Usuario Funcin Tarea Operacin Namespace y Seguridad Programaciones Los sucesos de gestin se pueden planificar en el servidor de informes Caching, suscripciones, histrico 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 programacin Nombre Das, horas o frecuencias Fechas de inicio y finalizacin Detener y reiniciar una programacin compartida Borrar una programacin Programaciones Propiedades del informe Los metadatos se obtienen de la definicin del informe cuando este se publica y se guardan en la base de datos Definicin del informe Parmetros Solicitar o no al usuario Texto de solicitud Valores por omisin Informacin del origen de datos Gestin de orgenes de datos El administrador puede establecer el tipo de conexin y la cadena de conexin una vez publicado el informe Opciones para las credenciales Solicitadas Almacenadas de forma segura Encriptadas en memoria y en la base de datos Opcin de suplantacin (impersonate) despus de conectar (slo en SQL Server) Seguridad integrada Sin credenciales (no necesarias) Orgenes de datos compartidos La informacin de conexin y de las credenciales se guarda como un objeto seguro en el namespace Punto comn de gestin para muchos informes Gestin de la ejecucin Sesiones de ejecucin Se crean automticamente Mantienen la coherencia entre peticiones al servidor (imgenes, paginacin, exportacin) El timeout se configura en el servidor El administrador decide si los informes se generan a peticin o a partir de instantneas (snapshots) Los informes a peticin pueden guardarse en cach (con limitaciones) Snapshots e Histrico Instantneas de ejecucin La ejecucin del informe se planifica, todos los usuarios reciben los mismos datos Una sola instancia del informe procesado Limitaciones: La consulta no puede usar parmetros o expresiones definidas por el usuario, es necesario almacenar las credenciales Histrico de instantneas Se guardan varias instancias (copias) de la ejecucin del informe Se guardan de forma independiente al origen de datos y la definicin del informe Normas especficas de archivo a nivel de sistema y de informe Gestin de informes Suscripciones Personales o definidas por el administrador Suscripcin disparada por un suceso (programacin, creacin de una instantnea, externo) Las extensiones de distribucin 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 suscripcin Estndar Dirigida por una consulta (Data driven) Suscripciones estndar Un mismo informe enviado a un conjunto predefinido de direcciones Cmo funciona El usuario crea una peticin para lanzar un informe en un momento determinado y en un formato concreto Puede originarse a partir de una programacin, un suceso o de la generacin de una instantnea Especifica el informe, las condiciones de ejecucin, los parmetros, el formato y ubicacin de entrega, etc. Suscripciones Data Driven Cuando utilizarlas Entregar un informe a una lista variable de destinatarios, adems de personalizar el contenido Cmo funciona Las crea el administrador Define la consulta que devuelve la lista de destinatarios y los valores de los parmetros a aplicar Establece su ejecucin en base a una programacin o a una instantnea Suscripciones Desarrollo de aplicaciones con/para SQL Server Reporting Services Plataforma de Reporting Oportunidades Soluciones basadas en .NET con necesidades de reporting Herramientas de creacin y publicacin de informes Ampliaciones del servidor Aplicaciones de gestin del servidor Portales y aplicaciones de colaboracin SQL Server Catalog Report Server Interfaz servicio web XML Procesador de informes Distribucin Destino de entrega (E-mail, carpetas, propios) Rendering Formatos de salida (HTML, Excel, PDF, propio) Proceso de datos Orgenes de datos (SQL, OLE DB, XML/A, ODBC, Oracle, propio) Seguridad Servicios Seguridad (Sistema, propio) Office Aplicacin propia Navegador Arquitectura del producto Interfaces programticas Definicin XML del informe personalizable Esquema pblico Interfaces de presentacin URL Addressability Web Service / SOAP Interfaces de gestin Web Service / SOAP Interfaces de ampliacin Data, Delivery, Rendering y Security URL Addressability Virtual Roots Report Server http://[servername]/ReportServer Interfaz Web Service Directivas mediante parmetros Report Server Web Application http://[servername]/Reports Admite SSL Totalmente traducido Basado en el idioma de la cabecera HTTP URL Addressability Directivas URL Parmetros del informe Los nombres han de coincidir con los definidos en el informe Ejemplo: http://<server>/ReportServer/ReportName? CategoryID=1&EmployeeID=1 Credenciales del usuario (dsu: and dsp:) Credentiales para cada data set del informe Ejemplo: https://<server>/ReportServer/ReportName? dsu:DataSet1=MyUserName& dsp:DataSet1=MyPassword Alternativa con HTTPS POST Utilice protocolos seguros! Directivas URL Parmetros del Report Server (rs:) Ejemplo: http://servername/ReportServer/ReportName? rs:Command=Render Informacin de rendering (rc:) Pares Nombre/Valor que especifican la informacin del formato a utilizar (p.e., FindString, Section, Zoom, etc.) nico para cada Rendering Extension Ejemplo: http://servername/ReportServer/ReportName? rc:Section=7&rc:HTMLFragment=true Interfaces Web Service Namespace Management Item Properties Report Execution Report Parameters Report History Data Source Management Scheduling Subscriptions and Delivery Linked Reports Job Management Security Management Primeros pasos Referencia al Servicio Web http://[servername]/ReportServer/Reportservice.asmx?wsdl
Proxy generado por Visual Studio .NET tipos complejos definidos en el XSD Soporte de llamadas sncronas y asncronas Las operaciones de actualizacin se pueden agrupar (batch) Cabeceras SOAP Session ID Server Info Batch ID Primeros pasos Servicio Web - Autenticacin Autenticacin Autenticacin bsica System.Net.NetworkCredentials
Dim rs As New MyServer. RSWebService() Prompt user for credentials
rs.Credentials = new System.Net.NetworkCredential ("user", "pwd", "domain") Autenticacin integrada System.Net.CredentialCache
Dim rs As New MyServer. RSWebService() rs.Credentials = System.Net.CredentialCache.DefaultCredentials Programacin Servicios Web Ampliar Report Server Las Extensions ofrecen una forma de ampliar la plataforma Cdigo gestionado (.NET) en el proceso del servidor Interfaces CLR publicadas Tipos de Extension Funciones propias Data, Delivery,Rendering, Security Implicacin de CAS .NET (Code Access Security) Otros datos Service Pack1 disponible Service pack 2 en beta reciente Pack de informes Actualizacin de los libros en pantalla 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. jordi@ramblainf.com http://certia.ramblainf.com