Clients (Analysis Services - Données multidimensionnelles)
Microsoft SQL Server Analysis Services prend en charge une architecture de client léger. Comme le moteur de calcul Analysis Services est entièrement basé sur le serveur, toutes les requêtes sont résolues sur celui-ci. 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 Analysis Services est XML for Analysis (XML/A). Analysis Services fournit plusieurs interfaces d'accès aux données pour les applications clientes, mais tous ces composants communiquent avec une instance de Analysis Services à l'aide de XML for Analysis.
Plusieurs fournisseurs différents sont livrés avec Analysis Services pour assurer la prise en charge de différents langages de programmation. Un fournisseur communique avec un serveur Analysis Services en envoyant du code XML/A dans des paquets SOAP sur TCP/IP ou sur HTTP à travers Internet Information Services (IIS). Une connexion HTTP utilise un objet COM instancié par les services IIS, appelé pompe de données (Data Pump), qui se comporte comme un tuyau pour les données Analysis Services. 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.
Les applications clientes Win32 peuvent se connecter à un serveur Analysis Services à l'aide des interfaces OLE DB pour OLAP ou du modèle d'objet de données Microsoft® ADO (ActiveX® Data Objects) pour les langages d'automation COM (Component Object Model) comme Microsoft Visual Basic®. Les applications écrites dans les langages .NET peuvent se connecter à un serveur Analysis Services à l'aide des interfaces ADOMD.NET.
Les applications existantes peuvent communiquer avec Analysis Services sans modification, simplement en utilisant l'un des fournisseurs 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/A (XML for Analysis) |
Analysis Services possède une architecture Web dotée d'un niveau intermédiaire totalement évolutif qui permet son déploiement dans des organisations de toutes tailles. Analysis Services assure une vaste 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.
Les applications clientes et les applications de niveau intermédiaire peuvent communiquer directement avec 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 de client la plus légère possible pour Analysis Services.
Analysis Services en mode VertiPaq
Dans SQL Server 2008 R2, le moteur de stockage VertiPaq est utilisé pour les bases de données multidimensionnelles en mémoire dans les classeurs Excel, notamment les classeurs PowerPivot publiés sur un site SharePoint.
PowerPivot pour Excel est le seul client pris en charge pour la création et l'interrogation des bases de données en mémoire qui utilisent le mode VertiPaq. La base de données multidimensionnelle que vous créez à l'aide des outils PowerPivot et Excel est contenue dans le classeur Excel et est enregistrée en tant que fichier d'Excel .xlsx.
Vous ne pouvez pas accéder au moteur de stockage VertiPaq à l'aide des clients et outils SSAS traditionnels.
Toutefois, un classeur PowerPivot 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 PowerPivot s'il a été publié sur un site SharePoint.
Notes
Lorsque vous utilisez un cube comme une source de données pour un classeur PowerPivot, les données que vous obtenez du cube sont définies comme une requête MDX ; toutefois, les données sont importées comme un instantané aplati. Vous ne pouvez pas utiliser les données en mode interactif ou actualiser les données du cube.
Pour plus d'informations sur l'utilisation d'un cube SSAS en tant que source de données, consultez PowerPivot for Excel (en anglais).
Interfaces pour le client PowerPivot
PowerPivot interagit avec le moteur de stockage VertiPaq dans le classeur en utilisant les interfaces et langages établis pour Analysis Services : AMO et ADOMD.NET, et 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. Pour plus d'informations, consultez Data Analysis Expressions et MDX.
Fournisseurs
Les communications entre PowerPivot et Excel utilisent le fournisseur d'OLEDB MSOLAP (version 10.5). 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 à données SSAS, ou par un appel au composant du service Web (WS) de SharePoint PowerPivot.
INPROC Utilisé pour les connexions au moteur in-process.
CHANNEL Réservé pour les communications avec le service système PowerPivot dans la batterie de serveurs SharePoint. Pour plus d'informations sur les composants nécessaires pour utiliser PowerPivot dans une installation Sharepoint, consultez Planification et architecture (PowerPivot pour SharePoint).