Fique por dentro

Neste artigo demonstraremos de forma prática como é possível utilizar Web Services para disponibilizar relatórios RAVE, em soluções multicamadas, desenvolvidas sobre o Framework DataSnap do Delphi XE, a múltiplos clientes, de tecnologias heterogêneas Web e Desktop tais como VCL Forms, PHP e ASP .NET. É apresentada aos desenvolvedores de aplicações baseadas na arquitetura DataSnap a possibilidade de criar relatórios apenas no lado servidor e disponibiliza-los para as aplicações clientes através de Web Services. A arquitetura DataSnap permite a comunicação entre a aplicação servidora e as várias aplicações clientes através do protocolo TCP/IP e HTTP. A comunicação entre cliente e servidor de aplicação se dá através da chamada de métodos no servidor. Assim sendo, a criação de relatórios para esta arquitetura acaba na maioria das vezes sendo uma preocupação a mais para o desenvolvedor, pois dependendo da plataforma de desenvolvimento da aplicação cliente, existem várias opções de disponibilizar e desenvolver relatórios. Com o modelo apresentado neste artigo o desenvolvedor vai se preocupar em criar o seu relatório apenas no servidor, disponibilizá-lo através de um Web Service e a aplicação cliente terá a única preocupação de consumir este Web Service, aumentando assim a produtividade do desenvolvimento e até mesmo a migração de software cliente-servidor para a arquitetura DataSnap.

A criação de relatórios em aplicações corporativas acaba na maioria dos casos sendo uma preocupação a mais ao desenvolvedor principalmente se ele estiver usando a tecnologia DataSnap em aplicações distribuídas. Por mais que haja ferramentas que possibilitem a criação destes relatórios para cada uma das aplicações clientes que acessam o servidor de aplicação DataSnap, em muitos casos as habilidades de gerenciar a ferramenta de geração de relatórios, o custo de uma licença de uso e até mesmo a redundância de implementação do mesmo tipo de relatório, podem se tornar um empecilho de utilização da mesma.

Para esta situação encontramos a solução através de um Web Service que é utilizado para integração e comunicação entre diferentes aplicações. Assim sendo, por meio deste Web Service será gerado um relatório em Rave Reports e disponibilizado como produto final apenas um arquivo em pdf para ser mostrado por qualquer aplicação cliente.

Para desenvolver toda esta estrutura, definiremos primeiramente a arquitetura da aplicação, passando em seguida para a implementação da mesma através da criação da base de dados, servidor de aplicação DataSnap, Web Service e finalmente três exemplos de aplicações clientes que possam exemplificar com tranquilidade a solução proposta neste artigo.

Arquitetura da aplicação

A criação de relatórios em aplicações cliente que usam a arquitetura DataSnap é um desafio aos desenvolvedores, pois estes devem escolher frameworks, componentes e outros métodos de geração de relatórios para as mesmas, partindo do premissa que tendo um servidor de aplicação DataSnap é possível implementar aplicações clientes na maioria das plataformas e linguagens de programação existentes que suportam RPC (Remote Procedure Call) ou comunicação através de REST (Representational State Transfer).

Assim sendo, pensando neste desafio e na possibilidade otimizar tempo de desenvolvimento e organizar melhor os relatórios a serem disponibilizados em servidores de aplicação DataSnap criou-se uma arquitetura com este objetivo conforme mostra a Figura 1.

Nesta arquitetura cada aplicação cliente terá a funcionalidade de invocar o Web Service responsável pela geração de relatórios. Este Web Service ao ser invocado fará uma chamada remota ao Servidor DataSnap que terá a responsabilidade de gerar o relatório, salvá-lo no formato pdf ou qualquer outro formato que seja transparente as aplicações clientes como XML, JSON e tantos outros. Ficando por conta de cada uma das aplicações cliente apenas criar o mecanismo de mostrar este relatório dentro da aplicação de acordo com o formato de relatório escolhido.

Arquitetura da aplicação
Figura 1. Arquitetura da aplicação

Organizando o projeto

Após conhecermos a arquitetura da aplicação que é justamente utilizar Web Services para disponibilizar relatórios, em soluções multicamadas, desenvolvidas sobre o Framework DataSnap do Delphi XE, a múltiplos clientes, de tecnologias heterogêneas Web e Desktop, tais como VCL Forms, PHP e .NET, vamos organizar a estrutura de pastas do projeto a ser dese ...

Quer ler esse conteúdo completo? Tenha acesso completo