Reporting Services - Introduzione Sql Server 2005 Franco Perduca Factory Software francop@factorysw.com Reporting Services - Introduzione
Agenda Reporting Services Overview Sviluppo Sicurezza Distribuzione dei report Amministrazione
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
Features principali Sorgenti dati Report Relazionali Multidimensionali Xml Report Tabulari A Matrice (Pivot) Free-form
Features principali Report Interattivi Report Parametrici Navigabilità Drill through Report Parametrici Supporto per query dinamiche Navigabilità Anchor Treeview Calendar
Features principali Elementi Grafici Aggregazione dei dati Immagini Charts Aggregazione dei dati Totali / Subtotali / Avg Render multiformato Html / PDF / Excel ecc. più custom Printer
Features principali Rich Client Printing 3/27/2017 2:26 AM Features principali Rich Client Printing Stampa senza necessità di esportare Download di un controllo ActiveX sul client Supporto per Page Layout Preview © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Features principali Configurazione tramite tool Report Service Configuration Manager
3/27/2017 2:26 AM Overview Spiegare volta per volta i componenti alla quale siamo interessati © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Overview E’ supportato lo scripting Sono supportate le subscription Tramite VB.NET Sono supportate le subscription I report possono essere automaticamente inviati via mail L’output sopporta i formati di diffusi 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: 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 Previous RowNumber CountRows
Sviluppo E’ possibile aggiungere funzioni tramite Codice Embedded (VB.NET) External Assembly (Qualsiasi linguaggio .NET) Per personalizzare il report è possibile utilizzare immagini 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 E sono chiamati tramite URL
Sviluppo E’ possibile integrare SSRS in qualsiasi applicazione tramite Chiamate SOAP (Web Services) Chiamate via URL E’ possibile integrare il tutto con SharePoint Web part disponibile dalla SP2 dei “vecchi” RS
Sviluppo Creazione di report ad-hoc 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
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
Sicurezza I ruoli possono contenere utenti o gruppi di utenti Non è possibile avere oggetti senza nessun criterio di sicurezza 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 System Roles: Item Level System Level Permettono di amministrare il sistema (NON i report!)
Sicurezza Item Role 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 Esattamente come per il File System In questo modo è possibile gestire i permessi per eccezioni Ma attenzione con i gruppi…non c’è la possibilità di dare un deny
Sicurezza 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 SQL Server le supporta tutte
Sicurezza La schermata di selezione:
Sicurezza Se possibile utilizzare un unico utente per eseguire i report e salvare login e password all’interno di RS Tranquilli, questi dati sono criptati Altrimenti non è possibile utilizzare le funzionalità di Snapshot (Cache) Subscription
Distribuzione dei report I report possono essere visualizzati Da web, tramite il Report Manager Da applicazioni ad hoc, o integrati in applicazioni esistenti …ma possono anche essere loro ad andare dall’interessato Via mail Via network share Questa funzionalità prendere il nome di Subscription
Distribuzione dei report Le subscription vengono eseguite in base ad una schedulazione Ad hoc Condivisa La schedulazione fa affidamento sul SQL Server Agent Quindi deve essere attivo! Vengono creati dei Job ad hoc
Distribuzione dei report Distribuzione tramite network share
Distribuzione dei report Distribuzione via email
Distribuzione dei report Le sottoscrizioni guidate (Data-Driven subscription) permettono di impostare a runtime Destinatari Parametri Formati I dati vengono prelevati tramite query ad hoc 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 Ovviamente gli amministratori possono gestire sempre tutto
Amministrazione E’ possibile evitare di eseguire report on-demand Ad esempio se i dati non vengono aggiornati frequentemente Il report può essere messo in cache Avviene in automatico sessione per sessione Può essere impostata manualmente Oppure si può creare uno snapshot In pratica il report è pre-generato
Amministrazione E’ possibile mantenere gli snapshot In questo modo si crea una Cronologia E’ possibile mettere un limite al numero di snapshot salvati E’ possibile utilizzare uno schedule per automatizzare il processo 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 Il tool è RS.exe Il linguaggio è VB.NET L’entry point deve essere la funzione Main Ottimo per 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 Nella tabella ExecutionLog sul DB
Amministrazione E’ possibile estrarre dati dalla tabella ExecutionLog Tramite un DTS e dei Report forniti da MS Creano ed operano sul database RSExecutionLog Pacchetto SSIS e script SQL si trovano in …\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 Specialmente se i report devono essere accessibili dall’esterno (Internet)… …ma anche internamente (Extranet, Intranet) non fa male Durante l’installazione viene richesto se NON si desidera usarla Secure by Default! E’ possibile attivarla anche a posteriori
3/27/2017 2:26 AM Domande? © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
© 2004 Microsoft Corporation. All rights reserved. 3/27/2017 2:26 AM © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.