in

DotNetSide

Dot Net South Italy Developers User Group

Articoli

Articoli pubblicati dagli iscritti a .netSide

Introduzione a Reporting Services

articolo di Giuseppe Di Cillo 

 

In questo articolo cercherò di fare un po’ di chiarezza su cosa sia precisamente Reporting Services in quanto, durante la mia attività di trainer, mi sono accorto che ci sono ancora molti dubbi su ciò che può e non può fare. Ed è un peccato, visto le potenzialità che ci sono, soprattutto per i programmatori.

 

Spiegherò quindi quali sono i vari componenti e tools che formano Reporting Services, nonché le diverse possibilità di utilizzo.

 

Installazione e inizializzazione

Reporting Services fa parte di Sql Server 2005 nelle sue varie edizioni, compresa la Toolkit di Microsoft SQL Server 2005 Express Edition, quindi la sua installazione è parte integrante del setup di Sql Server.

Una volta installato, tramite l’utility di configurazione “Reporting Services Configuration”, dobbiamo avviare il servizio, se non è ancora avviato, ed inizializzarlo.

 

Componenti

L’istanza installata di Reporting Services viene chiamata Report Server ed è formata da un servizio Windows ed un Web Service.

Il server si occupa, tra le altre cose, di gestire l’immagazzinamento centralizzato dei report all’interno di un database Sql Server, di centralizzare la security dei reports e di inviarli automaticamente via email o via file sharing. Per queste ed altre operazioni si “appoggia” ai servizi Sql Server e Sql Server Agent e, naturalmente, per le funzionalità di Web Service ha bisogno di Internet Information Services (IIS).


I tools

Reporting Services fornisce una vasta gamma di tools (web, windows e command-line) per poterci lavorare. Vediamone qui i principali.

 

Report Designer (Progettazione Report)

Lo strumento principale di lavoro è il Report Designer integrato in Visual Studio 2005. Se sulla macchina è già installato Visual Studio 2005, il setup di Reporting Services aggiungerà i nuovi componenti ed i templates dei progetti specifici. Se non doveste possedere Visual Studio 2005, viene installata una versione “ridotta” chiamata “Sql Server Business Intelligence Development Studio” per poter creare e “pubblicare” reports ma, naturalmente, non si potranno creare applicazioni Web o Windows. Per poter “lanciare” il report designer all’interno di Visual Studio dobbiamo creare un progetto di tipo “Report Server”, oppure, se all’interno di un.progetto di applicazione windows o web, dobbiamo aggiungere un item di tipo “Report”. Da sottolineare che il Report Designer ci permette di creare e testare i reports senza la necessità di connetterci ad un Report Server attivo. Con il Report Designer possiamo creare due tipi di reports: quelli con elaborazione remota (che richiedono la pubblicazione su un Report Server) e quelli con elaborazione locale (che invece possono essere elaborati localmente su qualsiasi client).

 

Model Designer (Progettazione modelli)

Oltre al Report Designer in Visual Studio viene integrato il cosiddetto Model Designer, che serve per creare dei modelli di reports da pubblicare necessariamente su un Report Server. Tali modelli contengono sostanzialmente le query e le aggregazioni dei dati da recuperare. Per poter usare il Model Designer dobbiamo creare un progetto di tipo Report Model. Questi modelli da soli hanno ridotte funzionalità ma, tramite il Report Builder, possono esere usati per creare i cosiddetti Reports Ad-hoc.

 

Report Builder (Generatore Report)

Il Report Builder è un’applicazione ClickOnce che permette a utenti privi di conoscenze tecniche di realizzare dei reports, tramite il semplice drag and drop di elementi, basandosi su dei modelli creati precedentemente tramite il Model Designer e successivamente pubblicati sul Report Server.

 

Report Manager (Gestione Report)

Per poter utilizzare i reports creati e pubblicati, senza dover scrivere nemmeno una riga di codice, nel pacchetto di Reporting Services è stata inclusa una vera e propria applicazione Web, chiamata Report Manager, che permette di rendere disponibili i vari reports pubblicati sul server. Oltre a visualizzare i reports, si possono anche esportare in diversi formati tra cui pdf, xls, csv, etc. L’applicazione di default è disponibile all’indirizzo http://localhost/Reports.

 

