[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