[firebase-br] Duvida

Daniel Buona danielbuona em aflsistemas.com.br
Qui Mar 25 15:02:58 -03 2010


Olá, boa tarde!

Bom, vou explicar um modelo em 3 camadas que implementamos recentemente.

Basicamente um sistema em 3 camadas tem: 
- Camada Client : Interface e interação com o usuário
- Camada de Negôcio (Server)- É a aplicação que provem toda a regra do
sistema, desde um simples calculo de desconto até uma geração completa da
NF-e por exemplo.
- Banco de dados - Nesse modelo N camadas, a BD serve apenas para gravar
informações. Não existe operações no banco como trigger, SP, SF, nada.

Aqui na empresa temos dois ERP, um para pequenas e médias empresa (Firebird)
e outro para grandes empresa (Oracle). O fato de ter 2 sistema é uma
politica antiga que foi implementada, mas enfim.
Com a necessidade da NF-e, precisamos criar os processos para os 2 ERP's....
mas fazer 2 vezes não rola, nossa solução foi:
- Criamos uma aplicação servidora que iria se conectar em QUALQUER banco e
utilizar algumas tabelas padrões para fazer todo o processo da Nfe. E como é
uma aplicação server também iria disponibilizar métodos de consulta,
cancelamento de NF, geração de PDF, etc.
- Criamos uma app Client para que o usuário pudesse visualizar as Nfes, onde
iria se conectar na app server e ter as opções disponibilizadas no server.

Então, tanto o ERP Firebird quanto o ERP Oracle utilizam a mesma solução
para emissão de NF-e, porque quem define para a app Client qual banco está
usando é a app Server. Inclusive tem clientes que estão utilizando
geo-distribuição (server está em SP, e tem o client rodando em manaus)

Agora vou listar alguns problemas que tivemos:
Como utilizamos os drivers nativos do DBExpress, tivemos muita
incompatibilidade de campos ao acessar as base oracle ou firebird. Tipo, se
eu adicionasse um campo do tipo NUMERIC(6) do Oracle, a Query retornava um
tipo BCD, ao tentar usar a base Firebird com o mesmo tipo de campo
NUMBER(6), dava erro de esperando FMTBCD, ou seja, não conseguimos com o
driver nativo utilizar master-detail.
Fora isso, é show de bola!

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 Alysson Azevedo
Sent: quinta-feira, 25 de março de 2010 13:54
To: FireBase
Subject: Re: [firebase-br] Duvida

a definição vc acha a lot no google, mas algum bom exemplo de como
implementar isso até eu gostaria de ver...
pq até hj achei apenas exemplinhos de select * from table, applyupdates...
mas nada de exemplos com tabelas master x detail e outras coisas mais
avançadas...

algum dia q eu tiver tempo vou estudar isso a fundo e disponibilizo o
material na net...
----------------------------------------------

Alysson Gonçalves de Azevedo
(11) 8491-7730

(\(''^_^ )/)


Em 25 de março de 2010 13:16, Humberto Araujo
<humberto701 em gmail.com>escreveu:

> Como funciona o sistema em 3 camadas? o que seria isso?
> ______________________________________________
> 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