Integração Web em Aplicativos FiveWin Por Vailton Renato

Download Report

Transcript Integração Web em Aplicativos FiveWin Por Vailton Renato

Integração Web em Aplicativos FiveWin
Por Vailton Renato
Integração Web em Aplicativos FiveWin
Vailton Renato – [email protected]
Quando se fala em “integração” WEB em
aplicativos FW o que lhe veem à cabeça?
• 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 FiveWin
Vailton Renato – [email protected]
Na realidade vamos analisar um pouco
mais 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 FiveWin
Vailton Renato – [email protected]
1º Exemplo: Preciso ler dados que estão
em uma página web – mas como fazer?
Integração Web em Aplicativos FiveWin
Vailton Renato – [email protected]
1º Exemplo: Preciso ler dados que estão
em 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 FiveWin
Vailton Renato – [email protected]
Resumo breve: trabalhar com dados na
Internet é trabalhar com TEXTO!
Integração Web em Aplicativos FiveWin
Vailton Renato – [email protected]
Resumo breve: trabalhar com dados na
Internet é 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 FiveWin
Vailton Renato – [email protected]
Qual é o grande segredo (e muitas vezes)
a grande barreira enfrentada ao se puxar
Informaçõ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 FiveWin
Vailton Renato – [email protected]
Quais opções temos para se puxar dados
de 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 FiveWin
Vailton Renato – [email protected]
Quais opções temos para se puxar dados
de 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 FiveWin
Vailton Renato – [email protected]
Quais opções temos para se puxar dados
de 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 FiveWin
Vailton Renato – [email protected]
•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 FiveWin
Vailton Renato – [email protected]
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 FiveWin
Vailton Renato – [email protected]
A próxima etapa é fornecer dados para
WEB usando aplicativos FWH.
Mas como
fazer????
Integração Web em Aplicativos FiveWin
Vailton Renato – [email protected]
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 FiveWin
Vailton Renato – [email protected]
FWH fornecendo dados para WEB
Funções e Classes Nativas do FWH
Exemplo do WebServer
Integração Web em Aplicativos FiveWin
Vailton Renato – [email protected]
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 FiveWin
Vailton Renato – [email protected]
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 FiveWin
Vailton Renato – [email protected]
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 FiveWin
Vailton Renato – [email protected]
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 FiveWin
Vailton Renato – [email protected]
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 FiveWin
Vailton Renato – [email protected]
Integração Web em Aplicativos FiveWin
Vailton Renato – [email protected]
Integração Web em
Aplicativos FiveWin
Dúvidas?