Desenvolvimento - Sharepoint - Dev
Reporting Services e SharePoint: Criando um Relatório Simples
Nesse artigo nós exploramos como criar relatórios utilizando Reporting Services integrado ao SharePoint. Criamos uma biblioteca no SharePoint para armazenar relatórios vindo de bancos proprietários e exibimos essas informações em WebParts do SharePoint.
por Wagner AmorimOverview
Uma das formas mais comuns e eficientes de desenvolver relatórios em aplicações SharePoint é utilizando o Reporting Services, inclusive postei um artigo sobre como configurar essa os 2 produtos em modo integrado (Reporting Services e SharePoint em “Integration Mode”).
*Obs.: A única diferença do artigo que postei anteriormente para esse atual é a versão do SQL Server, na oportunidade anterior, utilizei o SQL Server 2005, nesse artigo irei utilizar a versão 2008, mas quem quiser utilizar o artigo acima para configurar o SSRS 2008 não terá problemas, o cenário é muito parecido.
Como percebi a falta de materiais publicados em Português estou trabalhando em uma série de artigos focados em possíveis soluções para Relatórios no SharePoint (WSS 3.0 & MOSS 2007) com o Reporting Services.
Nesse artigo vamos criar e publicar um relatório simples no SharePoint utilizando os recursos do Reporting Services. Vou extrair dados de um banco proprietário (SQL Server fora do SharePoint) e apresentar no SharePoint.
Como de costume abaixo seguem alguns links de referência:
SQL Server Reporting Services: Para Desenvolvedores
http://msdn.microsoft.com/pt-br/library/ms159106.aspx
SharePoint Business Intelligence
http://blogs.msdn.com/sharepointbi/default.aspx
Reporting Services e SharePoint em “Integration Mode”
http://www.linhadecodigo.com.br/Artigo.aspx?id=2620
Solução
Para essa solução vou trabalhar com os seguintes produtos e tecnologias:
o Windows Server 2003 com SP2
o Windows SharePoint Services 3.0 com SP2
o SQL Server 2008 com SP1
o Visual Studio 2008 com SP1 + Extensions for Windows SharePoint Services 3.0, v1.2
Após ter o ambiente devidamente configurado (SharePoint & SSRS em “Integration Mode”), vamos iniciar nosso exemplo.
1. Criando um Site no SharePoint.
Para mais detalhes do modelo e funcionamento de Sites no SharePoint, recomendo a leitura do link abaixo:
Introdução a sites, áreas de trabalho e páginas
http://office.microsoft.com/pt-pt/sharepointtechnology/HA100214132070.aspx?pid=CH100651032070
O primeiro passo será criar um site no SharePoint que irá armazenar e exibir os relatórios do Reporting Services
1.1. Crie um site no SharePoint.
1.2. Após o site criado, clique em “Site Actions/Site Settings”.
1.3. Na página “Site Settings”, na guia “Site Collection Administration”, clique em “Site collection features”.
1.4. Na página “Site Collection Features”, certifique-se que a feature “Report Server Integration” adicionada pelo “Add-in” do Reporting Services está instalada e ativada no seu novo site, conforme imagem abaixo.
Obs.: Caso a feature não esteja disponível, verifique os passos do artigo citado acima, sobre a configuração do SSRS integrado ao SharePoint.
1.5. Crie uma Biblioteca no site chamada Reports, conforme instruções abaixo:
a. No menu “Site Actions” clique em Create.
b. Na página Create, na seção Libraries, clique em “Document Libraries”.
c. Na seção “Name and Description”, insira Reports no campo Name e clique em Create.
Depois dessas configurações nosso ambiente já está devidamente configurado para prosseguirmos.
Como fonte de dados, vou utilizar um database presente no pacote “Samples and Sample Databases”, disponibilizado pela Microsoft, que na verdade é um projeto no CodePlex chamado “Microsoft SQL Server DataBase Product Samples”.
Samples and Sample Databases
http://www.codeplex.com/Wiki/View.aspx?ProjectName=SqlServerSamples
* A versão do SQL Server que utilizei foi a Enterprise, pois a versão Express não suporta a instalação do SQL Server em modo Integrado com o SharePoint “out-of-the-box”.
Microsoft® SQL Server® 2008 Enterprise Evaluation: Trial Experience for Developers
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=6b10c7c1-4f97-42c4-9362-58d4d088cd38
Para nosso exemplo, vou utilizar o database chamado “AdventureWorks” presente no projeto do CodePlex citado acima, vou simplesmente extrair um relatório da tabela “Person.Contact” trazendo alguns dados dessa tabela e apresentando no Reporting Services integrado ao SharePoint.
O primeiro passo será criar nosso projeto no Visual Studio do tipo “Report Server Project Wizard”.
2. Criando o projeto no VS 2008.
2.1. Abra o Visual Studio e clique em “File/New/Project”.
2.2. Na janela New Project clique em “Business Intelligence Projects/Report Server Project Wizard”, renomeie o projeto para “CSReports” e clique em OK.
Obs.: O projeto do tipo “Report Server Project Wizard” está presente no pacote “Business Intelligence Development Studio” que pode ser instalado juntamente com o SQL Server 2008.
2.3. Na janela do “Report Wizard” que irá abrir, clique em Next.
2.4. Com a opção “New Data Source” selecionada, siga os passos abaixo:
a. Preencha o campo Name com DSAdventureWorks.
b. Certifique-se que o campo Type está com a opção “Microsoft SQL Server”.
c. Connection String: Data Source=NomeDoServidorSQL;Initial Catalog=AdventureWorks.
d. Marque a opção “Make this a shared data source”.
e. Clique em Next.
*Dica: Você pode clicar no botão “Edit” para o VS abrir a janela de propriedades da conexão, onde você conseguirá definir rapidamente os dados de conexão e ainda poderá testar se sua conexão está OK.
O próximo passo é o“Design the Query”, onde você pode utilizar o botão “Query Builder” para construir suas querys no “Query Designer”, em muitas situações essa janela pode ser bem produtiva, pois através da própria janela você consegue validar sua consulta passo-a-passo durante a construção da query.
2.5. No nosso caso, digite a seguinte query no campo “Query String”:
a. SELECT Title, FirstName, MiddleName, LastName, Suffix, EmailAddress, Phone
FROM Person.Contact
b. Clique em Next.
2.6. Na janela “Select the Report Type” mantenha a opção Tabular e clique em Next.
2.7. Na janela “Design the Table” selecione todos (Ctrl + Clique) registros disponíveis no campo “Available fields” e clique no botão “Details>”, depois clique em Next.
2.8. Na janela “Choose the Table Style” você pode aplicar temas pré-definidos para o grid que irá apresentar os dados, escolha um e clique em Next.
2.9. Na janela “Choose the Deployment Location” existem 2 campos, são eles:
a. Report Server: O valor desse campo varia com o tipo de instalação, caso seja uma instalação do Reporting Services padrão, sem integração com o SharePoint, a URL deve ser a do site Report Server, mas no nosso caso a URL será a do site que criamos acima.
b. Deployment Folder: No nosso caso insira a URL da biblioteca de documentos que criamos para armazenar nossos relatórios (ex: http://urldosite/reports).
2.10. Na janela “Completing the Wizard”, atribua CSReport1 no campo Report name.
2.11. Marque a opção “Preview Report” e clique em Finish.
Se tudo ocorrer bem o Visual Studio vai configurar um “Shared Data Source”, adicionar um “DataSet” com os campos configurados anteriormente, atribuir as propriedades de “Deployment” e por fim irá criar um Report, veja a imagem abaixo:
Não vou me aprofundar nos conceitos do projeto do tipo “Report Server”, presente no Visual Studio 2008, caso queiram ler mais sobre o assunto recomendo os links abaixo:
Reporting Services in Business Intelligence Development Studio
http://msdn.microsoft.com/en-us/library/ms173745.aspx
Você pode realizar o deploy do relatório pelo Visual Studio 2008, para isso vamos completar as configurações no projeto.
2.12. Na Solution Explorer, clique com o botão direto no projeto, depois clique em Properties.
2.13. Na janela “Property Pages”, existem as seguintes opções:
a. Overwrite DataSources: Configura se no deploy os DataSources existentes serão atualizados em cada novo deploy, no nosso caso, marque sim.
b. Target DataSource Folder: Nesse campo você deve inserir o caminho que será armazenado os DataSources, o SharePoint vai criar uma pasta dentro da biblioteca de relatórios para armazená-los. No nosso caso configurei “DS” após a URL da biblioteca.
c. Target Report Folder: Nesse campo você deve inserir a URL da biblioteca de relatórios que será feito o deploy.
d. Target Server URL: Nesse campo você deve inserir a URL do site.
2.14. Após configurar todos os valores, clique em OK.
2.15. Na Solution Explorer, clique com o botão direito no projeto, depois em Deploy.
2.16. Após o deploy com sucesso, acesse sua Biblioteca Reports e visualize nosso Relatório e o DataSource.
3. Visualizando o Relatório no SharePoint.
Após todos os passos acima, nosso relatório já está disponível no SharePoint, vamos utilizar a WebPart “SQL Server Reporting Services Report Viewer” para visualizá-lo.
Obs.: A WebPart SQL Server Reporting Services Report Viewer é instalada na galeria de WebParts do seu site SharePoint pelo Addin de integração do SSRS, caso a WebPart não apareça no seu site e o addin esteja corretamente instalado, tente desabilitar e habilitar a feature citada no passo 1.4 desse artigo.
3.1. Acesse a home do site.
3.2. Clique em “Site Actions/Edit Page”.
3.3. Na página de edição, na WebPart Zone do meio, clique em “Add a WebPart”.
3.4. Selecione a Webpart citada acima e clique em Add.
3.5. Na webPart adicionada, clique no link “Click here to open the tool pane”.
3.6. Na janela de propriedades da WebPart, clique no botão “...” e selecione o Relatório que criamos acima.
3.7. Clique em OK na janela de propriedades da WebPart.
3.8. Na página em modo de edição, clique no link “Exit Edit Mode”, presente abaixo do botão “Site Actions”.
Conclusão
Nesse artigo nós exploramos como criar relatórios utilizando Reporting Services integrado ao SharePoint. Criamos uma biblioteca no SharePoint para armazenar relatórios vindo de bancos proprietários e exibimos essas informações em WebParts do SharePoint.
No próximo devemos explorar como criar um relatório parecido utilizando listas do SharePoint como fonte de dados.
- Usando Client Object Model do SharePoint 2010 para melhorar a Experiência do Usuário (UX)Sharepoint - Dev
- Integrando Microsoft ASP .NET AJAX com SharePointSharepoint - Dev
- Tratamento de Exceções no SharePointSharepoint - Dev
- Utilizando Campos de Consulta (Lookup) ProgramaticamenteSharepoint - Dev
- Recuperando valor de uma coluna do tipo ChoiceSharepoint - Dev