Clientes (Analysis Services – Dados Multidimensionais)

O Microsoft SQL Server Analysis Services oferece suporte a uma arquitetura de cliente fino. O mecanismo de cálculo do Analysis Services é totalmente baseado em servidor; assim, 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 para Analysis Services é XML for Analysis (XML/A). O Analysis Services fornece diversas interfaces de acesso de dados para aplicativos cliente, mas todos os componentes comunicam-se com uma instância do Analysis Services usando XML for Analysis.

Diversos provedores diferentes são fornecidos com o Analysis Services para oferecer suporte às diferentes linguagens de programação. Um provedor comunica-se com um servidor Analysis Services, enviando e recebendo XML for Analysis em pacotes SOAP sobre TCP/IP e sobre HTTP por meio do ISS (Serviços de Informações da Internet). Uma conexão HTTP usa um objeto COM instanciado por IIS, chamado de bomba de dados, que age como um condutor de dados 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.

Arquitetura de cliente lógica para Analysis Services

Os aplicativos cliente Win32 podem se conectar a um servidor Analysis Services usando DB OLE para interfaces OLAP ou o modelo de objeto Microsoft® ActiveX® Data Objects (ADO) para linguagens de automação COM (Component Object Model), como Microsoft Visual Basic®. Aplicativos codificados com linguagens .NET podem se conectar a um servidor Analysis Services por meio do ADOMD.NET.

Aplicativos existentes podem se comunicar com Analysis Services sem modificação, apenas usando um dos provedores Analysis Services.

Linguagem de programação

Interface de acesso de dados

C++

DB OLE 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 Web com uma camada intermediária evolutiva completa para implantação por organizações grandes e pequenas. O Analysis Services fornece amplo suporte à camada intermediária para serviço 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.

Diagrama lógico para arquitetura da camada intermediária

Ambos os aplicativos cliente e de camada intermediária 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 para o cliente mais fino possível no Analysis Services.

Analysis Services no modo VertiPaq

No SQL Server 2008 R2, o mecanismo de armazenamento VertiPaq é usado para bancos de dados multidimensionais na memória dentro de pastas de trabalho do Excel, inclusive pastas de trabalho PowerPivot que foram publicadas em um site do SharePoint. 

O PowerPivot para Excel é o único cliente que tem suporte para a criação e a consulta de bancos de dados na memória que usam o modo VertiPaq. O banco de dados multidimensional que você cria usando as ferramentas do Excel e do PowerPivot está contido na pasta de trabalho do Excel e é salvo como parte do arquivo .xlsx do Excel.

Não é possível acessar o mecanismo de armazenamento VertiPaq empregando clientes e ferramentas tradicionais do SSAS.

Porém, uma pasta de trabalho PowerPivot poderá usar dados armazenados em um cubo tradicional se esses dados forem importados para ela. Você também poderá importar dados de outra pasta de trabalho PowerPivot se eles tiverem sido publicados em um site do SharePoint.

ObservaçãoObservação

Quando você usa um cubo como uma fonte de dados para uma pasta de trabalho PowerPivot, os dados obtidos no cubo são definidos como uma consulta MDX; porém, os dados são importados como um instantâneo bidimensional. Não é possível trabalhar interativamente com os dados nem atualizar os dados do cubo.

Para obter mais informações sobre como usar um cubo SSAS como uma fonte de dados, consulte o PowerPivot para Excel.

Interfaces para cliente do PowerPivot

O PowerPivot interage com o mecanismo de armazenamento VertiPaq dentro da pasta de trabalho usando as interfaces e as linguagens estabelecidas para o Analysis Services: AMO e ADOMD.NET; 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. Para obter mais informações, consulte Expressões de Análise de Dados e MDX.

Provedores

As comunicações entre o PowerPivot e o Excel usam o provedor OLEDB do MSOLAP (versão 10.5). 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 cliente-servidor normais.

HTTP   Usado para conexões HTTP através do serviço de bomba de dados do SSAS, ou por uma chamada para o componente Web Service (WS) do SharePoint PowerPivot.

INPROC   Usado para conexões com o mecanismo no processo.

CHANNEL    Reservado para comunicações com o PowerPivot System Service no farm do SharePoint. Para obter mais informações sobre os componentes necessários para trabalhar com o PowerPivot em uma instalação do SharePoint, consulte Planejamento e arquitetura (PowerPivot para SharePoint).