Por que eu devo ler este artigo: Artigo do tipo Tutorial
Recursos especiais neste artigo: Contém nota Quickupdate, Artigo no estilo Curso Online.

RIA com Delphi - Parte 3
De fato, a Internet se tornou algo indispensável no cotidiano de muitas pessoas e organizações. Está presente nos computadores, dispositivos móveis, televisores, videogames, e assim por diante. É evidente que ela é um ambiente que oferece grandes possibilidades e, consequentemente, uma plataforma que vale a pena investir quando o assunto é desenvolvimento de aplicações. Afinal, o desenvolvedor elabora o Software apenas uma vez e, implementando todas as padronizações que existem neste ambiente e os recursos de uma arquitetura multicamadas, consegue que o mesmo seja acessado e consumido por qualquer dispositivo que possua um navegador e esteja conectado à rede, além de não existir a necessidade de percorrer máquina por máquina para possibilitar que as mesmas executem a aplicação (diferente da forma que ocorre com os tradicionais Softwares Desktop destinados a outros ambientes), onde cada dispositivo precisa receber configurações e instalações extras de acordo com as necessidades do projeto. Como já mencionado anteriormente, o desenvolvedor habituado com o Delphi que deseja aderir ao desenvolvimento para Web, não necessita sequer migrar de ferramenta ou ter grande domínio sobre as linguagens envolvidas, HTML e JavaScript, bastando apenas efetuar a instalação de alguns excelentes frameworks da atualidade para esta tarefa, como é o caso do uniGUI e do Raudus. Neste artigo é apresentada uma visão geral sobre a tecnologia ISAPI, bem como uma abordagem sobre a instalação e configuração do servidor Web Apache, para posteriormente demonstrar um exemplo de aplicação RIA com o uniGUI baseada em ISAPI para ser executada através deste servidor, facilitando o processo de disponibilização da aplicação através da Internet. Também é apresentada uma visão geral sobre o framework Raudus, demonstrando como elaborar uma aplicação integrada a um banco de dados para o ambiente da Internet, empregando recursos que vão um pouco mais além, tais como o download de determinadas informações e a impressão de relatórios, abrindo as possibilidades para que o desenvolvedor crie uma aplicação RIA com foco comercial.


Em que situação o tema é útil

Possibilitar o desenvolvimento de aplicações ricas para a Internet e Intranet de uma forma simples e rápida através dos frameworks uniGUI e Raudus, usufruindo dos recursos que compõem o Delphi para esta tarefa e obtendo, desta forma, um Software compatível com os principais servidores Web da atualidade, através da criação de um módulo, facilitando o acesso, a manutenção, a migração, dentre outros recursos para a aplicação.

Nos artigos anteriores sobre RIA (Rich Internet Application – Aplicações Ricas para a Internet), foram apresentadas algumas das diversas tecnologias empregadas para o desenvolvimento de Softwares interativos cuja plataforma alvo é a Web, tais como as linguagens JavaScript e HTML, os pilares para este tipo de aplicação. Também foram demonstrados alguns dos principais recursos do framework uniGUI, uma importante ferramenta para a elaboração de aplicações RIA através do Delphi, composto por um conjunto de componentes visuais e não visuais que aumentam consideravelmente a produtividade. Lembrando que o mesmo é gratuito, de fácil instalação e que seu motor Web é baseado no sólido e popular framework JavaScript, ExtJS, onde o ExtPascal é utilizado para unir ambas as tecnologias, como forma de um gateway entre o Delphi e o ExtJS, além do uniGUI gerar automaticamente toda a codificação front-end da aplicação RIA. Vale à pena evidenciar também que no artigo anterior foi apresentado um Software baseado neste framework que emprega os recursos da Google Maps API, possibilitando a exibição e manipulação de mapas na própria aplicação RIA, o que demonstra a flexibilidade do uniGUI, uma vez que além de gerar a codificação HTML e JavaScript, ele ainda permite a adição e integração de códigos desenvolvidos manualmente ou importados de terceiros, de uma forma rápida e simplificada através das propriedades de seus componentes, sendo esta uma funcionalidade extremamente importante, pois, demonstra que não são impostos limites ao desenvolvimento dos projetos. Contudo, até este momento, foram apresentados apenas exemplos de aplicações autônomas (standalone), que possuem algumas características próprias, tal como o fato de serem compostas pelo servidor Web e aplicação RIA em um único executável. Vale lembrar que dependendo do caso este é um fator que pode não ser o mais indicado para este tipo de aplicação, visto que no ambiente de Internet é possível notar que existe uma grande popularidade de servidores para a hospedagem de sites e aplicações Web que, contam com recursos mais avançados e diversas vantagens com relação a uma aplicação autônoma, uma vez que eles são direcionados para esta tarefa. Algumas das vantagens que podemos citar é a adição de módulos, segurança, personalizações, entre outros, como é o caso do Apache, que é gratuito, do IIS (Internet Information Services) que pertence a Microsoft, dentre outros. Sendo assim, a elaboração de aplicações que são compatíveis com estes Softwares servidores acaba se tornando a forma mais indicada para o desenvolvimento dentro deste contexto.

