Fórum Qual a melhor maneira de montar um servidor FIREBIRD via int #55762
13/04/2006
0
Preciso ter um servidor com banco de dados FIREBIRD, que vai ser acessado localmente, e por outros pontos atraves da internet...
Tem como eu hospedar meu banco de dados firebird, em algum desses servidores que tem na internet, para acessa-lo via Delphi?
Qual a melhor opcao....? que não fique tao lento... ? Pois testei acessando diretamente via internet, informando apenas o IP do servidor, ficou muito lento....
Sistemp
Curtir tópico
+ 0Posts
13/04/2006
Denis
No delphi 5 estavam na paleta Midas, e do 6 em diante na paleta datasnap. Funciona muito bem. Incluse tenho sistemas bem grandes rodando assim sem problema algum. Ah... e bem rápido.
Procure alguma coisa na net sobre Delphi com programação 3 camadas ou MultiTier.
Gostei + 0
17/04/2006
Camilo
meu maior problema foi trafego na rede... tipo,
quando entro na tela de clientes na rede local eu mostrava todos, na net só por demanda, e assim em todas as telas de consultas, o q tive q fazer foi transferir varios processos do delphi para o banco, tipo na h da venda tenho q gravar:
baixar o produto
gravar em produtos vendidos
se teve entrada gravar caixa
gravar faturas recebidas de clientes
se teve cheque gravar cheque recebido
se teve fat a receber gravar cada parcela em contas a receber, isso eu fazia via delphi, todos os testes, whiles e inserts, isso numa venda de 5 rpodutos em 10x demorava uns 4 minutos com uma velocidade do server 256k e do terminal 128k isso limpo essa velocidade, com uso apenas pra essas duas maquinas, quando mudei ´tudo´ pra SP no banco está cerca de 20 segundos, mais ainda naum está pronto, pois naum manjava nada nada de SP, e com a ajuda de alguns colegas no msn consegui fazer muita coisa... um cara q me ajudou bastante foi Emersonen... me ajudou muito... mais ainda está umpuco lento pois naum domino 100¬ de SP... estou estudando muito sobre o assunto e estou aprendendo e mudando meu sistema,... está ficando bom...
então naum sei se vc jah usa SP e triggers na sua aplicação, mais o q quiz dizer q esse eh o caminho, além de ter um ip fixo ou no-ip, mais q tenha um ip válido...
espero ter ajudado
Gostei + 0
17/04/2006
Denis
Use o componente clientdataset. Neste componente tem uma propriedade packetRecords. Neste componente vc define a quantidade de registros o servidor irá retornar. Ele faz um controle melhor de ´Fetchs´ do banco de dados. Por exemplo :
Se vc fizer a instrução em uma tabela com 1 milhão de registros. ( Select * from tabelaGrande). Setando a propriedade packetRecords = 40, então o sistema cliente irá apenas receber 40 registros e depois mais 40 se o ponteiro for mudado. Neste caso vc pode jogar esta tabela para ser exibida num grid, e não vai ficar lenta. Pois o sistema cliente não irá trafegar todos os registros e apenas 40. Claro que esta select é apenas ilustrativa. Mas já da para ter uma idéia de como o sistema pode ficar mais rápido.
O uso de clientdatasets melhor bastante o seu sistema com relação a performance. Sem contar que com ele tem a possibilidade de criar datasets em memória, salvar em xml etc...
Estude ele. É um componente muito bom e vai te ajudar muito com um sistema via net.
Gostei + 0
12/06/2006
Cabelo
Como eu devo proceder para melhorar a performance do sistema, usando .CLX...
Não existe a opção do RemoteDataModule... e o PacketRecords não alterou a velocidade em nada...
Como devor proceder em .CLX ??????
Gostei + 0
12/06/2006
Denis
Eu não sei como funciona direito programas com a CLX. ( nunca usei ). Mas tem o componente soap. Tente procurar alguma coisa. Parece que dá para fazer parecido com o Socket Server do windows.
Gostei + 0
14/06/2006
Cabelo
.CLX é uma forma de programar, utilizando os recursos do compilador, para que vc possa portar um sistema em Delphi 7 para Kylyx 3 por exemplo... então não posso usar os recursos do Windows, preciso de usar os recursos que o delphi me disponibiliza, em .CLX...
Será que existe um outro componente para substituir o remotedatamodule??
Onde fica o componente SOAP????? não conseguí achar...
Gostei + 0
17/06/2006
Denis
Os componentes ´SOAP´ ficam na paleta Web Services. Eu li em algum canto que ele faz algo parecido com o Socket Server. Se não me engano foi na revista clube delphi.
Gostei + 0
20/06/2006
Cabelo
Eu achei os componentes e pesquisei sobre o assunto... mas o que estes componentes especificamente podem melhorar a performance do meu sistema ´On-Line´, e como utilizar estes componentes????
Tentei utilizá-los... mas não obtive nenhuma melhora..
Gostei + 0
20/06/2006
Armando.boza
Assinantes da ClubeDelphi podem acessar o site e baixar as video-aulas do Guinter Pauli sobre servidor de aplicação SOAP ... eu ja assisti e recomendo a todos, só que infelizmente o sistema tem que ser totalmente refeito para rodar com tal tecnologia pois todas as regras de negocio do sistema ficam na camada do servidor de aplicação e não no aplicativo ou banco.
Gostei + 0
20/06/2006
Cabelo
Assinantes da ClubeDelphi podem acessar o site e baixar as video-aulas do Guinter Pauli sobre servidor de aplicação SOAP ... eu ja assisti e recomendo a todos, só que infelizmente o sistema tem que ser totalmente refeito para rodar com tal tecnologia pois todas as regras de negocio do sistema ficam na camada do servidor de aplicação e não no aplicativo ou banco.
Perfeito... mas então quer dizer que terei um .exe rodando no servidor????
mas meu servidor é Linux... como farei isso????? outra coisa... então... qual o motivo de se ter um túnel VPN para este tipo de aplicação????
Gostei + 0
20/06/2006
Armando.boza
na verdade não é um .exe e sim uma dll compilada pelo delphi rodando no serviço do windows .. e realmente, é para WINDOWS, na video-aula ele explica que é possivel fazer um pra rodar no linux mas é um pouco diferente.
agora, se vc ja possui uma VPN ou um tunel como o Zebedee rodando eu aconselho a deixar como está que é mais simples e fora que oferece mais recursos pois estão interligadas as intranets.
nos meus clientes que querem acessar a base de dados pela internet eu dou esses dois tipos de conexão como opção (VPN ou Zebedee), ai fica a gosto deles.
Gostei + 0
20/06/2006
Cabelo
O problema é que um selecy simples no meu sistema... demora muito... cerca de 1 minuto cada select... fica totalmente inviável a operação...
como faço para resolver o problema então?
Gostei + 0
20/06/2006
Armando.boza
Bom, primeiramente deve ser levado em conta qual o serviço de internet que vc utiliza e como foi montada sua VPN, aqui em Londrina - PR a maior parte das ADSLs são da sercomtel que por sinal é muito boa.
Por exemplo, tenho um cliente que possui uma adsl da sercomtel de 320 kbps, utilizando o Zebedee ou uma VPN pelo windows xp consigo dar um select * para consultar todos os clientes, cerca de 300 registros, e me retorna o resultado em algo em torno de 7 a 9 segundos.
Não é como uma Intranet mas está bem aceitavel.
Deve-se levar em conta tb a forma de programação utilizada, por exemplo, a utilização de componentes IBTable deixa a aplicação muito lenta. O bom mesmo é forçar o usuario a refinar sempre as consultas para retornar o minimo de registros possíveis para ampliar o desempenho e sempre que possível utilizar Stored Procedures para consultas mais detalhadas.
Gostei + 0
21/06/2006
Cabelo
Não uso componentes Tables...
Usos DBExpress + clientdataSet..
Tudo cliente/servidor... mas mesmo assim... está muito lento.. inaceitável...
Estou programando .CLX... portanto não posso utilizar os recursos do Wndows... O que pode melhorar então a performance do sistema On-Line... já que o sistema local roda perfeitamente bem..?
Gostei + 0
21/06/2006
Armando.boza
Nossa carinha, realmente de internet vc está bem. :D
A programação tb está certa.
Não tem explicação para a lentidão do seu sistema, era pra estar rodando rapidinho.
Qual Firebird vc está utilizando?
Quando vc tenta copiar algum arquivo pela rede da vpn a transferencia é rapida ou lenta?
As vezes não é o sistema e o firebird e sim a vpn.
Gostei + 0