uHTTP servidor HTTP

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

uHTTP servidor HTTP

Mensagem por Itamar M. Lins Jr. »

Ola!

Estou fazendo uns testes com esse simples programa, estou impressionado com algumas coisas.
Por exemplo eu estava procurando uma maneira simples de programar para WEB, e com isso me livrar do IOs, Androide, etc...
Criar uma aplicação para plataforma "DEDO NA TELA", parece que vai dar praia!
Alguém aqui no forum está usando algo similar para trocarmos figurinhas ?

Código: Selecionar todos

#include "rddleto.ch"

MEMVAR _SERVER, _REQUEST, _GET, _POST, _COOKIE, _SESSION, _HTTP_REQUEST, _HTTP_RESPONSE

REQUEST DBFNTX, DBFCDX, DBFFPT, DBFDBT, LETO
REQUEST HB_LANG_PT,HB_CODEPAGE_PTISO,HB_CODEPAGE_PT850

FUNCTION HRBMAIN(...)

   LOCAL cHtml := ""
   LOCAL cMesa := _Server["QUERY_STRING"]

   HB_CDPSELECT([PTISO])
   hb_langselect([PT])

   RDDSetDefault("LETO")
   cPath := "//localhost:2812/"
   //Set AutoPen On
   Set Deleted On
   if select("me") > 0
      FechaDb("me")
   endif

...<corte>

   cIndex := cPath+"mesas.cdx"
   DbUseArea(.t.,'LETO',cPath+"mesas.dbf","me",.T.,.F.,'PTISO')
   DBSETINDEX( cIndex )
  cHtml += '<html><head>'
  cHtml += '<title>Sistema XYZ Web MESAS</title></head>'
  cHtml += '<meta http-equiv = "Content-Type" content="text/html; charset=iso-8859-1">'
  cHtml += '<STYLE type=text/css>'

Return cHTML

PS. Conseguir rodar o LetoDb Junto. ;-)

Outra possibilidade é rodar via apache, a extensão .hrb usando hbrun, essa eu não sei se funciona.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

uHTTP servidor HTTP

Mensagem por MARCELOG »

Olá Itamar,
depois de sair do tradicional dbf, fui para o mysql e me familiarizei com o ambiente sql.
Ao verificar as restrições da licença do mysql, pulei para o postgresql com uma transição quase indolor.
Mas aí, achei complicado tratar a instalação e funcionamento do servidor postgresql através da minha aplicação e/ou ter que dar "manutenção" no mesmo.
Não se esqueça que tanto no caso do mysqk e/ou do postgresql o arquivo de instalação do mesmo tinha que ir junto com o da aplicação.
Dessa forma, conheci o sqlite que, na opinião de muitos, é um dbf melhorado.
Acreditei (e acredito) na sua robustez, mesmo porque é utilizado em produtos de empresas de renome.
Atualmente estou utilizando o hbnetio com o sqlite (e QT, mas poderia ser "dedo na tela") e tudo está funcionando na mais perfeita harmonia.
Estruturei a aplicação de modo que o servidor receba as requisições de ações ou consultas dos clientes com retorno dos resultados.
Assim, por exemplo, quando o computador cliente solicita uma inclusão de dados, envia os comandos para o servidor, que processa a requisição, retornando o resultado.
Da mesma forma, quando o computador cliente realiza uma consulta de dados, envia os comandos para o servidor, que processa a requisição, retornando o resultado.
O interessante é que tudo é transparente para o programador.
As funções que fazem a inclusão, alteração, exclusão e consulta de dados são criadas pelo próprio programador no servidor.
Então, quando solicito a inclusão e ela não é realizada, tenho controle do procedimento e posso tratar a exceção.
No caso de uma consulta, posso dividir o trabalho do processamento dos dados entre o servidor e cliente.
O servidor fornece dados brutos e o refino da informação é feita no cliente, evitando sobrecarga e grande trafego de informação pela rede.
Tudo, tudo, harbour...
Na mente, funciona mais ou menos assim:

Crio o programa servidor.exe
O programa tem uma função que verifica a data do servidor.

Código: Selecionar todos

function minhadata(cFormat)

if upper(cFormat) == 'DATETIME'
return hb_datetime()
endif

return date()
Agora crio o programa terminal.exe
O programa solicita a data do servidor.

cResposta:=netio_FuncExec( "minhadata", "datetime" )

Código: Selecionar todos

if empty(cResposta)
faiou...
endif
...

Espero ter contribuído.

MarceloG
Água mole em pedra dura tanto bate que até espirra!
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

uHTTP servidor HTTP

Mensagem por fladimir »

Itamar... com relação a este post vc conseguiu evoluir no sentido do comentário abaixo?
...maneira simples de programar para WEB, e com isso me livrar do IOs, Androide, etc...
Criar uma aplicação para plataforma "DEDO NA TELA"...
Poderia compartilhar como?

[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

uHTTP servidor HTTP

Mensagem por Itamar M. Lins Jr. »

Ola!
Tenho pronto um sistema para restaurantes.
Usando HTML5, Harbour como CGI e DBF, pode ser qualquer SGBD... teria que fazer modificações para MySQL por exemplo... Achei o DBF mais simples...

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

uHTTP servidor HTTP

Mensagem por fladimir »

Legal... parabéns!

Teria como demonstrar um pequeno exemplo desse modelo q vc tem rodando:
HTML5 + Harbour como CGI e DBF?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Responder