Como mencionado anteriormente, além de permitir a criação de uma aplicação RIA e Desktop autônoma, o uniGUI também permite a elaboração de módulos ISAPI (Internet Server Application Programming Interface). Em suma, um módulo ISAPI pode ser definido como um Software que é carregado e disponibilizado por um servidor HTTP. No caso do uniGUI, vale à pena lembrar que ele necessita das bibliotecas do ExtJS, que são adicionadas automaticamente no diretório do framework durante a instalação do mesmo.

Diante destes fatores, o desenvolvedor pode contar com várias alternativas para implementar aquela que mais se adéqua a sua necessidade, sendo este um diferencial muito importante do uniGUI, assim como do Raudus. Este último é um excelente grupo de ferramentas que também permite usufruir de todas as vantagens do ambiente RAD do Delphi para esta finalidade, gerando um servidor de aplicação autônomo ou um módulo para o servidor Apache, onde a aplicação cliente pode executar facilmente em vários navegadores presentes nos computadores (Cross browser) sem adição de quaisquer plug-ins, contando com funcionalidades e temas visuais que permitem uma aparência mais amigável quando a mesma for utilizada em plataformas móveis, através de um dispositivo baseado no Sistema Operacional Android ou iOS, por exemplo. Este framework também está disponível para o Lazarus.

ISAPI

O ISAPI é um recurso presente no ambiente Windows que possibilita o carregamento de funcionalidades adicionais como uma extensão, que pode ser uma aplicação RIA, ou um filtro para um servidor Web, permitindo assim aumentar ou aperfeiçoar as funcionalidades do mesmo. Para usufruir desta tecnologia, pode-se criar um módulo através de uma ferramenta de desenvolvimento, como é o caso do Delphi e utilizá-lo em conjunto com um servidor HTTP que ofereça suporte a este recurso, como é caso do Apache, do IIS, dentre outros. Um módulo ISAPI, como mencionado anteriormente, é na verdade uma biblioteca que contém determinado Software, neste contexto a aplicação Web RIA ou a maior parte dela. Em outras palavras, é um arquivo do tipo DLL (Dynamic Link Library), que por sua vez é carregado em um determinado processo gerenciado pelo servidor Web.

O acesso da aplicação RIA baseada em ISAPI por um cliente (navegador web) também é realizado através de uma URL, tal como o endereço de exemplo:

“https://localhost/Projeto/Aplicacao.dll/”

Onde simplesmente é informado o caminho para o módulo (arquivo DLL) que pode ou não conter parâmetros.

Vale à pena mencionar que aplicações baseadas em módulos ISAPI também podem acessar informações em bancos de dados normalmente, assim como ocorre com outros Softwares, evidentemente mediante a implementação dos recursos necessários.

Preparando o Apache para a aplicação RIA uniGUI

O Apache é um servidor HTTP multiplataforma gratuito, amplamente utilizado na Internet para a hospedagem dos sites e aplicações, que pode ser facilmente obtido através da página da Apache Software Foundation (ver seção links). Dentre as características do projeto, estão a segurança, o desempenho, a eficiência e a flexibilidade, fatores de extrema importância para um servidor Web. Um ponto importante sobre o Apache é com relação ao seu funcionamento baseado em módulos, onde é possível definir o que será ou não carregado pelo servidor, bem como adicionar funcionalidades e estender seus recursos de uma forma simples e rápida, como é o caso de empregar suporte à linguagem de programação server side PHP (PHP: Hypertext Preprocessor).

Uma vez que o Apache tenha sido obtido, basta efetuar sua instalação seguindo o processo padrão ”Next-Next-Finish”. Durante este momento são solicitadas algumas informações, tais como domínio, e-mail, entre outras, porém, são dados que podem ser facilmente alterados posteriormente. Concluída a instalação, é criado um novo processo, responsável pelo servidor Apache, o httpd.exe, que pode ser facilmente monitorado ou parado pelo gerenciador de tarefas do Windows (CTRL + ALT + DEL), assim como seu serviço pode ser facilmente iniciado através de “Painel de Controle>Ferramentas Administrativas>Serviços” ou dos atalhos que constituem o grupo de programas Apache, presente no Menu Iniciar.

O próximo passo para dar continuidade ao projeto é efetuar a configuração do servidor HTTP. No Apache, a configuração é realizada através da edição de um arquivo baseado em texto, denominado httpd.conf, presente no diretório “C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf”, que também pode ser facilmente acessado através do Menu Iniciar. É importante frisar que todas as vezes que este arquivo for editado, para que as alterações possam surtir efeito, o serviço do apache deve ser reiniciado para que as configurações sejam devidamente carregadas. Com o arquivo httpd.conf aberto, deve-se primeiramente definir o diretório onde se encontram os projetos, em outras palavras, as páginas de Internet ou as aplicações Web para que as mesmas possam ser disponibilizadas pelo servidor. Sendo assim, basta procurar pela linha iniciada com “DocumentRoot” e atribuir o endereço desejado, tal como o trecho a seguir.

...

Quer ler esse conteúdo completo? Tenha acesso completo