Parallel XMLA requests
You can send multiple XMLA requests in parallel using the same session. This advantage of parallel requests is that clients need to connect only once per user, but they can execute different requests in parallel.
There are three phases of a session.
- Session creation
A thread on the client side sends a
BeginSession
request to connect the user. If successful, it receives a session ID. - Session usage
The client shares the session ID with other threads. Each thread can issue XMLA requests using this session ID. Each request is processed separately from the other ones.
- Session end
If the session is not used anymore, one of the threads issues an
EndSession
request. This closes the session.
The functionality is available only to core XMLA requests. For example, MDX statements and XMLA schema requests.
Other requests sent over XMLA, like XML requests, must not be executed in
parallel. Ensure that requests that create an intermediate state. For example, DataareaDefine
, are not called alternating on different
threads on the same session.
The session must not be ended by the client while there are requests running on that session ID.