250 likes | 431 Views
Integração Web em Aplicativos FiveWin Por Vailton Renato. Integração Web em Aplicativos FiveWin Vailton Renato – vailtom@gmail.com. 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?
E N D
Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com 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 FiveWinVailton Renato – vailtom@gmail.com 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 FiveWinVailton Renato – vailtom@gmail.com 1º Exemplo: Preciso ler dados que estão em uma página web – mas como fazer?
Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com 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 FiveWinVailton Renato – vailtom@gmail.com Resumo breve: trabalhar com dados na Internet é trabalhar com TEXTO!
Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com 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 FiveWinVailton Renato – vailtom@gmail.com 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 FiveWinVailton Renato – vailtom@gmail.com 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 FiveWinVailton Renato – vailtom@gmail.com 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 FiveWinVailton Renato – vailtom@gmail.com 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 FiveWinVailton Renato – vailtom@gmail.com • Opção 3 de 3 – Acesso via COM.Outro exemplo no caso via SOAP é o exemplo do PocketSoap 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 FWHCaracterísticas: single-thread, singleprocess. • Nativas do HarbourCaracterí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 FWHExemplo do WebServer
Integração Web em Aplicativos FiveWinVailton Renato – vailtom@gmail.com Como fornecer dados para WEB(não necessariamente com FW) Nativas do HarbourCaracterí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-BINExemplos: 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 HarbourCaracterí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
Integração Web em Aplicativos FiveWin Dúvidas?