segunda-feira, 23 de agosto de 2010

Explorando Microsoft SQL Reporting Services – Parte 01


Olá pessoal, iniciamos aqui uma série de artigos onde faremos uma abordagem prática e teórica, dessa poderosa e pouco explorada que é o Reporting Services. Nesse primeiro momento veremos a versão do SQL 2005, por ainda ser a ferramenta padrão de banco de dados na maioria dos nossos clientes, mas em breve faremos uma explanação da versão 2008, bom divertimento.

PARTE 1 – INTRODUÇÃO AO REPORTING SERVICES

O Microsoft SQL Reporting Services é uma plataforma de relatórios completa. Parte integrante do framework de Business Intelligence baseado em serviços, ferramentas, APIs para desenvolvimento, publicação e gerenciamento dos relatórios, o RS foi inicialmente apresentando como um add-on do SQL Server 2000 no inicio de 2000, em seguida o 2005 e finalmente o 2008.

Os relatórios do RS são baseados na linguagem RDL (Report Definition Language), que nada mais é que um dialeto XML criado pela Microsoft. E, uma vez que o ambiente do RS está intimamente integrada à plataforma .NET framework, suas ferramentas de desenvolvimento são os Visual Studio 2005 e 2008 – ainda que o próprio SQL Server 2005 tenha um shell do Visual Studio 2005 chamado Business Intelligence Development Studio (BIDS).

Com o RS é possível criar soluções de relatórios como parte de uma aplicação, os chamados Local Mode, que são similares ao modelo utilizado no Cristal Reports ou Microsoft Access. Além desse, temos o modelo remoto de relatórios, que operam como uma aplicação web hospedados em um Web Application Server (IIS) e acessíveis via protocolo HTTP. Finalmente, temos, através da ferramenta Report Builder, uma forma dos usuários criarem seus próprios relatórios, atendendo assim ambientes corporativos, desenvolvedores, arquitetos e usuários.

Para qualquer solução de relatórios que faz uso do ambiente do RS, faz-se uso dos elementos apresentados na figura abaixo. Sendo que a interação entre esses elementos varia conforme o modelo do relatório – mas eles sempre estarão presentes, do processo de criação ao consumo pelo usuário final.
Figura 1.1 – Correlação entre elementos do Reporting Services

Na figura 1.1, temos o diagrama da relação entre os principais elementos de uma solução baseada em Reporting Services, relação que detalharemos a seguir:



Relatórios
Correspondem ao front-end dos dados devidamente formatados e que correspondem a uma representação gráfica, funcional e operacional de um arquivo RDL, com características específicas, conforme o seu tipo. Os relatórios podem ser invocados por uma aplicação cliente – seja ela uma aplicação Windows, Web, por qualquer tecnologia que consuma WebService ou mesmo pelo ambiente do próprio Reporting Services.

Aplicação cliente
São as aplicações capazes de implementar, gerenciar e visualizar os relatórios, sendo os principais o Report Manager, o BIDS, Visual Studio,aplicações .NET Windows e web por meio do controle ReportViewer, além do aplicativo Office-Model Report Builder.

Estrutura volátil de dados 
São as estruturas em memória que criamos para armazenar temporariamente o resultado das consultas que serão visualizadas nos relatórios. Essas consultas são implementadas na forma de stored procedures, views, instruções T-SQL além de cubos OLAP.

DB Access Engine
São os diversos mecanismos possíveis para acessar os dados. Corresponde às fontes de dados de acesso ao SQL Server, Oracle, OLE DB, ODBC bem como Analysis Server Databases – OLAP.


Repositórios de dados
São as fontes de dados das quais se extrai as informações para os relatórios criados e acessados via os DB Access Engines.

O RS suporta alguns dos mais úteis tipos de relatório, auxiliando os usuários na melhor distribuição das informações, são eles:

Tabular: utilizado para distribuição das informações como uma tabela, com um número de colunas previamente estabelecidos, similar aos dados do excel;

Livre: as informações são posicionadas arbitrariamente como for mais conveniente para o usuário. P por exemplo, relatórios do tipo master-detail;

Chart: os dados são apresentados graficamente;
Correlação: as informações do relatório são correlacionadas nos dois eixos cartesianos formando uma matriz, por exemplo, um relatório das condições de temperatura de um conjunto de cidades;

DrillDown: relatórios que permitem seções expansíveis, tais como relatórios de correlação, produtos x vendas, que permitem exibir subcategorias dos produtos;
Interativos: são relatórios que permitem o uso das funcionalidades especiais, tais como documentMap, links, dentre outras. Por exemplo, relatórios similar ao modo de exibição de documento PDFs com o Adobe Reader com marcadores.

Figura 1.2 – relatório tabular



Figura 1.3 – relatório de correlação


Figura 1.4 – relatório drilldown

Figura 1.5 – relatório interativo
Figura 1.6 – funcionalidades



É isso aí,  pessoal! Até aqui só começamos nossa exploração ao fantástico mundo do Reporting Service. Na próxima edição veremos o primeiro dos modelos de relatórios: os ditos “Local Mode”.

Abraços e até lá!