Microsoft Analysis Services uses both server and client components to supply data mining functionality for business intelligence applications:
The server component is implemented as a Microsoft Windows service. You can have multiple instances on the same computer, with each instance of Analysis Services implemented as a separate instance of the Windows service.
Clients communicate with Analysis Services using the public standard XML for Analysis (XMLA), a SOAP-based protocol for issuing commands and receiving responses, exposed as a Web service. Client object models are also provided over XMLA, and can be accessed either by using a managed provider, such as ADOMD.NET, or a native OLE DB provider.
Query commands can be issued using Data Mining Extensions (DMX), an industry standard query language oriented toward data mining. Analysis Services Scripting Language (ASSL) can also be used to manage Analysis Services database objects.
An Analysis Services instance runs as a stand-alone service and communication with the service occurs through XML for Analysis (XMLA), by using either HTTP or TCP.
AMO is a layer between the user application and the Analysis Services instance that provides access to Analysis Services administrative objects. AMO is a class library that takes commands from a client application and converts those commands into XMLA messages for the Analysis Services instance. AMO presents Analysis Services instance objects as classes to the end user application, with method members that run commands and property members that hold the data for the Analysis Services objects.
The following illustration shows the Analysis Services components architecture, including services within the Analysis Services instance and user components that interact with the instance.
The illustration shows that the only way to access the instance is by using the XML for Analysis (XMLA) Listener, either by using HTTP or TCP.
DSO has been deprecated. You should not use DSO to develop solutions.
One server instance can support multiple Analysis Services databases, each with its own instance of the Analysis Services service that responds to client requests and processes objects.
Separate instances must be installed if you want to work with both tabular models and data mining and/or multidimensional models. Analysis Services supports side-by-side installation of instances running in tabular mode (which uses the xVelocity in-memory analytics engine (VertiPaq) storage engine) and instances running in one of the conventional OLAP, MOLAP, or ROLAP configurations. For more information, see Determine the Server Mode of an Analysis Services Instance.
All communications between a client and the Analysis Services server use XMLA, which is a platform-independent and language-independent protocol. When a request is received from a client, Analysis Services determines whether the request relates to OLAP or data mining, and routes the request appropriately. For more information, see OLAP Engine Server Components.