Como integrar o Reporting Services ao SharePoint Services

Uma pergunta bastante frequente que eu recebo é sobre a integração do SQL Server Reporting Services com o SharePoint Services (ou SharePoint Server). É possível armazenar seus relatórios .rdl em document libraries do SharePoint e se conectar a um Report Server para que este "renderize" os relatórios. Também é possível utilizar web parts do SharePoint para exibir relatórios armazenados em um Report Server, estando ele integrado ao SharePoint ou não. Esta configuração é bem simples, vamos passar por ela neste artigo.

Passo a Passo

Vou seguir o processo aqui como se não tivesse um Report Server e um SharePoint instalado em seu ambiente. Desta forma, você pode começar a utilizar este recurso imediatamente, mesmo se não utiliza o SharePoint atualmente na sua organização. Os passos para esta configuração se resumem em:

  1. Instalar e Configurar o SQL Server Reporting Services e aplicar o Service Pack 2
  2. Instalar o Microsoft .NET Framework 3.0 (requerido pelo SharePoint Services 3.0)
  3. Instalar o Windows SharePoint Services ou Office SharePoint Server 2007
  4. Instalar o add-in do Reporting Services para o SharePoint
  5. Configure a integração.

Por questões de praticidade, não vou entrar nos detalhes passo-a-passo de cada item acima. Ao invés disso, vou dar foco aos pontos chave desta integração. Se você tiver dúvidas em qualquer um dos passos abaixo por favor me avise, eu explico com maiores detalhes.

SQL Server Reporting Services e Service Pack 2

Você não precisa instalar nenhum outro componente do SQL Server 2005 além do Reporting Serivces, nem mesmo o Database Engine, se assim preferir. O banco de dados de configuração do Report Server pode ficar em outro servidor na sua rede. Para isto, basta executar o Reporting Services Configuration para deixar o Report Server no ar. No primeiro instante, configure-o de forma nativa, sem integração com SharePoint.

Após a instalação, aplique o Service Pack 2 do SQL Server 2005. Ele está disponível em https://www.microsoft.com/downloads/details.aspx?FamilyId=d07219b2-1e23-49c8-8f0c-63fa18f26d3a&DisplayLang=en

.NET Framework 3.0

O SharePoint Services 3.0 exige a instalação de componentes do Microsoft .NET Framework 3.0. Basta fazer o download e executar o assistente de instalação. Este pacote tem apenas 2.8 MB e pode ser encontrado em https://www.microsoft.com/downloads/details.aspx?FamilyID=10CC340B-F857-4A14-83F5-25634C3BF043&displaylang=en

Windows SharePoint Services ou Office SharePoint Server 2007

Se você não tiver o Office SharePoint Server 2007 na sua empresa, pode baixar o Windows SharePoint Services gratuitamente. Este segundo não contém todas as funcionalidades do Office SharePoint Server, mas atende aos requisitos de integração com o Reporting Services.

Para fazer o download do SharePoint Services 3.0, visite https://www.microsoft.com/downloads/details.aspx?familyid=D51730B5-48FC-4CA2-B454-8DC2CAF93951&displaylang=en

Add-in do Reporting Services para o SharePoint

Este é o componente de integração entre o Reporting Services e o SharePoint. Ele instala os web parts que são utilizados pelo SharePoint para visualizar relatórios do Reporting Services e a interface de integração. Se você sentir que ao final do assistente de instalação deste componente, em "Removing Temporary Files", o assistente ficar parado por vários minutos, saiba que isto é normal. Esta etapa leva um tempo considerável para concluir.

O add-in está disponível para download em https://www.microsoft.com/downloads/details.aspx?familyid=1E53F882-0C16-4847-B331-132274AE8C84&displaylang=en

Configuração

Tendo instalado todos os componentes necessários, podemos partir para a configuração do ambiente. Vamos aos passos necessários para a configuração

IIS

Quando configuramos o Reporting Services (ou quando o instalamos com opção de configuração padrão), o serviço configura o Report Manager e o Report Server no Default Web Site do IIS, que, por padrão, utiliza a porta 80. Logo depois, quando instalamos o SharePoint Services, o assistente configura o portal do SharePoint em um web site diferente no IIS, porém também configura este web site na porta 80. Como resultado, teremos o Default Web Site parado, já que não podemos ter dois sites configurados na mesma porta TCP. Portanto, o primeiro passo é configurar o Default Web Site (onde o Report Server e o Report Manager são instalados por padrão) com uma porta diferente. Neste exemplo, vamos configurar na porta 8080. A figura abaixo ilustra a configuração dos dois Web Sites.

image

Para testar a configuração do Report Server, abra um browser e acesse o site https://localhost:8080/ReportServer. A resposta deverá ser como a tela da figura abaixo:

image

Reporting Services em modo integrado

O próximo passo é configurar o banco de dados do Reporting Services em modo integrado com o SharePoint. Esta configuração cria o banco de dados de metadados do Reporting Services com atributos específicos para a integração e desativa o Report Manager.

  1. Abra o Reporting Services Configuration tool e clique em Database Setup
  2. Em Server Mode, clique em Change e depois em Yes
  3. Em Database Name, digite o nome que preferir para o banco de dados (por exemplo, ReportServer_MOSS). Garanta que o checkbox Create a report server database in SharePoint integrated mode está marcado
  4. Clique em OK, em Apply e em OK novamente. A janela de configuração deverá estar parecida com a janela da imagem abaixo

image

Configurar a integração pelo SharePoint

O SharePoint precisa saber qual é o Report Server responsável por "renderizar" relatórios existentes nas document libraries. Para fazer esta configuração, siga os passos abaixo:

  1. Abra o SharePoint 3.0 Central Administration (Start->Administrative Tools)

  2. Clique em Application Management. Aqui você perceberá que tem uma sessão nova chamada Reporting Services, que foi adicionada pelo add-in que já instalamos. Clique em Integration Settings

  3. Em Report Server Web Service URL, digite o endereço para o Report Server, como na figura abaixo. Neste exemplo, utilizei localhost porque o Report Server e o SharePoint estão no mesmo host. No entanto, perceba que esta configuração pode ser feita em servidores diferentes, então aqui você digitaria o hostname do seu Report Server. Selecione também o modo de autenticação e clique em OKimage

  4. De volta a tela Application Management, clique em Grant Database Access

  5. Clique em OK. O nome do servidor já deve estar configurado nesta tela.

Resultado e conclusão

Após ter concluído esta configuração, vários benefícios e recursos novos ficam disponíveis. Entre eles, você poderá ter arquivos .rdl em uma document libary, por exemplo, e exibir o seu relatório a partir da página onde ele está armazenado. Você pode ainda invocar o Report Builder e editar seus relatórios gerados a partir de modelos (veja a imagem abaixo). Também será possível exibir relatórios presentes em um report server em um dashboard por exemplo.

image