Integração Web em Aplicativos FiveWin Por Vailton Renato

Preview:

Citation preview

Integração Web em Aplicativos FiveWinPor Vailton Renato

Quando se fala em “integração” WEB em aplicativos FW o que lhe veem à cabeça?

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

• Será que é apenas LER dados de uma HTML com FW?

• Seria talvez fornecer dados que estão em FW para uma página web?

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

Na realidade vamos analisar um poucomais sobre isto... Iremos falar sobre:

• Obter dados externos com FWH

• Fornecer dados ao mundo

• Ferramentas de integração disponíveis

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

1º Exemplo: Preciso ler dados que estãoem uma página web – mas como fazer?

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

1º Exemplo: Preciso ler dados que estãoem uma página web – mas como fazer?

• Não se desespere!

• O que você precisa saber sobre HTML: ele é apenas TEXTO.

• Se é texto, pode ser manipulado como qqer TEXTO pois é oq ele é!Veja ex1 e ex2 e depois considere no prox. slide

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

Resumo breve: trabalhar com dados naInternet é trabalhar com TEXTO!

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

Resumo breve: trabalhar com dados naInternet é trabalhar com TEXTO!• Se o resultado é texto, pode ser manipulado como qqer TEXTO usando AT(), SUBSTR(), RAT(), LEFT(), RIGHT(), etc...

• Se operar sobre o resultado é fácil, qual é entao o problema de se trabalhar com web muitas vezes?

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

Qual é o grande segredo (e muitas vezes)a grande barreira enfrentada ao se puxarInformações da internet ?• Resposta: A conexão com o servidor onde está a informação!

• É necessário levar-se em conta se é HTTP, HTTPS, FTP, SSH, SOAP, REST, etc...

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

Quais opções temos para se puxar dadosde uma determinada página?

•Opção 1 de 3 - WinSock nativa do Windows, disponibilizada no FW. Muita coisa tem que ser manual e aparentemente ela não suporta SSL (protocolo de segurança).

•Exemplo webclien.prg na pasta samples

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

Quais opções temos para se puxar dadosde uma determinada página?

• Opção 2 de 3 - HBTIP É nativa do compilador e é multi-plataforma baseada na WinSock. Mesmo código roda em Windows, Linux, MAC OS, FreeBSD, etc. Já possui muita coisa pronta.

Ela acessa HTTP, FTP, MAIL, etc... Na nova implementação tb suporte SSL

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

Quais opções temos para se puxar dadosde uma determinada página?

•Opção 3 de 3 – Acesso via COM. Alguns protocolos podem ser acessado por ferramentas de terceiros que oferecem suporte à varios protocolos.

Como Exemplo disto temos a dica do Dorneles sobre ”Cotações: Dolar, euro” postada em 16/11/09 conforme exemplo do Manuel Mercado sobre como pegar informação em um site.

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

•Opção 3 de 3 – Acesso via COM.Outro exemplo no caso via SOAP é o exemplo do Pocket Soap no Fórum do PC Toledo! Agora que a Microsoft abandonou o MSSOAP, o melhor é usar PocketSoap, este é um exemplo que roda perfeitamente:

local oEnvelope := Win_OleCreateObject( "PocketSOAP.Envelope.2" )local oHttp := Win_OleCreateObject( "PocketSOAP.HTTPTransport.2" )

oEnvelope:EncodingStyle = ""oEnvelope:SetMethod( "InvertStringCase", "http://www.dataaccess.com/webservicesserver/" )oEnvelope:Parameters:Create( "sAString", "THIS IS LOWER - this is upper" )

oHttp:Send( "http://www.dataaccess.com/webservicesserver/textcasing.wso?WSDL", oEnvelope:Serialize() )

oEnvelope:Parse( oHttp )

MsgInfo( oEnvelope:Parameters:Item( 0 ):Value )

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

FWH Lendo dados Web?

• Sim e muito bem! Certamente podemos contar com isto para puxar dados de vários locais.

• Qual o próximo desafio? Se podemos ler os dados, o que fica faltando então?

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

A próxima etapa é fornecer dados para WEB usando aplicativos FWH.

Mas como fazer????

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

FWH fornecendo dados para WEB

Temos várias opções dentre elas são:

• Funções e Classes Nativas do FWH Características: single-thread, single process.

• Nativas do Harbour Características: Multi-thread, multi-process.

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

FWH fornecendo dados para WEB

Funções e Classes Nativas do FWH Exemplo do WebServer

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

Como fornecer dados para WEB(não necessariamente com FW)

Nativas do Harbour Características: Multi-thread, multi-process.

Exemplo Flexlista – xml – Adobe Flash – PHP

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

Informação adicional: fornecendo dadosà web com CGI

Suporte à CGI-BIN Exemplos: BOL, Itau, Registro WebNet

Podemos criar um CGI-BIN com .BAT, Clipper e Harbour!

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

Fornecendo dados à web com CGI

Existem várias LIBs que ajudam-nos à criar aplicativos CGI. Dentras as opções brasileiras podemos citar:

•WebWap Link: http://www.vagucs.com.br/webwap.php

•wxWeb Link: http://code.google.com/p/wxweb/

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

Como fornecer dados para WEB

Nativas do Harbour Características: Multi-thread, multi-process.

Exemplo Flexlista – xml – Adobe Flash – PHP

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

O que é a wxWeb?

É um conjunto de funções e classes que visam auxiliar o desenvolvimento de aplicativos voltados para internet.

É inspirada no PHP e busca facilitar o máximo a vida do programador.

É de código aberto e você pode usar sem custo algum tanto para projetos comerciais ou não.

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com

Dúvidas?

Integração Web em Aplicativos FiveWin