microsiga advpl programacao advpl para web

Download Microsiga Advpl Programacao Advpl Para WEB

If you can't read please download the document

Post on 12-Jun-2015

1.039 views

Category:

Documents

60 download

Embed Size (px)

TRANSCRIPT

Programao Advpl para WEBReviso: 27/04/2004 Abrangncia Verso 7.10 Verso 8.11

Este tpico engloba todo o conhecimento e informaes necessrias para usufruirmos da tecnologia implementada na ferramenta Protheus e de sua Infra-Estrutura, para o desenvolvimento de aplicaes orientadas Internet. O objetivo desta seo centralizar as informaes pertinentes ao desenvolvimento de projetos WEB, em uma ferramenta que permita o acesso e atualizaes destes dados de maneira rpida e dinmica, alm de mostrar uma boa parte do que possvel fazer utilizando-se dos recursos disponveis na ferramenta Protheus. Para que seja possvel compreender as funcionalidades e tecnologias envolvidas no processo de desenvolvimento de uma aplicao WEB, utilizando-se da ferramenta Protheus, de fundamental importncia que os tpicos deste grupo sejam lidos e assimilados, pois nos mesmos encontram-se as informaes que servem de base para a compreenso e consequente melhor aproveitamento dos recursos disponveis. Para se ter uma idia superficial do poder do Protheus como servidor http, esta aplicao ( DEM - Documentao Eletrnica Microsiga ) foi escrita em Advpl-ASP, utilizando uma compilao do Server Protheus ISAPI , integrado com o IIS 5, utilizando um Banco de Dados SQL Server 2000 atravs do TopConnect 4, utilizando se de Working Threads Extended (WEBEX) e das funes de Infra-Estrutura da lib APWEBEX.

01. O Servidor Protheus como um servidor HTTPReviso: 27/04/2004 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10

O Servidor Protheus como um servidor HTTPO servidor Protheus pode ser configurado para trabalhar como um servidor WEB. Isso significa trabalhar como um servidor de requisies dos protocolos HTTP e/ou FTP, do mesmo modo que outros servidores conhecidos no mercado (por exemplo, o IIS Internet Information Server, da Microsoft (R) ou o Apache para Linux). Assim, basta ter o Protheus para poder criar sua prpria Intranet num ambiente de rede local, ou publicar o endereo IP da mquina com o servidor Protheus na Internet e executar funes atravs de RPC ou simplesmente criar o seu prprio Web Site com pginas HTML estticas ou dinmicas.

Servio de HTTPO protocolo HTTP (Hyper Text Transfer Protocol) o protocolo utilizado na comunicao entre um servidor e um Web Browser. o protocolo utilizado para o envio e recebimento de pginas formatadas em padres SGML (HTML,XML, etc). Este protocolo se baseia principalmente em dois comandos: GET e POST. O comando GET utilizado para obter alguma informao do servidor HTTP e o POST para postar informaes para o servidor. Mas adiante, ser mais fcil compreender onde tais comandos so utilizados no servidor Protheus. Utilizando o servidor Protheus como um servidor HTTP, o mesmo poder ser acessado atravs de um Web Browser como o Internet Explorer por exemplo, que receber as pginas HTML enviadas de um diretrio configurado no servidor. Adicionalmente ao envio e recebimento de pginas estticas formatadas, pode-se utilizar a linguagem Advpl do Protheus para processar pginas mistas, que contm cdigo Advpl e comandos HTML de formatao. Tais pginas sero processadas no servidor Protheus, e ento enviadar para o Web Browser, que ir format-las de acordo com os comandos HTML contidos. Tambm possvel executar diretamente funes compiladas no repositrio do Protheus, atravs de um request HTTP (por exemplo, atravs de um POST em um formulrio em HTML, ou de um link, ou mesmo diretamente na linha de

URL do Web Browser. O mesmo vale para qualquer outra aplicao que seja capaz de efetuar comandos GET ou POST utilizando o protocolo HTTP).

Pginas Dinmicas e Advpl ASPQuando utilizado o servidor Protheus para desenvolvimento de aplicaes Web, possvel lanar mo do recurso de criao de pginas dinmicas, isto , uma requisio HTTP realizada o Server Protheus, devidamente configurado para atendla, dispara o processamento de uma funo no Servidor, e esta funo encarrega-se de devolver o usurio uma pgina HTML com o resultado do processamento. Para viabilizar o desenvolvimento deste tipo de funo, foi criado um tipo de arquivo especial no Protheus IDE, com a extenso .APH, onde inserido um contedo Html a ser enviado ao Web Browser, e instrues Advpl que sero processadas no momento em que a pgina for solicitada ao servidor Protheus, sendo possvel de forma prtica 'mesclar' um contedo gerado por este processamento uma pgina Html para ser retornado o Web Browser. Nos tpicos abaixo relacionados, ser visto em mais detalhes as configuraes necessrias para atender estas requisies, as caractersticas particulares de cada uma delas, e as funes de infra-estrutura criadas para auxiliar o desenvolvimento de aplicaes Web. Alm da criao de arquivos, foi disponibilizado no repositrio padro do Protheus as funes de infra-estrutura ApWebEx, desenvolvidas para permitir um melhor aproveitamento dos recursos disponibilizados pela ferramenta Protheus para o desenvolvimento de solues Web. Estas funcionalidades so exploradas no tpico Infra-Estrutura ApWebEx.

