Requisitos de arquitetura do cliente para o desenvolvimento do Analysis Services
O Microsoft SQL Server Analysis Services dá suporte a uma arquitetura de cliente fino. O mecanismo de cálculo do Analysis Services é totalmente baseado em servidor, portanto, todas as consultas são resolvidas no servidor. Como resultado, apenas uma viagem de ida e volta entre o cliente e o servidor é necessária para cada consulta, resultando em um desempenho evolutivo à medida que as consultas aumentam em complexidade.
O protocolo nativo do Analysis Services é XML for Analysis (XML/A). O Analysis Services fornece várias interfaces de acesso a dados para aplicativos cliente, mas todos esses componentes se comunicam com uma instância do Analysis Services usando XML for Analysis.
Vários provedores diferentes são fornecidos com o Analysis Services para dar suporte a diferentes linguagens de programação. Um provedor se comunica com um servidor do Analysis Services enviando e recebendo XML para Análise em pacotes SOAP por TCP/IP ou por HTTP por meio dos Serviços de Informações da Internet (IIS). Uma conexão HTTP usa um objeto COM instanciado pelo IIS, chamado de bomba de dados, que atua como um canal para dados do Analysis Services. A bomba de dados não examina os dados subjacentes contidos em um fluxo HTTP de qualquer maneira, nem de qualquer das estruturas de dados subjacentes disponíveis a nenhum código na biblioteca de dados.
Os aplicativos cliente Win32 podem se conectar a um servidor do Analysis Services usando interfaces OLE DB for OLAP ou o modelo de objeto ADO (Microsoft® ActiveX® Data Objects) para linguagens de automação COM (Component Object Model), como o Microsoft Visual Basic®. Aplicativos codificados com linguagens .NET podem se conectar a um servidor do Analysis Services usando ADOMD.NET.
Os aplicativos existentes podem se comunicar com o Analysis Services sem modificação simplesmente usando um dos provedores do Analysis Services.
Linguagem de programação | Interface de acesso de dados |
---|---|
C++ | OLE DB para OLAP |
Visual Basic 6 | ADO MD |
Linguagens .NET | ADO MD.NET |
Toda linguagem que ofereça suporte SOAP | XML for Analysis |
O Analysis Services tem uma arquitetura da Web com uma camada intermediária totalmente escalonável para implantação por organizações pequenas e grandes. O Analysis Services fornece amplo suporte de camada intermediária para serviços Web. Os aplicativos ASP têm suporte pelo DB OLE para OLAP e os aplicativos ADO MD, ASP.NET têm suporte pelo ADOMD.NET. A camada intermediária ilustrada na figura a seguir é evolutiva para vários usuários simultaneamente.
Os aplicativos de camada intermediária e cliente podem se comunicar diretamente com o Analysis Services sem usar um provedor. Aplicativos cliente e de camada intermediária podem enviar XML for Analysis em pacotes SOAP sobre TCP/IP, HTTP ou HTTPS. O cliente pode ser codificado usando qualquer linguagem com suporte SOAP. Nesse caso, a comunicação é facilmente gerenciada pelo IIS (Serviços de Informações de Internet) usando HTTP, embora uma conexão direta com o servidor usando TCP/IP também possa ser codificada. Essa é a solução de cliente mais fina possível para o Analysis Services.
Analysis Services no modo Tabular ou do SharePoint
No SQL Server 2014, o servidor pode ser iniciado no modo de mecanismo de análise na memória do xVelocity (VertiPaq) para bancos de dados tabulares e para pastas de trabalho PowerPivot que foram publicadas em um site do SharePoint.
O PowerPivot para Excel e o SSDT (SQL Server Data Tools) são os únicos ambientes de cliente com suporte para criar e consultar bancos de dados na memória que usam o modo SharePoint ou Tabular, respectivamente. O banco de dados PowerPivot inserido que você cria usando as ferramentas Excel e PowerPivot está contido na pasta de trabalho do Excel e é salvo como parte do arquivo de .xlsx do Excel.
No entanto, uma pasta de trabalho PowerPivot pode usar dados armazenados em um cubo tradicional se você importar os dados do cubo para a pasta de trabalho. Você também pode importar dados de outra pasta de trabalho PowerPivot se ela tiver sido publicada em um site do SharePoint.
Observação
Quando você usa um cubo como uma fonte de dados para uma pasta de trabalho PowerPivot, os dados obtidos do cubo são definidos como uma consulta MDX; no entanto, os dados são importados como uma instantâneo nivelada. Não é possível trabalhar interativamente com os dados nem atualizar os dados do cubo.
Interfaces para cliente do PowerPivot
O PowerPivot interage com o mecanismo de armazenamento do mecanismo de análise na memória xVelocity (VertiPaq) dentro da pasta de trabalho usando as interfaces e linguagens estabelecidas para o Analysis Services: AMO e ADOMD.NET e MDX e XMLA. Dentro do suplemento, as medidas são definidas por meio de uma linguagem de fórmula semelhante à do Excel, o DAX (Expressões de Análise de Dados). As expressões DAX são inseridas nas mensagens de XMLA que são enviadas ao servidor no processo.
Provedores
As comunicações entre o PowerPivot e o Excel usam o provedor OLEDB MSOLAP (versão 11.0). No provedor do MSOLAP, há quatro módulos diferentes, ou transportes, que podem ser usados para enviar mensagens entre o cliente e o servidor.
TCP/IP Usado para conexões normais cliente-servidor.
HTTP Usado para conexões HTTP por meio do serviço de bomba de dados do SSAS ou por uma chamada para o componente WS (Serviço Web PowerPivot) do SharePoint.
INPROC Usado para conexões com o mecanismo em processo.
CANAL Reservado para comunicações com o Serviço do Sistema PowerPivot no farm do SharePoint.