[firebase-br] 3 camadas com firebird.

Sandro Souza escovadordebits em gmail.com
Ter Jul 29 19:08:45 -03 2014


Eu desenvolvi um framework, puramente em Delphi7, para criar sistemas 
webs, ou seja, é um servidor HTTP.

Eu me inspirei na filosofia de funcionamento do PHP, no sentido em que 
você cria DLLs (em Delphi7), e cada DLL gera uma página ou qualquer 
outro tipo de arquivo que você desejar.

Esse meu framework suporta N sistemas webs rodando ao mesmo tempo.

Cada sistema web tem a sua própria configuração (banco de dados, pasta 
de DLLs (que chamo de plugins), pasta de arquivos estáticos (imagens, 
css, js, etc...) e outros), feita via navegador (Firefox, Chrome, etc...).

Como no PHP e ASP, a url informa o plugin (dll) a ser utilizado, e o 
framework carrega o plugin informado, dinamicamente, já tendo a(s) 
conexão(ões) persistente(s) com o(s) SGBD(s) disponível(veis), e repassa 
todas as informações recebidas do navegador para o plugin.

O plugin conta com um componente meu que é um verdadeiro canivete suíço 
para a criação do arquivo a ser retornado, principalmente em 99% dos 
casos em que será retornado um arquivo HTML, XML, JS ou CSS.

Você apenas faz a programação nos eventos desse componente de geração de 
arquivo, e ao final do processamento, tudo será enviado ao navegador que 
fez a requisição/solicitação, como ocorre no PHP ou ASP, mas puramente 
em Delphi.

Inclusive, o framework permite que você configure que portas servidoras 
deseja abrir e em que interfaces de rede, ou seja, se sua máquina tiver 
mais de uma placa/adaptador de rede, você pode definir em quais dos 
endereços disponíveis (em quais placas) você deseja criar a porta 
servidora, como também o número da própria porta servidora, 
individualmente, ou seja, posso criar uma porta servidora diferente para 
cada placa de rede ou a mesma para todas como preferir.

O framework também mantém um log das exceções ocorridas, guardando a 
data/hora em que ocorreram, que plugin (dll) a gerou, que parâmetros o 
navegador enviou para o tal plugin, etc...

Fiz o meu próprio canivete suíço, e funciona até hoje. :D

Dessa forma, consigo trabalhar em multicamada, mas como se trata de 
sistemas webs, não importa que dispositivo e/ou sistema operacional o 
cliente esteja usando. Tem navegador web? Funciona. :D

On 29-07-2014 16:46, Joel do Prado Junior wrote:
> Alguém da lista desenvolve em 3 camadas com uma solução diferente do 
> DataSnap ?
> Minha intenção e colocar do lado cliente Lazarus( Win/Linux ), no meio 
> ???? ( Win/Linux ), servidor firebird ( Win/Linux ).
> ???? -> Ainda não encontrei uma alternativa.
> Att.
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista