[firebase-br] Duvida

Phelen Harg phelen em gmail.com
Sex Mar 26 15:32:00 -03 2010


Nesse caso seria melhor que as regras de negocio ficassem no código
fonte. PK e FK poderiam ficar a nivel de banco pois são mais fáceis e
rápidas para replicar entre os bancos.

Em 26 de março de 2010 15:21, Daniel Buona
<danielbuona em aflsistemas.com.br> escreveu:
> E ai Cantu, blz?
>
> Então cara, assim velho, com certeza não usamos o BD apenas como repositório
> de dados.... usamos PK e FK dele tb!!! Rs
> Mas assim, o que é complicado em um sistema multi-banco em n-camadas é
> replicar a regra de negôcio para cada banco que o sistema irá suportar....
> imagine, meu sistema dá suporte a 3 bancos (SQLServer, Oracle e Firebird),
> eu tenho um SP monstruosa que gera alguma coisa.... ter que refazer nos 3
> banco.... manutenção nos 3 banco.... inviável...
>
> Daniel Buona
> AFL Sistemas
> fone/fax : (14) 3405-1199  - Pompéia / SP
> www.aflsistemas.com.br
> skype:danielbuona.afl
> P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO
> AMBIENTE
>
>
> -----Original Message-----
> From: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
> On Behalf Of Carlos H. Cantu
> Sent: quinta-feira, 25 de março de 2010 15:48
> To: FireBase
> Subject: Re: [firebase-br] Duvida
>
> O conceito de 3 camadas realmente transmite a idéia que o BD seja usado
> somente para repositório de dados, mas eu não concordo 100% com isso, ou
> então vamos voltar para a era dos "DBFs da vida".
>
> Eu suma, apesar de nunca pessoalmente ter desenvolvido nada em 3 camadas,
> acredito que mesmo neste modelo, ainda há espaço para ter algumas coisas
> implementadas em triggers, procedures e regras de integridade. Entra aí a
> perspicácia do desenvolvedor de saber o que deve ser feito no servidor de
> aplicação, e o que pode ser mantido no BD.
>
> []s
> Carlos H. Cantu
> www.FireBase.com.br - www.firebirdnews.org www.warmboot.com.br -
> blog.firebase.com.br
>
> DB> Olá, boa tarde!
>
> DB> Bom, vou explicar um modelo em 3 camadas que implementamos recentemente.
>
> DB> Basicamente um sistema em 3 camadas tem:
> DB> - Camada Client : Interface e interação com o usuário
> DB> - Camada de Negôcio (Server)- É a aplicação que provem toda a regra
> DB> do sistema, desde um simples calculo de desconto até uma geração
> DB> completa da NF-e por exemplo.
> DB> - Banco de dados - Nesse modelo N camadas, a BD serve apenas para
> DB> gravar informações. Não existe operações no banco como trigger, SP, SF,
> nada.
>
> DB> Aqui na empresa temos dois ERP, um para pequenas e médias empresa
> DB> (Firebird) e outro para grandes empresa (Oracle). O fato de ter 2
> DB> sistema é uma politica antiga que foi implementada, mas enfim.
> DB> Com a necessidade da NF-e, precisamos criar os processos para os 2
> ERP's....
> DB> mas fazer 2 vezes não rola, nossa solução foi:
> DB> - Criamos uma aplicação servidora que iria se conectar em QUALQUER
> DB> banco e utilizar algumas tabelas padrões para fazer todo o processo
> DB> da Nfe. E como é uma aplicação server também iria disponibilizar
> DB> métodos de consulta, cancelamento de NF, geração de PDF, etc.
> DB> - Criamos uma app Client para que o usuário pudesse visualizar as
> DB> Nfes, onde iria se conectar na app server e ter as opções
> disponibilizadas no server.
>
> DB> Então, tanto o ERP Firebird quanto o ERP Oracle utilizam a mesma
> DB> solução para emissão de NF-e, porque quem define para a app Client
> DB> qual banco está usando é a app Server. Inclusive tem clientes que
> DB> estão utilizando geo-distribuição (server está em SP, e tem o client
> DB> rodando em manaus)
>
> DB> Agora vou listar alguns problemas que tivemos:
> DB> Como utilizamos os drivers nativos do DBExpress, tivemos muita
> DB> incompatibilidade de campos ao acessar as base oracle ou firebird.
> DB> Tipo, se eu adicionasse um campo do tipo NUMERIC(6) do Oracle, a
> DB> Query retornava um tipo BCD, ao tentar usar a base Firebird com o
> DB> mesmo tipo de campo NUMBER(6), dava erro de esperando FMTBCD, ou
> DB> seja, não conseguimos com o driver nativo utilizar master-detail.
> DB> Fora isso, é show de bola!
>
> DB> Daniel Buona
> DB> AFL Sistemas
> DB> fone/fax : (14) 3405-1199  - Pompéia / SP www.aflsistemas.com.br
> DB> skype:danielbuona.afl
>
>
> ______________________________________________
> 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
>
>
> ______________________________________________
> 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