Desenvolvimento - Sharepoint - Dev

Reporting Services e SharePoint em "Integration Mode"

É possível configurar o SQL Server Reporting Services (SSRS) 2005 / 2008 em modo integrado ao Windows SharePoint Services (WSS) 3.0 ou Microsoft Office SharePoint Server (MOSS) 2007.

por Wagner Amorim



Overview

O SQL Server Reporting Services é um conjunto de ferramentas e serviços prontos, integrante do SQL Server, tem como objetivo aumentar a produtividade na hora de criar e gerenciar relatórios, a plataforma possui ainda recursos de extensibilidade através das suas APIs e integração com o Visual Studio para um cenário mais familiar aos desenvolvedores Microsoft.

Enfim, com um cenário desses o Reporting Services se identifica muito com os objetivos e conceitos do SharePoint não? Isso mesmo, por esse motivo é tão aconselhado e utilizado em relatórios do Sharepoint.

É possível configurar o SQL Server Reporting Services (SSRS) 2005 / 2008 em modo integrado ao Windows SharePoint Services (WSS) 3.0 ou Microsoft Office SharePoint Server (MOSS) 2007.

As vantagens de se ter um SharePoint funcionando integrado com o Reporting Services são muitas e se aplicam desde grandes implantações com Portais de BI, onde por exemplo podemos ter os recursos do “Report Center” do MOSS 2007 integrados ao SSRS para publicação de relatórios, KPIs... Como também podemos utilizar o WSS 3.0 para administrar o SSRS e publicar relatórios disponíveis no mesmo através de WebParts do SharePoint para integração com o Reporting Services.

Nesse artigo não vou entrar nos conceitos de “install & deploy” dos 2 produtos, até porque no caso do Reporting Services, a instalação costuma ser muito simples, bastando apenas selecionar a opção “Reporting Services” durante a instalação do SQL, em todo caso, abaixo listo alguns materiais para referência de instalação e configuração dos mesmos:

SQL Server Reporting Services: Para Desenvolvedores
http://msdn.microsoft.com/pt-br/library/ms159106.aspx

SQL Server Reporting Services: Para Profissionais de TI
http://technet.microsoft.com/en-us/library/ms159106.aspx

Considerations for Installing Reporting Services
http://technet.microsoft.com/en-us/library/ms143736.aspx

How to: Install Reporting Services on a Single Computer
http://technet.microsoft.com/en-us/library/ms144290(SQL.90).aspx

How to: Troubleshoot a Reporting Services Installation Problem
http://technet.microsoft.com/en-us/library/ms144289(SQL.90).aspx

Installation Guide for MOSS 2007
http://technet.microsoft.com/en-us/library/cc298924.aspx

Vamos focar nas configurações necessárias para funcionar essa integração, após a instalação e configuração com sucesso dos 2 produtos.

Solução

Meu exemplo será um deploy de uma instalação “Single Server” do Windows SharePoint Services 3.0, caso você possua um Farm de Servidores SharePoint, sugiro que leia o artigo abaixo, mas já adianto que não terá muito trabalho adicional.

Deployment Topologies for Reporting Services in SharePoint Integrated Mode
http://technet.microsoft.com/en-us/library/bb510781.aspx

* DICA: Minha instalação do SharePoint só tem uma única particularidade, por efeitos de facilidade e gosto pessoal, instalei uma instância de SQL Server Stand 2005 para ser meu Banco de Dados, simplesmente porque não gosto muito de trabalhar com a instância instalada por padrão (Windows Internal Database) no modo de instalação StandAlone do WSS. Para alcançar esse resultado, basta instalar o SQL Server 2005 e depois, na hora de instalar o WSS, em modo de instalação avançado, selecionar a opção “Farm” apontando o Web Front End (WFE) e o criando um novo Farm no Banco instalado anteriormente na mesma máquina, nesse caso você terá uma instalação que chamo de “Single Server”, WFE + Banco de Dados no mesmo servidor de uma forma organizada, lembrando que isso é questão de gosto, esse artigo funcionará normal com uma instalação StandAlone.

Para o funcionamento dessa integração nós devemos instalar o “Microsoft SQL Server 2005 Reporting Services Add-in for Microsoft SharePoint Technologies”, faça o download no link abaixo:

Microsoft SQL Server 2005 Reporting Services Add-in for Microsoft SharePoint Technologies
http://www.microsoft.com/downloads/details.aspx?familyid=1E53F882-0C16-4847-B331-132274AE8C84&displaylang=en

Para instalar o Add-in, nosso ambiente deve ter os requisitos minimos abaixo:

