Fórum Meu programa é multi-banco, o seu também? Pesquisa. #292242
18/08/2005
0
Gostaria de saber se alguém já trabalhou com esse conceito e o que achou.
Para iniciar vou falar da minha experiência:
Este software podia ser configurado na tela de abertura, onde o usuário digitava sua senha e escolhia qual banco de dados queria trabalhar.
[color=red:0111ff60cd]Obs.: Somente os programadores tinham acesso a isso, pois no cliente configurávamos somente o banco de dados que o usuário tinha direito.[/color:0111ff60cd]
[b:0111ff60cd]O ponto positivo:[/b:0111ff60cd] Com certeza a possibilidade de você vender o sistema com banco de dados gratuito (Interbase) para clientes com pouca bala na agulha. Para clientes de médio porte (SQLServer) e para clientes com um grande poder de fogo (Oracle).
[b:0111ff60cd]Ponto negativo:[/b:0111ff60cd] quando você desenvolve alguma coisa que necessite de um comando especial em SQL por exemplo, é necessário testar em todos os bancos, ou seja, dá um pouquinho mais de trabalho você deixar o sistema 100¬ pq precisa ter um nível de atenção muito maior.
Bom, é isso...mandem ver.
Adriano Santos
Curtir tópico
+ 0Posts
19/08/2005
Lucianobarreto
Gostei + 0
19/08/2005
Idivaldo.mb
Ate mais
Gostei + 0
19/08/2005
Marcio.theis
Este programa usa ADO, usando a forma de configuração de acesso ao SGBD através de UDL(na minha opinião uma das melhores coisas que já surgiram). Bem... o que quero deixar como recado é que na minha visão vale a pena e muito em ter um programa multi-banco e multi-empresa, o que é mais valido antes é efetuar uma ótima análise do sistema, projeta-lo, construí-lo e depois partir para o desenvolvimento... se os pontos básicos iniciais não estiverem bem definidos... depois será muito difícil trabalhar com multi-banco ou multi-empresa.
Gostei + 0
19/08/2005
Motta
O ruim disto é que vc acaba por perder algumas facilidades que os sgbd´s tenham , pois senão vc teria que replicar uma trigger para varios bancos em varias liguagens diferentes.
Gostei + 0
19/08/2005
Adriano Santos
Motta, poderia detalhar um pouco mais pra gente?
Em um exemplo simples como você faria? Quais componentes usaria? É importante para termos mais parâmetros para análise.
Valeu
Gostei + 0
19/08/2005
José Henrique
O Datasus fornece um propgrama para gerenciamento de banco de sangue gratuitamente, mas o usuário, normalmente hospitais públicos, têm que ter uma licensa o SQL Server o que inviabiliza, muitas vezes a adoção do programa. O hospital em que eu trabalho trabalha com Oracle e caso queira o programa, que é muito bom, terá que adquirir 1 licensa do SQL somente para usar este programa.
Gostei + 0
19/08/2005
Adriano Santos
O Datasus fornece um propgrama para gerenciamento de banco de sangue gratuitamente, mas o usuário, normalmente hospitais públicos, têm que ter uma licensa o SQL Server o que inviabiliza, muitas vezes a adoção do programa. O hospital em que eu trabalho trabalha com Oracle e caso queira o programa, que é muito bom, terá que adquirir 1 licensa do SQL somente para usar este programa.[/quote:4d8ae14db2]
[b:4d8ae14db2]José Henrique[/b:4d8ae14db2], me desculpe mas não entendi sua resposta ao tópico que eu coloquei.
O que o Datasus e a aquisição do SQL tem a ver com este tópico?
Explique-se melhor meu caro.
Gostei + 0
19/08/2005
José Henrique
Se tivessem adotado o desenvolvimento que você propõe os usuários poderiam adotar o SGBD que quisessem. Lembrando que este programa foi feito atender a milhares de prefeituras (é de muito interesse do governo o bom gerenciamento da coleta e transfusão de sangue) com realidades diferentes (no nosso caso podemos pagar a licensa do Oracle, não faz sentido adquirir uma somente pra usar um determinado programa)
Gostei + 0
19/08/2005
Motta
Motta, poderia detalhar um pouco mais pra gente?
Em um exemplo simples como você faria? Quais componentes usaria? É importante para termos mais parâmetros para análise.
Valeu[/quote:5d6c800f60]
Nunca fiz isto, digo baseado em sistemas que vi e outras tecnologias :
Na camada de banco ficam todos os acessos e tratamentos relativos aos bancos (sintaxes etc)
Aqui também ficam as classes de acesso , as camadas de aplicação usam estas classes assim algo na aplicação ...
Cliente.Inserir(cod,nome,...);
Independe de banco , n camada de Acesso se faz os tratamentos necessários para acesso ao bd.
Limita-se também o padrão de criação de tabelas/colunas para que seja possível o uso em qualquer bd, não se usaria triggers/constraints etc pois a sintaxe varia e teria de ser ter redundancia de código em linguagens e ambientes diferentes, a integridade ficaria na aplicação (poderia até ficar no banco mas teria que se pesar o custo desta implementação)
Gostei + 0
19/08/2005
Adriano Santos
Se tivessem adotado o desenvolvimento que você propõe os usuários poderiam adotar o SGBD que quisessem. Lembrando que este programa foi feito atender a milhares de prefeituras (é de muito interesse do governo o bom gerenciamento da coleta e transfusão de sangue) com realidades diferentes (no nosso caso podemos pagar a licensa do Oracle, não faz sentido adquirir uma somente pra usar um determinado programa)[/quote:d5864c3338]
Ah, entendi agora José Henrique, me perdoe pq não tinha interpretado direito sua resposta.
De fato, em determinados casos desenvolver uma aplicação Multi-Banco não faz sentido. Eu trabalhei com um sistema de escola que os clientes não tinham condição financeira para migrar para um banco de dados como o Oracle, então usávamos somente Interbase.
Gostei + 0
19/08/2005
Adriano Santos
Entendi e concordo com você no que diz respeito a Triggers, Procedures e etc. Realmente teria bastante redundância de funções. Eu estudei uma vez a criação de procedures, views, triggers e etc em bancos Interbase, mas desisti de me aprofundar justamente por um motivo: portabilidade. Teria que refazer tudo em Oracle, SQLServer e etc;
Gostei + 0
19/08/2005
Motta
Gostei + 0
21/08/2005
Adriano Santos
Eu sempre digo o seguinte:
[color=green:6b985b0cc9]´O softaware bem programado funciona com qualquer BD´.[/color:6b985b0cc9]
Mas temos que lembrar sempre que o BD é importantíssimo quando se fala de volume de dados e de segurança. Como disse o Motta um programa como um banco de sangue, mesmo programado com eficiência, teria problemas com um MySQL, Paradox ou como ele mesmo disse com o Access em uma região onde o volume de informações é extremamente grande. Pra mim, cada caso é um caso.
Gostei + 0
22/08/2005
Motta
Ainda acho a solução de uma camada de acesso a melhor solução para multiplos planos.
Gostei + 0
22/08/2005
Adriano Santos
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)