Como minha aplicação Dbexpress rodaria via internet?
Prezados Amigos...
Estou com uma duvida um tanto quanto complicada..
Tenho uma aplicação rodando redondinha.. Com Dbexpress, Delphi 6 e Firebird 1.5...
Esta aplicação está em produção em diversos pontos do país... em vários clientes.. de locais diferenciados...
Agora estou pensando em trabalhar não com um banco para cada cliente... que fica na maquina ou servidor do cliente.. mas sim.. com um BD central.. que eu possa manter em um servidor... para que seja alimentado pelas aplicações dos clientes....
Aí vem a dúvida... Para que eu consiga obter esta linha de trabalho... Basta apenas apontar no SqlConection ao invés de C:\XXX\BD.fdb ou \\XXXX.BD.fdb, então colocar o IP de onde estiver o banco?
Mas neste caso.. vai ficar lento quando mandar gravar os dados que estiverem em chace no clientdataset.. na hora do Commit?
Gostaria de utilizar a internet em meu caso.. pque me facilitaria as manutenções nos BD´s... Pque toda vez que tenho que mexer ou atualizar o banco.. tenho que atualizar em todos os clientes... Meu deus.. é um dilema...
E a ultima curiosidade que tenho ainda relacionada a esta duvida, é se é ideal eu manter um BD para cada cliente... ou um unico BD para todos... iria sobrecarregar o banco.. bom... se puderem me ajudar.. agradeço desde já...
Gostaria de não modificar toda minha aplicação com novos componentes... gostaria de utilizar a tecnologia do dbexpress que já está ativo e funcionando na aplicação..
Um grande abraço a todos...
Estou com uma duvida um tanto quanto complicada..
Tenho uma aplicação rodando redondinha.. Com Dbexpress, Delphi 6 e Firebird 1.5...
Esta aplicação está em produção em diversos pontos do país... em vários clientes.. de locais diferenciados...
Agora estou pensando em trabalhar não com um banco para cada cliente... que fica na maquina ou servidor do cliente.. mas sim.. com um BD central.. que eu possa manter em um servidor... para que seja alimentado pelas aplicações dos clientes....
Aí vem a dúvida... Para que eu consiga obter esta linha de trabalho... Basta apenas apontar no SqlConection ao invés de C:\XXX\BD.fdb ou \\XXXX.BD.fdb, então colocar o IP de onde estiver o banco?
Mas neste caso.. vai ficar lento quando mandar gravar os dados que estiverem em chace no clientdataset.. na hora do Commit?
Gostaria de utilizar a internet em meu caso.. pque me facilitaria as manutenções nos BD´s... Pque toda vez que tenho que mexer ou atualizar o banco.. tenho que atualizar em todos os clientes... Meu deus.. é um dilema...
E a ultima curiosidade que tenho ainda relacionada a esta duvida, é se é ideal eu manter um BD para cada cliente... ou um unico BD para todos... iria sobrecarregar o banco.. bom... se puderem me ajudar.. agradeço desde já...
Gostaria de não modificar toda minha aplicação com novos componentes... gostaria de utilizar a tecnologia do dbexpress que já está ativo e funcionando na aplicação..
Um grande abraço a todos...
Pablo_lima
Curtidas 0
Respostas
Diegors
14/05/2007
Olá, tudo bem?
Bom vou contar minha história para explicar, nós também temos algumas aplicações expladas por ai...
Mas assim, se apontar o banco para um determinado local, vc deve ter uma aplicação feita em camadas, tipo 3 digamos, cliente, negócios e servidor...
Na primeira vez que eu testei fazer isso, o cliente abria a tela de clientes, quando abria o banco, ele ficava muito lento, pois: quando abria a tabela, mesmo chamando um cliente só, ele pega todos os dados que tem no BD do servidor e depois filtra na maquina, caso fosse em camadas, ele iria filtrar os dados no servidor, e depois iria trazer só o cliente pedido pela web.
Nós mudamos a aplicação que tinhamos de cliente/servidor para multi-camadas, e fazendo tudo ocorrer no servidor, ele filtra tudo lá, assim o sistema fica bem rápido, parece até local se forem poucos campos e se a conexão for boa.
Mas se no caso não tiver como mudar a aplicação para multi-camadas, para fazer todo o processo no server, vc pode usar um terminal server, digamos um win2003. e coneca os users via remoto, ai eles podem abrir a aplicação rapinho, só vão estar no servidor aonde tem a aplicação. Isso tbm pode resolver...
OK...
Bom vou contar minha história para explicar, nós também temos algumas aplicações expladas por ai...
Mas assim, se apontar o banco para um determinado local, vc deve ter uma aplicação feita em camadas, tipo 3 digamos, cliente, negócios e servidor...
Na primeira vez que eu testei fazer isso, o cliente abria a tela de clientes, quando abria o banco, ele ficava muito lento, pois: quando abria a tabela, mesmo chamando um cliente só, ele pega todos os dados que tem no BD do servidor e depois filtra na maquina, caso fosse em camadas, ele iria filtrar os dados no servidor, e depois iria trazer só o cliente pedido pela web.
Nós mudamos a aplicação que tinhamos de cliente/servidor para multi-camadas, e fazendo tudo ocorrer no servidor, ele filtra tudo lá, assim o sistema fica bem rápido, parece até local se forem poucos campos e se a conexão for boa.
Mas se no caso não tiver como mudar a aplicação para multi-camadas, para fazer todo o processo no server, vc pode usar um terminal server, digamos um win2003. e coneca os users via remoto, ai eles podem abrir a aplicação rapinho, só vão estar no servidor aonde tem a aplicação. Isso tbm pode resolver...
OK...
GOSTEI 0