Architettura del servizio (Reporting Services)

In Reporting Services un server di report viene implementato come un servizio Windows costituito da aree di funzionalità distinte eseguite in domini applicazione separati. Il servizio ospita le aree di funzionalità di Gestione report, del servizio Web ReportServer e dell'elaborazione in background. In questo argomento viene descritta la composizione del servizio, in modo che sia possibile prendere decisioni informate in merito alle funzionalità da attivare e a come risolvere gli eventuali problemi che si verificano.

Diagramma dell'architettura

Nel diagramma seguente è illustrata l'architettura del servizio in Reporting Services.

Diagramma dell'architettura del servizio

Nota

Nel diagramma dell'architettura non sono riportate tutte le funzionalità del server di report. Ad esempio, l'inizializzazione e la crittografia reversibile sono operazioni server critiche che esistono al di fuori dell'ambito delle tre aree di funzionalità illustrate nel diagramma.

Servizio e infrastruttura

Il servizio Windows ReportServer è un insieme consolidato di applicazioni eseguite in un unico processo, con un unico account, con accesso a un unico database del server di report e a un unico insieme di file di configurazione. Le impostazioni di configurazione per l'intero servizio sono archiviate in RSeportServer.config, ReportServerServices.exe.config e nel database del server di report.

All'interno del servizio, Gestione report, il servizio Web e l'elaborazione in background vengono eseguiti in domini applicazione distinti. Anche se tutte e tre le aree di funzionalità sono attivate per impostazione predefinita, è possibile configurare quali parti del servizio sono disponibili in un determinato momento. Ad esempio, è possibile disattivare il servizio Web se non si desidera supportare report su richiesta o interattivi.

Anche se le aree di funzionalità server sono isolate in domini applicazione distinti, la gestione della memoria e l'integrità del processo vengono gestite per il servizio nel suo complesso. Le soglie di memoria sono configurate per il servizio nell'insieme. Il server di report gestisce le azioni di riciclo come operazioni interne. Non è possibile riciclare singole parti del servizio su richiesta. Tuttavia, è possibile specificare impostazioni di configurazione per indicare l'intervallo di tempo durante il quale le connessioni persistenti vengono tenute aperte.

Se si segmentano le aree di funzionalità di un servizio tra più istanze, ad esempio si attiva Gestione report in un'istanza, il servizio Web in una seconda istanza e l'elaborazione in background in una terza istanza, le impostazioni relative a memoria e configurazione vengono definite nell'ambito delle applicazioni eseguite in tale specifica istanza. Si noti che anche se si segmentano le aree di funzionalità del servizio, esistono alcune interdipendenze. In un'installazione completa del server di report in genere si utilizzano tutte e tre le aree. Per ulteriori informazioni, vedere Procedura: Attivazione o disattivazione delle caratteristiche di Reporting Services.

Listener HTTP

In Reporting Services è incluso un listener HTTP che controlla le richieste in entrata dirette a HTTP.SYS su una porta specifica del computer locale. Il nome host e la porta vengono specificati su una prenotazione URL quando si configura il server. A seconda del sistema operativo utilizzato, la porta specificata può essere condivisa con altre applicazioni.

Il listener HTTP implementa il protocollo HTTP 1.1. Utilizza le funzionalità HTTP.SYS incorporate nel sistema operativo. Per questo motivo, Reporting Services richiede sistemi operativi che includono HTTP.SYS come componente interno.

Quando il listener HTTP elabora una richiesta, la inoltra al livello di autenticazione per verificare l'identità dell'utente. Il servizio Web ReportServer viene chiamato dopo l'autenticazione della richiesta.

Il listener HTTP utilizza la versione 1.0 di HTTP Server API. Per ulteriori informazioni, vedere HTTP Server API in MSDN (informazioni in lingua inglese).

Livello di autenticazione

In Reporting Services è incluso un livello di autenticazione che verifica l'identità dell'utente o dell'applicazione che effettua la richiesta. Sono supportati i tipi di autenticazione seguenti: sicurezza integrata di Windows, autenticazione NTLM, autenticazione di base, moduli o autenticazione personalizzata e accesso anonimo. Per impostazione predefinita, Reporting Services utilizza la sicurezza integrata di Windows e l'autenticazione NTLM, ma è possibile specificare un tipo di autenticazione diverso nei file di configurazione. Ogni istanza del server di report può essere configurata per un tipo di autenticazione in particolare. Se si dispone di una configurazione di distribuzione con scalabilità orizzontale, ogni nodo nell'ambiente deve utilizzare lo stesso tipo di autenticazione.

L'autenticazione del server di report opera all'interno del contesto delle impostazioni di protezione della rete e delle applicazioni client. L'utilizzo corretto di un determinato tipo di autenticazione dipende dalle funzionalità di protezione del browser e della rete. Ad esempio, l'utilizzo della protezione integrata di Windows richiede l'utilizzo di Internet Explorer, la disponibilità dell'autenticazione di rete Kerberos e l'attivazione della rappresentazione. Inoltre, se si desidera utilizzare la protezione integrata per le connessioni alle origini dati dei report, è necessario che la delega sia attivata per consentire le successive connessioni alle origini dati remote.