Nota: il nome della cartella virtuale “Reports” potrebbe variare a seconda delle scelte fatte in fase d’installazione.

 

L’interfaccia web di Report Manager è molto intuitiva e permette, tra le altre cose, di gestire completamente la security dei vari report e di creare sottoscrizioni per permettere l’invio automatico dei Reports tramite email o cartelle condivise. Inoltre, tramite tale applicazione web, viene distribuita l’applicazione Report Builder.

 

Sql Server Mangement studio

L’amministratore, per poter gestire i Reports pubblicati e la loro security, invece di utilizzare l’interfaccia web di Report Manager, potrà utilizzare l’interfaccia più “familiare” del Management Studio.

 

Integrazioni dei reports nelle applicazioni

Naturalmente usare il report manager per fruire dei reports in molti casi può non essere la soluzione giusta e, per questo, Reporting Services offre diverse possibilità al programmatore.

Una modo molto semplice di integrazione è quello di inserire nella propria applicazione dei link http ai reports pubblicati sul Report Server.

Un’altra possibilità è quella di utilizzare direttamente il Web Service di reporting Services.

Vengono altresì fornite una serie di API, non solo per visualizzare i Reports ma nche per gestirli e crearli; ma il metodo più pratico in assoluto è l’utilizzo del controllo ReportViewer.

Esiste sia in versione Web che Windows e permette di collegarsi ad un Report Server (in questo caso l’elaborazinoe del report avverrà sul server), oppure permette di elaborare localmente un report tramite i componenti, distribuibili liberamente, contenuti nella cartella di reportviewer.exe.

Sono stati inoltre resi disponibili per il programmatore una serie di metodi per poter estendere tutti i vari componenti di Reporting Services. Per fare un esempio: se dovesse servire un formato di esportazione non previsto da Microsoft potremmo crearci un estensione del Rendering del report.

 

Conclusione

Riepilogando, abbiamo diverse possibilità con Reporting Services.

Se non vogliamo, o non possiamo, programmare nulla, possiamo installarci Reporting Services, creare e pubblicare i Reports con Report Designer e permettere ai vari utenti di visualizzare, esportare e stampare i repot tramite l’applicazione Web già pronta chiamata Report Manager.

Se, invece, vogliamo creare delle applicazioni più specifiche (Web o Windows) potremo sfruttare il controllo Reportviewer o sfruttare le API fornite da Microsoft.

 

Questo articolo nasce al fine di fornire un’introduzione all’argomento; in futuri articoli andrò ad esaminare nel dettaglio la creazione di reports remoti, locali e ad-hoc.

Only published comments... Jan 15 2007, 09:00 AM by Tiziana
Filed under:

Comments

 

Blog di Giuseppe Di Cillo said:

Dopo mesi di silenzioso utilizzo di Dotneside, ho deciso che era finalmenteora di partecipare attivamente

January 15, 2007 10:07 PM
 

Alex said:

Ciao, ho la vecchia versione di "Reporting Services" e mi hanno chiesto di aggiornarla al 2005 ma di mantenere SQL Server 2000. Ho letto nell'articolo che con la versione 2005 sono costretto ad installare anche SQL Server 2005, ho capito bene? Grazie.
March 29, 2007 12:11 PM

About Tiziana

Tiziana Loporchio oggi è Practice Leader presso una multinazionale presente in Italia, Svizzera e Romania che da oltre 20 anni fornisce consulenza nel settore ICT con un organico di oltre 600 risorse; Per otto anni, è stata Team Manager e Microsoft Certified Trainer per una società di formazione e servizi Microsoft Gold Certified Partner for Learning Solutions e ISV/Software Solutions. Responsabile della progettazione e dello sviluppo di applicazioni complesse, coordina il Team di Sviluppo Software e partecipa alla analisi e realizzazione di applicazioni Web e Windows Based.

Tiziana da 8 anni è Microsoft Certified Trainer ed ha erogato interventi formativi di diversa tipologia e complessità su tecnologie, linguaggi e software Microsoft; docente in corsi di formazione interni e per aziende o privati, svolge la sua attività a Bari, dove vive.

Powered by Community Server (Commercial Edition), by Telligent Systems