02. Executando funes Advpl via HTTPReviso: 28/04/2004 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verso 8.11

Princpio de Funcionamento do HTTPA utilizao do protocolo HTTP no envolve o uso de uma conexo persistente entre o Web Browser e o Servidor HTTP : Isto significa que, ao ser solicitada uma pgina, imagem ou at o processamento de uma funo, o Web Browser abre uma conexo com o Server HTTP, realiza a solicitao e fica com a conexo aberta, aguardando pelo retorno do Server. Quando o server j houver enviado os dados solicitados, a conexo fechada .

Processamento de Funes

Para o retorno de pginas estticas, imagens e demais arquivos via HTTP, o servidor identifica o que est sendo solicitado pelo Web Browser atravs da extenso do Link. Por exemplo, ao receber uma soilicitao da URL http://oservidor/htmls/imagem.gif, o Server HTTP sabe que deve procurar um arquivo chamado imagem.gif, dentro da pasta htmls a partir da pasta local no servidor configurada para armazenar os arquivos para o acesso HTTP. No servidor Protheus, foram implementadas duas extenses de Link para permitir a execuo de funes Advpl atravs de uma requisio HTTP : A extenso .APL e a extrenso .APW . Quando o servidor recebe uma requisio via HTTP, por exemplo da url http://oservidor/time.apl, e est corretamente configurado para atender esta requisio, o Protheus Server realiza o processamento, e informa para o Web Browser solicitante que a string que ser retornada deve ser interpretada pelo Web Browser como sendo um Script HTML .

Caractersticas comuns do processamento de funes Advpl via HTTPIndependente da extenso de link utilizada, existem caractersticas e pr-requisitos comuns ao funcionamento de ambas as requisies, que seguem abaixo : A funo, seja Advpl ou uma funo compilada no Repositrio, deve obrigatoriamente ter um retorno do tipo String, pois o Web Browser solicitante ser informado pelo Server Protheus que a string retornada dever ser interpretada e mostrada pelo Browser como um HTML. Devido origem da requisio no ter relao alguma com a interface Remote do Protheus, no possvel utilizar determinadas funes Advpl que foram escritas exclusivamente para esta interface, como por exemplo as funes MsgStop, Alert, e demais funes e objetos de Interface de Janelas. O que ir diferenciar uma funo executada via link .apl e .apw ser as etapas de execuo das mesmas. Esta caracterstica de funcionamento ser melhor esclarecida aps a leitura dos tpicos sobre desenvolvimento de funes .apl e desenvolvimento de funes .apw

03. Pginas dinmicas - O Advpl ASPReviso: 26/04/2004 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verso 8.11

Uma pgina ASP (Active Server Pages) uma pgina HTML contendo cdigo interpretvel em uma linguagem compreensvel ao servidor HTTP em uso. Por exemplo, o IIS da Microsoft utiliza o VBScript para criar suas pginas ASP, do mesmo

modo que o Protheus utiliza o ADVPL. Uma pgina ASP uma combinao de script HTML e cdigo interpretvel. No ADVPL ASP esse cdigo padro xBase, portanto a preocupao maior daqueles que j conhecem e trabalham com o Protheus e desejam desenvolver pginas ativas para aplicaes Web utilizando essa facilidade conhecer HTML.

Caractersticas do ADVPL ASP - Arquivos .APHOs arquivos ADVPL ASP tm a extenso padro .APH. So arquivos texto e devem ser adicionados a um projeto no Protheus IDE e compilados da mesma maneira que os programas tradicionais. A diferena que o Protheus Server identificar que se trata de um ADVPL ASP e executar uma espcie de tradutor (parser) antes que a compilao seja executada. Este parser ir transformar todo o arquivo em uma funo nica, que receber os mesmos parmetros das funes APL simples, como explicado anteriormente no Item 'Desenvolvendo Funes .APL', e retornar uma string. O desenvolvedor no precisa se preocupar em retornar HMTL algum, pois o APH tambm um arquivo HTML. A funo que foi gerada na compilao ir se encarregar de retornar o HTML contigo no arquivo, depois que o cdigo foi processado. Um Arquivo APH gera no repositrio de Objetos do Protheus uma funo com o mesmo nome do arquivo , porm prefixada com H_ + nome_do_arquivo_aph Por se tornar uma funo no momento da compilao, no possvel utilizar a clusula FUNCTION para criar outras funes dentro de um arquivo APH. Caso exista essa necessidade, tais funes devem ser criadas em um arquivo PRW tradicional e chamadas de dentro do APH. A extenso APH para o nome dos arquivos obrigatria. Qualquer outra extenso usada no nome do arquivo no ser reconhecida e o parser do IDE no ser executado durante a compilao. Foi criada tambm a extenso de arquivos .AHU ( Aph de Usurio ), que possui o mesmo tratamento de Parser do aruqivo APH , gerando uma funo prefixada com L_ . A diferena que a funo gerada pelo AHU pode ser gerada sem a necessiade de autorizao de compilao com permisso para substituir fontes microsiga , por tratar-se de um Aph de Usurio, qeuivalente uma User Function . Assim como