§ Windows Server 2003 Service Pack 1 ou uma mais recente service pack

§ SQL Server 2005 Service Pack 2 Reporting Services

§ Windows SharePoint Services 3.0

* DICA: Lembrando que não é necessário ter o SQL Server 2005 instalado para usar o SQL Server Reporting Services, você pode instalar somente o Reporting Services.

1. Instalando o Microsoft SQL Server 2005 Reporting Services Add-in for Microsoft SharePoint Technologies.

1.1. Execute o instalador (SharePointRS.msi) no seu servidor (no caso de FARM execute essa ação em todos os Web Front Ends).

1.2. Clique em Next.

1.3. Marque a opção “I accept the terms in the license agreement” e clique em Next.

1.4. Preencha os seus dados e da sua empresa, clique em Next.

1.5. Clique em Install.

Instalação concluída com sucesso.!

O Reporting Services por padrão utiliza o site criado na instalação do IIS (Default Web Site) para publicar o Servidor (./ReportServer) e o Gerenciador (./Reports) de Relatórios, porém o SharePoint quando é instalado cria um site inicial na mesma porta (80) que o Default Web Site, para isso ele executa um “Stop” no Default Web Site.

Para resolver esse problema, basta alterar a porta do site “Default Web Site” para 8080, por exemplo.

2. Configurando o Ambiente.

2.1. Altere a porta do site “Default Web Site”.

a. Acesse o Gerenciador do IIS “Start/Run.../inetmgr” ou “Start/All Programs/Administrative Tools/Internet Information Services (IIS) Manager”.

b. Na pasta “Web Sites”, localize o site “Default Web Site”, clique com o botão direito nesse item e clique em “Properties”.

2.2. Altere a porta TCP para 8080 (conforme imagem acima).

2.3. Após essa configuração inicie o site parado, clique com o botão direito no site e depois em “Start”.

3. Validando a integração no Reporting Services (SSRS) e no SharePoint.

3.1. Validando o “Integration Mode” no SSRS.

a. Acesse o Reporting Services Configuration, “Start/All Programs/Microsoft SQL Server 2005/Configuration Tools/ Reporting Services Configuration”.

b. No Reporting Services Configuration Manager você conseguirá fazer uma verificação completa do status do Reporting Services, inclusive o status da Integração com o SharePoint, veja abaixo.

* DICA: caso você encontre problemas na instalação ou funcionamento por parte do SSRS, confira o link abaixo que pode te ajudar no Troubleshooting.
Reporting Services Configuration Tool
http://msdn.microsoft.com/en-us/library/ms156305(SQL.90).aspx

3.2. Validando o “Integration Mode” no SharePoint.

a. Acesse a Central Administration, “Start/All Programs/Administrative Tools/SharePoint 3.0 Central Administration/”.

b. Na Central Administration, clique na guia “Application Management”.

c. Note uma nova seção chamada “Reporting Services”.

Caso a opção acima não apareça no seu Central Administration, o Add-in não foi corretamente instalado no seu ambiente ou a feature não foi ativada, caso isso ocorra verifique os seguintes passos:

§ Na Central Administration, clique em “Site Actions” depois em “Site Settings”.

§ Na página Site Settings, clique em “Site Collection Features”, presente na guia “Site Collection Administration”.

§ Na página Site Collection Features, verifique se existe a feature “Report Server Integration Feature”, se sim ative a feature clicando em “Activate”.

Se nem a feature existir no passo acima, a instalação do Add-in não ocorreu com sucesso, verifique os passos acima novamente e tente uma nova instalação.

3.3. Configurando o “Integration Mode” na Central Administration.

Através da Central Administration você poderá configurar o “Reporting Services e SharePoint em Modo Integrado”.

a. Na Central Administration, clique na guia “Application Management”.

b. Na seção “Reporting Services”, clique em “Manage Integration Settings”.

c. Na página “Reporting Services Integration”, preencha os campos abaixo:

