Spécifications relatives à l'architecture du client pour le développement d'Analysis Services

S’applique à : SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Microsoft SQL Server SQL Server Analysis Services prend en charge une architecture de client léger. Le moteur de calcul SQL Server Analysis Services étant entièrement basé sur le serveur, toutes les requêtes sont résolues sur le serveur. De ce fait, chaque requête n'exige qu'un seul aller-retour entre le client et le serveur, et les performances peuvent évoluer lorsque la complexité des requêtes augmente.

Le protocole natif pour SQL Server Analysis Services est XML for Analysis (XML/A). SQL Server Analysis Services fournit plusieurs interfaces d’accès aux données pour les applications clientes, mais tous ces composants communiquent avec un instance de SQL Server Analysis Services à l’aide de XML pour l’analyse.

Plusieurs fournisseurs différents sont fournis avec des SQL Server Analysis Services pour prendre en charge différents langages de programmation. Un fournisseur communique avec un serveur SQL Server Analysis Services en envoyant et en recevant du CODE XML pour l’analyse dans des paquets SOAP via TCP/IP ou HTTP via Internet Information Services (IIS). Une connexion HTTP utilise un objet COM instancié par IIS, appelé pompe de données, qui sert de conduit pour SQL Server Analysis Services données. La pompe de données n'examine pas du tout les données sous-jacentes contenues dans le flux HTTP, et le code de la bibliothèque de données lui-même ne permet d'accéder à aucune des structures de données sous-jacentes.

Architecture de client logique pour Analysis Services

Les applications clientes Win32 peuvent se connecter à un serveur SQL Server Analysis Services à l’aide d’interfaces OLE DB pour OLAP ou du modèle objet Microsoft® ActiveX® Data Objects (ADO) pour les langages d’automatisation COM (Component Object Model), tels que Microsoft Visual Basic®. Les applications codées avec des langages .NET peuvent se connecter à un serveur SQL Server Analysis Services à l’aide de ADOMD.NET.

Les applications existantes peuvent communiquer avec SQL Server Analysis Services sans modification en utilisant simplement l’un des fournisseurs SQL Server Analysis Services.

Langage de programmation Interface d'accès aux données
C++ OLE DB pour OLAP
Visual Basic 6 ADO MD
Langages .NET ADO MD.NET
Tout langage prenant en charge SOAP XML for Analysis

SQL Server Analysis Services dispose d’une architecture web avec un niveau intermédiaire entièrement évolutif pour le déploiement par les petites et les grandes organisations. SQL Server Analysis Services fournit une large prise en charge de niveau intermédiaire pour les services Web. Les applications ASP sont prises en charge par OLE DB pour OLAP et ADO MD, les applications ASP.NET sont prises en charge par ADOMD.NET. Le niveau intermédiaire, illustré dans la figure suivante, peut évoluer pour s'adapter à plusieurs utilisateurs simultanés.

Diagramme logique pour l’architecture de niveau intermédiaire

Les applications clientes et intermédiaires peuvent communiquer directement avec SQL Server Analysis Services sans utiliser de fournisseur. Ces applications peuvent envoyer du code XML/A dans des paquets SOAP sur TCP/IP, HTTP ou HTTPS. Le client peut être écrit dans n'importe quel langage qui prend en charge SOAP. Les communications dans ce cas sont gérées le plus facilement par Internet Information Services (IIS) en utilisant le protocole HTTP, bien qu'une connexion directe au serveur utilisant TCP/IP puisse aussi être codée. Il s’agit de la solution cliente la plus mince possible pour SQL Server Analysis Services.

Analysis Services en mode tabulaire ou SharePoint

Dans SQL Server 2017, le serveur peut être démarré en mode Moteur d’analyse en mémoire VertiPaq (VertiPaq) pour les bases de données tabulaires et pour les classeurs Power Pivot qui ont été publiés sur un site SharePoint.

Power Pivot pour Excel et SQL Server Data Tools sont les seuls environnements clients pris en charge pour la création et l’interrogation de bases de données en mémoire qui utilisent respectivement le mode SharePoint ou tabulaire. La base de données Power Pivot incorporée que vous créez à l’aide des outils Excel et Power Pivot se trouve dans le classeur Excel et est enregistrée dans le fichier de .xlsx Excel.

Toutefois, un classeur Power Pivot peut utiliser des données stockées dans un cube traditionnel si vous importez les données du cube dans le classeur. Vous pouvez également importer des données à partir d’un autre classeur Power Pivot si elles ont été publiées sur un site SharePoint.

Notes

Lorsque vous utilisez un cube comme source de données pour un classeur Power Pivot, les données que vous obtenez à partir du cube sont définies comme une requête MDX ; toutefois, les données sont importées en tant que instantané aplatissement. Vous ne pouvez pas utiliser les données en mode interactif ou actualiser les données du cube.

Interfaces pour le client Power Pivot

Power Pivot interagit avec le moteur d’analyse en mémoire VertiPaq dans le classeur à l’aide des interfaces et des langages établis pour Analysis Services : AMO et ADOMD.NET, mdX et XMLA. Dans le complément, les mesures sont définies en utilisant un langage de formule semblable à Excel, DAX (Data Analysis Expressions). Les expressions DAX sont incorporées dans les messages XMLA envoyés au serveur in-process.

Fournisseurs

Les communications entre Power Pivot et Excel utilisent le fournisseur OLEDB MSOLAP (version 11.0). Dans le fournisseur MSOLAP, quatre modules différents ou transports peuvent être utilisés pour l'envoi de messages entre le client et serveur.

TCP/IP Utilisé pour les connexions client-serveur normales.

HTTP Utilisé pour les connexions HTTP via le service de pompe de données SSAS ou par un appel au composant Service Web Power Pivot (WS) SharePoint.

INPROC Utilisé pour les connexions au moteur in-process.

CANAL Réservé aux communications avec le service système Power Pivot dans la batterie de serveurs SharePoint.

Voir aussi

Composants serveur du moteur OLAP