Client (Analysis Services - Dati multidimensionali)

Microsoft SQL Server Analysis Services supporta un'architettura thin client. Il motore di calcolo di Analysis Services è basato interamente sul server, pertanto tutte le query vengono risolte nel server. Per ogni query è quindi necessario un solo round trip tra il client e il server, il che significa che le prestazioni sono scalabili a mano a mano che le query diventano più complesse.

Il protocollo nativo di Analysis Services è XML for Analysis (XML/A). In Analysis Services sono disponibili svariate interfacce di accesso ai dati per le applicazioni client, ma tutti questi componenti comunicano con un'istanza di Analysis Services tramite XML for Analysis.

Con Analysis Services vengono forniti svariati provider per il supporto di diversi linguaggi di programmazione. Un provider comunica con un server Analysis Services mediante l'invio e la ricezione di XML for Analysis in pacchetti SOAP attraverso il protocollo TCP/IP oppure HTTP tramite Internet Information Services (IIS). Una connessione HTTP utilizza un oggetto COM, di cui viene creata un'istanza da IIS e denominato data pump, che funge da conduttura per i dati di Analysis Services. Il data pump non esamina in alcun modo i dati sottostanti contenuti nel flusso HTTP e le strutture di dati sottostanti non sono disponibili al codice nella libreria di dati stessa.

Architettura client logica per Analysis Services

Le applicazioni client Win32 possono connettersi a un server Analysis Services tramite interfacce OLE DB per OLAP oppure tramite il modello a oggetti Microsoft® ActiveX® Data Objects (ADO) per linguaggi di automazione COM (Component Object Model), ad esempio Microsoft Visual Basic®. Le applicazioni scritte in linguaggi .NET possono connettersi a un server Analysis Services utilizzando ADOMD.NET.

Le applicazioni esistenti possono comunicare con Analysis Services senza richiedere alcuna modifica, semplicemente tramite uno dei provider di Analysis Services.

Linguaggio di programmazione

Interfaccia di accesso ai dati

C++

OLE DB per OLAP

Visual Basic 6

ADO MD

Linguaggi .NET

ADO MD.NET

Qualsiasi linguaggio che supporta SOAP

XML for Analysis

Analysis Services è dotato di un'architettura Web con un livello intermedio pienamente scalabile che ne consente la distribuzione in organizzazioni sia di piccole che di grandi dimensioni. Analysis Services offre un esteso supporto del livello intermedio per servizi Web. Le applicazioni ASP sono supportate tramite OLE DB per OLAP e ADO MD, mentre le applicazioni ASP.NET sono supportate tramite ADOMD.NET. Il livello intermedio, illustrato nella figura seguente, è scalabile per un numero elevato di utenti simultanei.

Diagramma logico per l'architettura di livello intermedio

Le applicazioni sia client che di livello intermedio possono comunicare direttamente con Analysis Services senza l'intervento di un provider. Le applicazioni client e di livello intermedio possono inviare XML for Analysis in pacchetti SOAP attraverso il protocollo TCP/IP, HTTP o HTTPS. Il client può essere codificato in qualsiasi linguaggio che supporta SOAP. In tal caso, per semplificare la gestione delle comunicazioni è consigliabile utilizzare Internet Information Services (IIS) con HTTP, ma è anche possibile ricorrere a una connessione diretta al server tramite TCP/IP. Questa è la massima soluzione thin client supportata da Analysis Services.

Analysis Services in modalità VertiPaq

In SQL Server 2008 R2, il motore di archiviazione VertiPaq viene utilizzato per i database multidimensionali in memoria all'interno di cartelle di lavoro di Excel, incluse le cartelle di lavoro PowerPivot pubblicate in un sito di SharePoint. 

PowerPivot per Excel è l'unico client supportato per la creazione e l'esecuzione di query su database in memoria che utilizzano la modalità VertiPaq. Il database multidimensionale che si crea tramite Excel e gli strumenti di PowerPivot sono contenuti all'interno della cartella di lavoro di Excel e vengono salvati come parte del file con estensione xlsx di Excel.

Non è possibile accedere al motore di archiviazione VertiPaq tramite i client e gli strumenti SSAS tradizionali.

Tuttavia, una cartella di lavoro PowerPivot può utilizzare dati archiviati in un cubo tradizionale se si importano i dati del cubo nella cartella di lavoro. È possibile importare anche dati da un'altra cartella di lavoro di PowerPivot se è stata pubblicata in un sito di SharePoint.

Nota

Quando si utilizza un cubo come origine dati per la cartella di lavoro di PowerPivot, i dati che si ottengono dal cubo vengono definiti come query MDX. Tuttavia, i dati vengono importati come snapshot bidimensionale. Non è possibile operare in modo interattivo con i dati o aggiornare i dati dal cubo.

Per ulteriori informazioni sull'utilizzo di un cubo SSAS come origine dati, vedere PowerPivot per Excel.

Interfacce per il client PowerPivot

PowerPivot interagisce con il motore di archiviazione VertiPaq all'interno della cartella di lavoro tramite le interfacce e i linguaggi stabiliti per Analysis Services: AMO e ADOMD.NET, MDX e XMLA. All'interno del componente aggiuntivo, le misure vengono definite tramite un linguaggio delle formule simile a Excel, Data Analysis Expressions (DAX). Le espressioni DAX sono incorporate all'interno dei messaggi XMLA inviati al server in-process. Per ulteriori informazioni, vedere Data Analysis Expressions e MDX.

Provider

Le comunicazioni tra PowerPivot ed Excel utilizzano il provider MSOLAP OLE DB (versione 10.5). All'interno del provider MSOLAP sono contenuti quattro diversi moduli, o trasporti, che possono essere utilizzati per l'invio di messaggi tra il client e il server.

TCP/IP   Utilizzato per le normali connessioni client-server.

HTTP   Utilizzato per le connessioni HTTP tramite il servizio di data pump SSAS o tramite una chiamata al componente del servizio Web PowerPivot (WS) di SharePoint.

INPROC   Utilizzato per le connessioni al motore in-process.

CHANNEL    Riservato per le comunicazioni con il servizio di sistema di PowerPivot nella farm di SharePoint. Per ulteriori informazioni sui componenti necessari per utilizzare PowerPivot in un'installazione di Sharepoint, vedere Pianificazione e architettura (PowerPivot per SharePoint).