7
UNIVERSIDADE ESTADUAL DO PIAUÍ - UESPI CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CCET COORDENAÇÃO DE CIÊNCIAS DA COMPUTAÇÃO CURSO SEQUÊNCIAL EM REDES DE COMPUTADORES DISCIPLINA: PROGRAMAÇÃO III PROFESSOR: SÉRGIO BARROS DE SOUSA APLICAÇÕES PARA WEB COM DELPHI Delphi x web Com a chegada do servidores WEB ao mundo Windows, alguns fabricantes, como Netscape e Microsoft, resolveram criar API's proprietárias de acesso ao serviço WEB, se utilizando de recursos existentes no Windows para contornarem o principal problema do CGI, que é justamente a natureza de todo programa executável. Um EXE tem que ser carregado na memória, executado em seu próprio espaço de endereçamento e, finalmente encerrado e retirado da memória, isto tudo para cada requisição cliente. Através destas API's o servidor WEB pôde, então, tirar proveito do mecanismo de DLL's do Windows para carregar o ISAPI ou o NSAPI apenas uma vez, no seu próprio espaço de endereçamento. Dessa maneira cada requisição passou a gerar apenas uma nova "thread" ao invés de um processo inteiro. As vantagens desta abordagem sobre o CGI é que os aplicativos se tornam mais rápidos, principalmente no seu tempo de carga, porém passam a depender de um único tipo de servidor WEB - Isso antes do Delphi 3, pois agora o mesmo aplicativo pode, facilmente, se transformar de CGI para ISAPI/NSAPI e vice-versa. Existe um problema com os aplicativos ISAPI ou NSAPI. Como eles rodam no mesmo espaço de endereçamento do servidor WEB, os mesmos só poderão ser substituídos ou apagados quando

Aula Delphi Web

Embed Size (px)

Citation preview

Page 1: Aula Delphi Web

UNIVERSIDADE ESTADUAL DO PIAUÍ - UESPICENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CCETCOORDENAÇÃO DE CIÊNCIAS DA COMPUTAÇÃOCURSO SEQUÊNCIAL EM REDES DE COMPUTADORESDISCIPLINA: PROGRAMAÇÃO IIIPROFESSOR: SÉRGIO BARROS DE SOUSA

APLICAÇÕES PARA WEB COM DELPHI

Delphi x web

Com a chegada do servidores WEB ao mundo Windows, alguns fabricantes, como Netscape e Microsoft, resolveram criar API's proprietárias de acesso ao serviço WEB, se utilizando de recursos existentes no Windows para contornarem o principal problema do CGI, que é justamente a natureza de todo programa executável. Um EXE tem que ser carregado na memória, executado em seu próprio espaço de endereçamento e, finalmente encerrado e retirado da memória, isto tudo para cada requisição cliente.

Através destas API's o servidor WEB pôde, então, tirar proveito do mecanismo de DLL's do Windows para carregar o ISAPI ou o NSAPI apenas uma vez, no seu próprio espaço de endereçamento. Dessa maneira cada requisição passou a gerar apenas uma nova "thread" ao invés de um processo inteiro.

As vantagens desta abordagem sobre o CGI é que os aplicativos se tornam mais rápidos, principalmente no seu tempo de carga, porém passam a depender de um único tipo de servidor WEB - Isso antes do Delphi 3, pois agora o mesmo aplicativo pode, facilmente, se transformar de CGI para ISAPI/NSAPI e vice-versa.

Existe um problema com os aplicativos ISAPI ou NSAPI. Como eles rodam no mesmo espaço de endereçamento do servidor WEB, os mesmos só poderão ser substituídos ou apagados quando o serviço www, ou até mesmo o servidor, estiver fora do ar. Desligar e ligar um servidor WEB não é nada difícil, más se for de produção pode ocasionar problemas.

Para inciar uma aplicação em delphi para web clique em FILE -> NEW -> OTHER

Page 2: Aula Delphi Web

Na guia new inclua um objeto do tipo Web Server Application

Selecione a opção ISAPI/NSAPI Dynamic Link Library

Page 3: Aula Delphi Web

Será aberto um objeto do tipo Web Module instanciado pelo sistema, deve ser observado que não é gerado um source como um aplicativo e sim um projeto de biblioteca já que este é um sistema baseado em dll’s

Selecione o Web module e na guia properties do Object Inspector clique na opção Actions

Page 4: Aula Delphi Web

Será aberto um editor de actions e nesse editor será adicionado uma nova action a partir da opção.

Ao ser adicionada uma nova action, clique na guia events do object inspector e selecione o evento OnAction,

Será criada uma procedure no editor de código referente a ação adicionada, a resposta dessa ação será o conteúdo do arquivo gerado e apr5esentada na tela do browser, permitido a partir da linha de comando que deve ser adicionada

Begin Response.content := ‘Frase apresentada no browser padrão’;end;

para criação do arquivo de saída, esta deve ser adirecionada a partir da opção Project -> Options

Page 5: Aula Delphi Web

Na caixa Project Options selecione a guia Directories/conditionals e na caixa Output directory insira o caminho do diretório c:\web (Este diretório deve ser criado antes do início do projeto e os arquivos do sistema não são obrigatoriamente salvos nesta pasta, mas deve se ter em mente que deve ser criado um diretório virtual no servidor web direcionado para a pasta c:\web a qual será referenciado pelo endereço no browser – nota de aula).

Page 6: Aula Delphi Web

Os arquivos dll criados podem ser chamados a partir de uma tag <a> em um arquivo html ou então pelo próprio nome, lembrando que dll´s são permitidas a partir de servidores em plataformas windows

Sérgio Barros de Sousa