i. Report Server Web Service URL = URL do Report Server que você deseja utilizar integrado ao SharePoint, no nosso caso, criamos no passo 2.2 com a porta 8080 (http://nomedoservidor:8080/ReportServer).

ii. Authentication mode = Você pode escolher entre Windows Authentication ou Trusted Authentication para especificar qual tipo de Token de Segurança o Report Server instalado com o SharePoint irá utilizar na comunicação com sua base de dados.

* DICA: Por questões de segurança e boas práticas, sempre que possível, usem a opção Windows Authentication, pois nesse caso não são enviados os dados de acesso no cabeçalho da requisição entre o Report Server e o SharePoint, no caso de aplicações FBA (Forms Based Authentication) as requisições sempre enviarão o token no cabeçalho, independente do modo de autenticação, para maiores informações leiam: http://msdn.microsoft.com/en-us/library/bb283324.aspx.

d. Voltando para “Application Management”, na seção Reporting Services”, clique em “Grant Database Access”.

e. Nesse tela é possível digitar o nome e a intância do Servidor que hospeda o Report Server, por padrão o nome da máquina atual e a instância padrão, faça isso e clique em OK.

Informação Útil: Ao clicar nesse link, as informações da conta do serviço são retornadas da instância do Report Server e um login com as devidas permissões é criado no Banco de Dados para a conta de serviço do Reporting Services, pois a integração precisa que o Report Server acesse os bancos de configuração e conteúdo do SharePoint. Tanto o Report Server Web Service como o Report Server Windows Service precisam ter usuários com permissão de leitura e gravação.

f. Após clicar em OK, o SharePoint vai abrir uma caixa de diálogo e exigir que você inclua as credenciais utilizadas pelas contas de serviço do Reporting Services, digite o Usuário e Senha e se certifique que essa conta é membro do grupo “Local Administrators” no computador que hospeda o Report Server, clique em OK.

g. Em “Application Management”, na seção “Reporting Services”, clique em “Set Server Defaults”.

h. Você poderá configurar vários valores padrão para a integração, confira abaixo:

i. Report History Default: Valor padrão para o número de cópias do relatório armazenado no histórico. O valor padrão fornece uma definição inicial que estabelece o número de histórico simultâneos que podem ser armazenados para cada relatório. Você pode especificar limites diferentes para relatórios específicos.

ii. Report Processing Timeout: Timeout em segundos para processamento dos relatórios, essa opção não é ligada diretamente ao Timeout de conexão ou processamento do Banco de Dados, esse timeout é do processamento e carregamento das informações presentes já no Relatório.

iii. Report Processing Log: Especifique se o servidor vai gerar log e trace, a quantidade de dias que essas informações serão mantidas.

Informação Útil: Os logs por padrão são mantidos na pasta “C:\Program Files\Microsoft SQL Server\MSSQL.n\ReportServer\Log folder”, um novo log é gerado toda vez que o serviço é reiniciado, veja mais em http://technet.microsoft.com/en-us/library/ms156500(SQL.90).aspx.

iv. Enable Windows Integrated Security: Você pode especificar se a conexão com um Data Dource poderá utilizar o token de segurança do usuário logado.

v. Enable Ad Hoc Reporting: Especifica se os usuários podem executar queries “ad hoc” à partir de um Report Builder. Essa opção habilita a propriedade EnableLoadReportDefinition do Report Server.

i. Configure esses valores opcionais e cliquem em OK.

Conclusão

Após todos esses passos, finalizamos a configuração do “SharePoint e Reporting Services in Integration Mode”, agora seu SharePoint já pode receber relatórios SSRS em suas Bibliotecas, abrir relatórios direto no Browser, configurar DataSources, gerenciar parâmetros através do SharePoint, além de utilizar todos os recursos conhecidos do SharePoint como colaboração, workflows, versionamento, histórico entre outros. Isso tudo com o WSS, no caso do MOSS esses recursos são ainda maiores, confira uma lista completa no link abaixo:

Microsoft SQL Server 2005 SP2 Reporting Services integration with WSS 3.0 and MOSS 2007
http://blogs.msdn.com/sharepoint/archive/2007/02/19/microsoft-sql-server-2005-sp2-reporting-services-integration-with-wss-3-0-and-moss-2007.aspx

Enfim, a integração do SharePoint com o Reporting Services é muito poderosa, acredito que teremos bons artigos em breve sobre o assunto.

Wagner Amorim

Wagner Amorim - Consultor com 7 anos de experiência no mercado de TI, já atuou em diversos projetos para médias e grandes empresas. Focado em tecnologias Microsoft, têm se especializado nas Tecnologias SharePoint e Microsoft .NET desde 2003. Membro ativo das comunidades Technet e MSDN voltadas para SharePoint e Líder da maior Comunidade de SharePoint no Brasil (Canal SharePoint).
Possui as certificações MCP: .NET Framework 2.0, MCTS: .NET Framework 2.0 Web Applications, Windows SharePoint Services 3.0: AD, Windows SharePoint Services 3.0: Config., Microsoft Office SharePoint Server 2007: Config., Microsoft Office SharePoint Server 2007: AD e MCPD: Web Developer.
Blog:
http://waamorim.spaces.live.com/