Per ulteriori informazioni sull'autenticazione in Reporting Services, vedere Configurazione dell'autenticazione in Reporting Services.

Gestione report

Gestione report è un client zero footprint che fornisce l'accesso front-end Web al servizio Web ReportServer. Si tratta dello strumento predefinito per la visualizzazione e la gestione del contenuto e delle operazioni del server di report.

Per impostazione predefinita, fornisce accesso front-end al servizio Web in esecuzione nella stessa istanza del server. Se il servizio Web non è attivato nell'istanza del server, è possibile puntare Gestione report a un servizio Web ReportServer in un'istanza o computer diverso impostando un URL nei file di configurazione.

Gestione report viene eseguito in una sessione del browser sul computer client. Non esistono file di applicazione o impostazioni archiviate nel client. Lo stato della sessione viene mantenuto finché la finestra del browser è aperta. Le impostazioni specifiche dell'utente vengono salvate nel database del server di report e riutilizzate ogni volta che l'utente si connette a Gestione report.

Gestione report supporta le impostazioni dell'estensione personalizzata per il recapito nelle pagine di definizione della sottoscrizione. Se si creano e distribuiscono estensioni personalizzate per il recapito, Gestione report può presentare opzioni e visualizzare il testo per tali estensioni in modo dinamico.

Per utilizzare Gestione report, è necessario definire un URL dell'applicazione. È possibile disattivare efficacemente Gestione report non creando l'URL. Se Reporting Services è stato installato nella configurazione predefinita, l'URL è già stato creato ed è necessario eliminarlo se si decide di disattivare l'applicazione.

Se si configura il server di report per l'esecuzione in modalità integrata SharePoint, Gestione report è disattivato. Non è possibile utilizzare Gestione report in un server di report eseguito in modalità integrata SharePoint, neanche se in precedenza è stato configurato l'URL.

Per ulteriori informazioni su Gestione report, vedere Gestione report e Procedura: Configurazione di Gestione report.

Servizio Web ReportServer

Il servizio Web ReportServer è il motore principale per tutte le richieste di elaborazione di modelli e report su richiesta avviate da un utente o da un'applicazione in tempo reale, tra cui la maggior parte delle richieste indirizzate e provenienti da Gestione report.

Il servizio Web ReportServer esegue l'elaborazione end-to-end dei report che vengono eseguiti su richiesta. Per supportare l'elaborazione interattiva, il servizio Web autentica l'utente e controlla le regole di autorizzazione prima di gestire una richiesta. Il servizio Web supporta l'estensione di protezione di Windows predefinita e le estensioni di autenticazione personalizzate.

Il servizio Web rappresenta inoltre l'interfaccia programmatica primaria per le applicazioni personalizzate che si integrano con il server di report. Se si fornisce un'interfaccia utente personalizzata, è possibile utilizzare il servizio Web senza Gestione report.

Per ulteriori informazioni, vedere Servizio Web ReportServer.

Elaborazione in background

L'elaborazione in background si riferisce alle operazioni eseguite in background avviate dal server di report. La maggior parte dell'elaborazione in background è costituita dall'elaborazione pianificata di report e dal recapito della sottoscrizione, ma include anche attività di manutenzione del database del server di report.

L'elaborazione in background per la pianificazione, la sottoscrizione e il recapito è configurabile e può essere disattivata tramite il facet Surface Area Configuration for Reporting Services della gestione basata su criteri in Management Studio. Se si disattivano queste operazioni, l'elaborazione pianificata di report o modelli non sarà disponibile nell'istanza corrente del servizio. La manutenzione del database è un'attività principale che non può essere disattivata, in quanto mantiene il server in uno stato operativo.

Le operazioni di elaborazione in background dipendono da un'applicazione front-end o dal servizio Web per la definizione. In particolare, le pianificazioni e le sottoscrizioni vengono create nelle pagine dell'applicazione di Gestione report o in un sito di SharePoint se il server di report è configurato per l'integrazione con SharePoint, quindi vengono inoltrate al servizio Web, che crea e archivia le definizioni nel database del server di report.

Se si fornisce codice personalizzato che richiede l'accesso a livello di programmazione all'elaborazione back-end, utilizzare il provider WMI per Reporting Services. Per ulteriori informazioni, vedere Provider WMI di Reporting Services. Per ulteriori informazioni sulle funzionalità di elaborazione della pianificazione e del recapito, vedere Elaborazione pianificazione e recapito.

Autenticazione e gestione della memoria per l'elaborazione in background

Come illustrato nel diagramma dell'architettura del servizio, l'elaborazione in background gestisce l'autenticazione e la gestione della memoria in modo diverso rispetto a Gestione report e al servizio Web. I processi in background utilizzano Authz.dll per verificare se l'account utente utilizzato per creare la sottoscrizione dispone ancora delle autorizzazioni corrette per visualizzare il report. Tale controllo garantisce che l'utente che sta per ricevere il report sia un utente di Windows valido nel dominio. Tutte le altre attività di elaborazione di report e modelli eseguite come processo in background vengono richieste con l'identità dell'account di esecuzione automatica.