Show TOC

XML for AnalysisLocate this document in the navigation structure

Purpose

XML for Analysis is a protocol for exchanging analytical data between client applications and servers, using HTTP and SOAP (Simple Object Access Protocol), as a Web service. Implementing XML for Analysis in SAP NetWeaver Business Intelligence enables third-party reporting tools connected to BW to communicate directly with the OLAP processor.

Unlike OLE DB, XML for Analysis provides universal data access to a particular source over the Internet, without having to set up a special component on the client.

XML for Analysis is optimized for the Internet in various ways:

  • Time spent on queries to the server is kept to a minimum.
  • Client queries are stateless by default. This means that after the client has obtained the required data, the connection to the Web server is terminated.

Tolerance to errors and the scalability of a source (the maximum permitted number of users) is therefore maximized.

Integration

XML for Analysis is available automatically as a Web service after installing a BW system. The URL of a Web service has to be structured according to the following schema:

<Protocol>://<Server>:<Port>/sap/bw/xml/soap/xmla

A description of the Web service can be called using a URL with syntax as follows:

<Protocol>://<Server>:<Port>/sap/bw/xml/soap/xmla?wsdl

Note

For more information on which values are used for the place holders in the specified URL schema , seeICF Services in SAP NetWeaver BW.

Features

Specification XML for Analysis Version 1.1 from Microsoft forms the basis for the implementation of XML for Analysis in BW.

The following table lists the methods that determine the specification for a stateless data request or data manipulation.

XMLA Methods

Method

Description

Discover

This method is used to query metadata and master data. (This corresponds to the BAPI MDDataProviderBW).

Discover (

[in] RequestTypeAs EnumString,

[in] RestrictionsAs Restrictions,

[in] PropertiesAs Properties,

[out] ResultAs Rowset)

RequestTypedetermines the structure and contents of the resulting set using return parameters (for example, DISCOVER_DATASOURCES, MDSCHEMA_CUBES, MDSCHEMA_DIMENSIONS).

Restrictionsdetermine constraints for the resulting set column to filter the results row. This is a required parameter, but it can be left empty.

Propertiesdetermine XMLA properties, such as return format of the result set, timeout, local properties, with which the data should be formatted.

Execute

You can execute MDX commands with this method to receive the corresponding result set. (This corresponds to the BAPI MDDataSetBW).

Execute (

[in] CommandAs Command,

[in] PropertiesAs Properties,

[out] ResultAs Resultset)

Commandspecifies a provider-specific command for execution.

Properties determine XMLA properties, such as return format of the result set, timeout, local properties, with which the data should be formatted.

Constraints

XML for Analysis is not restricted to a specific platform, application, or development language.

Example

The following graphic illustrates (based on the XMLA specification from Microsoft) a possible implementation of an XMLA Web service:

Once the client has received the URL of a server offering one of the Web services, it sends Discover- and Execute queries to the server using the SOAP-/HTTP protocol.

The server creates an instance of the XMLA provider that processes the Discover- and Execute queries. The XMLA provider loads the required data, embeds it in XML and then sends the data to the client as XML.