Fórum Desempenho da rede - Não quero jogar no chão #327875
22/08/2006
0
Estou com uma duvida que preciso resolver o quanto antes pois preciso saber qual o melhor caminha a seguir.
Seguinte hoje eu tenho um sistema de atendimento que tem uma rotina onde o Gerente da loja sempre que quer designar uma tarefa para algum atendente do suporte ele abre uma tela de cadastro, vai la escolhe para qual usuario ele quer mandar a tarefa e pronto. Até aqui tudo bem, funcionando blz.
Agora vou explicar o que acontece nas estações de trabalho dos atendentes, o sistema funciona hoje da seguinte maneira: eu tenho um TTimer que de 3 em 3 segundos faz uma consulta na tabela onde fica gravado as tarefas, dai quando tem alguma tarefa pro atendente logado no sistema a mesma é exibida em um DbGrid.
Esta tudo funcionando blz ... minha duvida é a seguinte:
1 - Será que estou fazendo certo apesar de o sistema estar funcionando perfeitamente?
2 - Sera que isso nao gera um trafego desnecessário na minha rede uma vez que tenho neste cliente 30 atendentes logados no sistema e os 30 de 3 em 3 segundos fazendo consultas no banco de dados?
3 - No caso se eu ter uma base de dados remota - ( ainda nao tenho nada assim, mas pelo andar da carroagem isso nao vai demorar a acontecer pois alguns cliente ja me questionaram se o sistema funcionaria assim ) - desta maneira que esta ficaria totalmente inviavel.
Um amigo me sugeriu tirar esta rotina de consulta de 3 em 3 segundos das estaçoes de trabalho e deixar apenas um aplicativo que eu chamaria de server enviando a informaçao de nova tarefa para o atendente atravez de socket ... tipo quando o usuario logar no sistema gravar em algum lugar o ip da maquina dele entao quando tivesse alguma tarefa para o mesmo esta informação seria enviado atravez do socket. Eu achei uma boa ideia esta, mas gostaria da opiniao do pessoal aqui do forum.
O que voces acham ?? Qual o melhor caminho ?? O que devo fazer ??
Meu sistema esta desenvolvido em Delphi 7, Banco de dados Firebird e procurei usar ao maximo as regras Client/Server.
Obrigado pela atenção e abraço para todos.
Mmoreira
Curtir tópico
+ 0Posts
22/08/2006
Aasn
Concordo com o nosso colega, o melor a fazer mesmo é usar sockets, vai reduzir o tráfego na rede e agilizar o processo como um todo.
[]´s
AASN
Gostei + 0
22/08/2006
Mmoreira
Voce acha que eu devo manter a conexao dos sockets( Cliente e Servidor ) sempre ativas ou ?
1 - Servidor conecta num endereco de IP X ( Estacoes de trabalho )
2 - Servidor envia uma mensagem para o cliente e o mesmo notifica ao usuario logado sobre a nova tarefa.
3 - Servidor se desconecta do cliente.
Assim eu não vou gerar muito trafego na rede deixando tudo isso conectado o tempo todo.
O que voce acha?
Gostei + 0
22/08/2006
Aasn
existem situações e situações, acredito que no caso apresentado por vc no tópico inicial, a solução nro. 2 apresentada por vc mesmo é a mais interessante a ser adotada.
[]´s
AASN
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)