XML for Analysis ( XMLA ) est une standard informatique pour l'accès aux données dans les systèmes analytiques, tels que le traitement analytique en ligne (OLAP) et l'exploration de données. XMLA est basé sur d'autres normes préexistantes telles que XML, SOAP et HTTP. XMLA est maintenu par le XMLA Council avec Microsoft, Hyperion et SAS Institute comme membres fondateurs du XMLA Council.

Histoire

modifier

La spécification XMLA a été proposée pour la première fois par Microsoft comme successeur d'OLE DB pour OLAP en avril 2000. En janvier 2001, Hyperion l'a rejoint en adoptant XMLA. La version 1.0 de la norme a été publiée en avril 2001 et en septembre 2001, le Conseil XMLA a été formé. En avril 2002, SAS a rejoint Microsoft et Hyperion en tant que membre fondateur du XMLA Council[1]. Au fil du temps, plus de 25 entreprises ont adhéré à la norme en la soutenant.

XMLA se compose uniquement de deux méthodes SOAP : exécuter et découvrir[2]. Il a été conçu de manière à préserver la simplicité.

Execute (Exécuter)

modifier

La méthode Execute a deux paramètres :

  • Command - commande à exécuter. Il peut s'agir de MDX, DMX ou SQL.
  • Properties - Liste XML des paramètres de commande telles que le Timeout, Catalog name, etc.

Le résultat de la commande Execute peut être un ensemble de Données Multidimensionnelles ou un Ensemble de Lignes Tabulaires.

Discover (Découvrir)

modifier

La méthode Discover est conçue pour modéliser toutes les méthodes de découverte existantes dans OLEDB, y compris divers ensembles de lignes de schéma, propriétés, mots-clés, etc. La méthode Discover permet à l'appelant de spécifier à la fois ce qui doit être découvert et les restrictions ou propriétés possibles. Le résultat de la méthode Discover est un ensemble de lignes.

Langage de requête

modifier

XMLA spécifie MDXML comme langage de définition de requêtes. Dans la version XMLA 1.1, la seule construction dans MDXML est une instruction MDX incluse dans la balise <Statement>[3].

Exemple

modifier

Vous trouverez ci-dessous un exemple de requête "Execute" XMLA avec une requête MDX dans la commande.

<soap:Envelope>
 <soap:Body>
  <Execute xmlns="urn:schemas-microsoft-com:xml-analysis">
   <Command>
    <Statement>SELECT Measures.MEMBERS ON COLUMNS FROM Sales</Statement>
   </Command>
   <Properties>
    <PropertyList>
     <DataSourceInfo/>
     <Catalog>FoodMart</Catalog>
     <Format>Multidimensional</Format>
     <AxisFormat>TupleFormat</AxisFormat>
    </PropertyList>
   </Properties>
  </Execute>
 </soap:Body>
</soap:Envelope>

Gestion des sessions

modifier

XMLA a une notion d'état de session . Il est maintenu via des en-têtes SOAP prédéfinis

  • BeginSession - pour commencer une nouvelle session
  • EndSession - pour terminer la session existante
  • UseSession - pour utiliser une session existante. L'attribut SessionId précédemment renvoyé par BeginSession doit être utilisé.

Références

modifier

Liens externes

modifier