Sql Server 2005 Franco Perduca Factory Software [email protected] Reporting Services - Introduzione Agenda Reporting Services Overview Sviluppo Sicurezza Distribuzione dei report Amministrazione 2 Overview MS Reporting Services (SSRS) è una piattaforma per la creazione e la gestione di report Per applicazioni connesse Sfrutta tecnologie standart e MS HTTP, XML e Web Services .NET SQL Server IIS Fornisce tool per: sviluppo amministrazione consultazione E’ completamente estendibile e personalizzabile 3 Features principali Sorgenti dati Relazionali Multidimensionali Xml Report 4 Tabulari A Matrice (Pivot) Free-form Features principali Report Interattivi Drill through Report Parametrici Supporto per query dinamiche Navigabilità 5 Anchor Treeview Calendar Features principali Elementi Grafici Immagini Charts Aggregazione dei dati Totali / Subtotali / Avg Render multiformato 6 Html / PDF / Excel ecc. più custom Printer Features principali Rich Client Printing Stampa senza necessità di esportare Download di un controllo ActiveX sul client Supporto per 7 Page Layout Preview Features principali Configurazione tramite tool 8 Report Service Configuration Manager Overview 9 Overview E’ supportato lo scripting Tramite VB.NET Sono supportate le subscription I report possono essere automaticamente inviati via mail L’output sopporta i formati di diffusi 10 Excel, PDF, HTML, ecc Sviluppo Editor Report: BI Dev. Studio Non è obbligatorio in quanto il report è un file xml Però è praticamente indispensabile Creare un progetto di tipo “Report Project” Aggiungere: 11 Data Sources Parametri Reports Sviluppo Ogni proprietà visibile (e non) può essere modificata tramite l’uso di expressions Il linguaggio è VB.NET In più ci sono funzioni aggiunte dall’infrastruttura di SSRS 12 Previous RowNumber CountRows Sviluppo E’ possibile aggiungere funzioni tramite Per personalizzare il report è possibile utilizzare immagini 13 Codice Embedded (VB.NET) External Assembly (Qualsiasi linguaggio .NET) Memorizzate nel report (embedded) Esterne (link) Memorizzata in un db Sviluppo Il Report Manager è “solamente” l’applicazione di default fornita da Microsoft Utilizza il web service per visualizzare i metadati e gestire i report I report vengono visualizzati in un IFRAME 14 E sono chiamati tramite URL Sviluppo E’ possibile integrare SSRS in qualsiasi applicazione tramite E’ possibile integrare il tutto con SharePoint 15 Chiamate SOAP (Web Services) Chiamate via URL Web part disponibile dalla SP2 dei “vecchi” RS Sviluppo Creazione di report ad-hoc 16 Tramite il Report Builder I report possono essere creati sulla base di un “Report Model” Il “Report Model” contiene i metadati disponibili Più che sufficiente nel 99% dei casi Il “Report Model” si crea da Visual Studio (per db relazionali ) Per udm è “automatico” Sviluppo 17 Sicurezza L’unica autenticazione supportata è quella di Windows Ottima per Intranet E’ possibile sviluppare delle estensione di autenticazione proprie In ogni caso la sicurezza si gestisce tramite i ruoli 18 Sicurezza I ruoli possono contenere utenti o gruppi di utenti Non è possibile avere oggetti senza nessun criterio di sicurezza 19 Almeno un ruolo deve essere presente Per evitare spiacevoli lockout gli amministratori locali (BUILTIN\Administrators) possono sempre accedere e gestire i ruoli Sicurezza Due tipi di ruoli Item Level System Level System Roles: 20 Permettono di amministrare il sistema (NON i report!) Sicurezza Item Role 21 Vengono applicati su tutti i contenuti (folder, report,…) Il “Content Manager” è una sorta di amministratore Sicurezza Le assegnazioni dei ruoli si propagano agli oggetti sottostanti In questo modo è possibile gestire i permessi per eccezioni 22 Esattamente come per il File System Ma attenzione con i gruppi…non c’è la possibilità di dare un deny Sicurezza 23 I ruoli predefiniti sono semplicemente un aiuto; se ne possono fare di propri: Sicurezza Per le origini dati il discorso è un po’ più complesso… …in quanto definiscono come il report si autentica sulla sorgente dati Le possibilità sono: Fornire le credenziali ogni volta Utilizzare l’autenticazione Integrata (windows) Utilizzare l’autenticazione della sorgente dati Chiaramente il supporto delle varie possibilità dipende della sorgente dati 24 SQL Server le supporta tutte Sicurezza 25 La schermata di selezione: Sicurezza Se possibile utilizzare un unico utente per eseguire i report e salvare login e password all’interno di RS Altrimenti non è possibile utilizzare le funzionalità di 26 Tranquilli, questi dati sono criptati Snapshot (Cache) Subscription Distribuzione dei report I report possono essere visualizzati …ma possono anche essere loro ad andare dall’interessato 27 Da web, tramite il Report Manager Da applicazioni ad hoc, o integrati in applicazioni esistenti Via mail Via network share Questa funzionalità prendere il nome di Subscription Distribuzione dei report Le subscription vengono eseguite in base ad una schedulazione La schedulazione fa affidamento sul SQL Server Agent 28 Ad hoc Condivisa Quindi deve essere attivo! Vengono creati dei Job ad hoc Distribuzione dei report 29 Distribuzione tramite network share Distribuzione dei report 30 Distribuzione via email Distribuzione dei report Le sottoscrizioni guidate (Data-Driven subscription) permettono di impostare a runtime I dati vengono prelevati tramite query ad hoc 31 Destinatari Parametri Formati La sorgente dati, come al solito, può essere qualsiasi cosa (SQL Server, Oracle, OLEDB, ODBC) Amministrazione E’ possibile attivare la funzionalità “Report Personali” In questa cartella l’utente può aggiungere report “propri”, non visibili né utilizzabili dagli altri 32 Ovviamente gli amministratori possono gestire sempre tutto Amministrazione E’ possibile evitare di eseguire report on-demand Il report può essere messo in cache Avviene in automatico sessione per sessione Può essere impostata manualmente Oppure si può creare uno snapshot 33 Ad esempio se i dati non vengono aggiornati frequentemente In pratica il report è pre-generato Amministrazione E’ possibile mantenere gli snapshot E’ possibile utilizzare uno schedule per automatizzare il processo 34 In questo modo si crea una Cronologia E’ possibile mettere un limite al numero di snapshot salvati Ad esempio tutti i giorni alle 22.00 E’ utile (specialmente se esportato in .xls) per monitorare i cambiamenti Amministrazione E’ possibile gestire RS tramite scripting Ottimo per 35 Il tool è RS.exe Il linguaggio è VB.NET L’entry point deve essere la funzione Main Automatizzazione Gestione senza interfaccia grafica Deployment dei report Amministrazione RS produce diversi file di log Su file di testo (…\Microsoft SQL Server\MSSQL\Reporting Services\LogFiles) ReportServerService_XXX.log ReportServer_XXX.log ReportServerWebApp_XXX.log E’ possibile regolare la quantità di informazioni loggate agendo su DefaultTraceSwitch in /ReportServer/web.config /ReportServer/bin/ReportingServicesService.exe.config Le esecuzioni dei report sono loggate 36 Nella tabella ExecutionLog sul DB Amministrazione E’ possibile estrarre dati dalla tabella ExecutionLog Tramite un DTS e dei Report forniti da MS Pacchetto SSIS e script SQL si trovano in 37 Creano ed operano sul database RSExecutionLog …\Microsoft SQL Server\90\Tools\Reporting Services\ExecutionLog RSExecutionLog_Update.dtsx e Esiste un report pack per RS Amministrazione E’ fortemente consigliato l’utilizzo di HTTPS Durante l’installazione viene richesto se NON si desidera usarla 38 Specialmente se i report devono essere accessibili dall’esterno (Internet)… …ma anche internamente (Extranet, Intranet) non fa male Secure by Default! E’ possibile attivarla anche a posteriori Domande? 39 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.