XML for Analysis (XMLA) is the most recent attempt at a standardized Application Programming Interface (API) in the Online Analytical Processing (OLAP) and Business Intelligence (BI) space. What differentiates XMLA from previous attempts at a standard is that it has already gained broad support with companies like Hyperion, Microsoft, SAP and SAS supporting it. With the acquisition of Hyperion in 2007, Oracle now supports XML for Analysis as well.
So, what then is XMLA? XML for Analysis is a standard that allows client applications to talk to multi-dimensional or OLAP data sources. The communication of messages back and forth is done using web standards – HTTP, SOAP, and XML. The query language used is MDX, which is the most commonly used multi-dimensional expression language today. Oracle’s Essbase, Microsoft’s Analysis Services, and SAP’s NetWeaver all support the MDX language and the XMLA spec [doc].
Technically speaking, XML for Analysis (XMLA) is a specification for a set of XML message interfaces that use the industry standard Simple Object Access Protocol (SOAP) to define data access interaction between a client application and an analytical data provider working over the Internet. Using a standard API, XMLA provides open access to multi-dimensional data from varied data sources – any client platform to any server platform – through web services that are supported by multiple vendors.
For many years, companies and people involved in OLAP and BI have sought to come up with an open standard API like SQL and ODBC for relational systems. There was the work done by the OLAP Council in the 1990’s and Microsoft’s attempt with MDX and OLE DB for OLAP (ODBO) in the late 1990’s. Both the MD API and ODBO had mixed results due to the lack of broad vendor support that was required for a true standard to emerge.
With XMLA, users can protect their technology and tool investments because XMLA-based deployments will interoperate. The standard’s flexibility will also allow location independent applications to be shared within or between organizations. XMLA is designed for thin client/zero footprint architecture. It requires fewer round trips between a client and a server, moving analytical applications away from traditional client/server roots towards flexible web-based architecture. The result is faster response times and less intensive demand on resources.
Since XMLA’s web-based architecture uses standard Internet Protocols, such as HTTP, XML and SOAP, the result is technology independent implementations of XMLA providers that work with any tool, application programming language, hardware, platform or device. Developers can leverage existing skills, as well as eliminate the need to program multiple APIs and query languages. XMLA leverages successful OLE DB design concepts so that application developers can easily adapt ODBO applications and ODBO providers for XMLA. XMLA simplifies data retrieval compared to working directly with ODBO. Independent software vendors (ISVs) also benefit from using a single API by reducing development and maintenance complexity.
Many ISVs have chosen to simplify the process of adding XMLA support using Simba Technologies’ SimbaProvider SDK. This toolkit allows ISV’s to build a combined ODBO and XMLA provider quickly and efficiently, so that their OLAP products support industry standard APIs and can connect to products such as Microsoft Excel. The result is that their customers gain access to the greatest variety of OLAP and BI query and reporting tools in the market.
XML for Analysis is jointly sponsored by Hyperion, Microsoft and SAS, and supported by the XMLA Advisory Council made up of over 25 leading software companies. This standard is accelerating the adoption of Internet business intelligence software.