Orientação sobre cliente servidor
09/02/2013
0
Tenho uma aplicação para desenvolver para um cliente onde ele possui um servidor e varios terminais espalhados pela loja dele. a duvida que surgiu antes de iniciar o projeto é a seguinte:
1 - Quem deve ser desenvolvido primeiro e servir de base para o outro, o CLIENTE ou SERVIDOR?
2 - O sistema em ambos são a mesma coisa, ou seja, o mesmo sistema que abrirei no servidor é o mesmo nos terminais, ja que o mesmo não é modular?
3 - Quando fizer manutenção deve ser feito no cliente ou no servidor, para depois ser atualizado?
4 - Posso desenvolver todos o sistema normalmente, como se fosse apenas para um computador e não uma rede, e depois de pronto instalar ele no servidor e em todos os terminais e por fim direcionar os terminais para acessar o banco no servidor?
Desculpe os varios questionamentos, mas é a primeira experiencia com cliente servidor e nesta circunstancia nao sei por onde começar, se os dois sistemas (cliente e servidor) são os mesmos, ou se são programas diferentes, e como disse não sei qual deverá ser desenvolvido primeiro?
Agradeço a ajuda de quem estiver disposto a contribuir com um pouco de seu conhecimento para acrescentar aos meus.
Obrigado.
Flavio Silva
Posts
09/02/2013
Joel Rodrigues
Vou tentar responder na ordem.
1 - Os clientes geralmente precisam acessar o banco que fica no servidor, certo? Então o servidor deve estar pronto quando os clientes forem instalado para acessá-lo. Porém, em termos de aplicação, vai depender (veja a próxima resposta).
2 - Se tanto no cliente quanto no servidor será executada a mesma aplicação, então é um único projeto, beleza? Você pode colocar o executável no servidor e cada cliente acessar esse executável através de um atalho.
3 - Depende da arquitetura que você utilizar. Se fizer como no item anterior, onde o executável fica só no servidor, então basta atualizar este, assim todos os clientes já estarão apontando para ele automaticamente. Se cada computador possuir um executável, então obviamente precisa atualizar todos.
4 - Acho que isso já foi respondido nos itens anteriores.
Caso persistam as dúvidas ou surjam novas, é só avisar.
Um abraço e boa sorte.
09/02/2013
Flavio Silva
Vou tentar responder na ordem.
1 - Os clientes geralmente precisam acessar o banco que fica no servidor, certo? Então o servidor deve estar pronto quando os clientes forem instalado para acessá-lo. Porém, em termos de aplicação, vai depender (veja a próxima resposta).
2 - Se tanto no cliente quanto no servidor será executada a mesma aplicação, então é um único projeto, beleza? Você pode colocar o executável no servidor e cada cliente acessar esse executável através de um atalho.
3 - Depende da arquitetura que você utilizar. Se fizer como no item anterior, onde o executável fica só no servidor, então basta atualizar este, assim todos os clientes já estarão apontando para ele automaticamente. Se cada computador possuir um executável, então obviamente precisa atualizar todos.
4 - Acho que isso já foi respondido nos itens anteriores.
Caso persistam as dúvidas ou surjam novas, é só avisar.
Um abraço e boa sorte.
Com relação ao Item 2.
Se eu desenvolver neste moldes, colocando a aplicação no servidor e colocando um atalho nos terminais (no caso do contratante, são 4 terminais com a possibilidade e inclusao de mais 2) com todos os terminais trabalhando simultaneamente, não deixaria o sistema pesado ou lento?
A pretenção inicial seria usar BD Firebird ou SQL SERVER, mais propicio a usar no momento o FIREBIRD.
10/02/2013
Joel Rodrigues
Com relação ao banco, não sei o que vai pesar na sua decisão no momento, mas eu indicaria SQL Server, pois como todos sabemos, é mais robusto e possui melhor escalabilidade (aumento de máquinas clientes acessando), além disso, as ferramentas de gerenciamento são "bem" melhores (isso é pessoal).
Abraço.
10/02/2013
Marco Salles
10/02/2013
Flavio Silva
Marcos Antonio / Joel,
Muitos interessante as dicas de voces. Porem, analisando as anotações que fiz quando estive reunido com o cliente na quinta, vi algo que havia passado despercebido quando resolvi escrever este post.A empresa deve é uma Oficina de Manutenção de Carro, a divisão dele é a seguinte: 1 maquina na recepção, 1 no Caixa, 1 no setor de Peças e outra na Administração. No entanto o computador que esta na ADM, é o "servidor da empresa", mas ao mesmo tempo é o computador usado pelo administrador da empresa para trabalhar no dia-a-dia. Acredito que o sistema que ele usa momentaneamente, esta instalando nele e cada maquina possui em .EXE que o acessa atraves da rede, como sugeriu JOEL. De acordo com a conversa do cliente, ele nao tem pretenção de deixa este PC como Servidor exclusivo.
Então, se Eu desenvolver com DATASNAP como sugeriu Marcos Antonio, como farei melhor uso dele? Dá para instalar o Servidor nesta maquina e tambem o cliente, ja que o Administrador usa a mesma maquina servidor como estação simultaneamente?
Ou seria interessante desenvolver uma aplicação normal com o Database junto da Aplicação e depois disponibilizar um .EXE em cada estação?
Este tipo de situação, muitas vezes atrapalha o desenvolvimento do nosso trabalho, mas emfim, faz parte da profissão fazer o quê nê!
10/02/2013
Marco Salles
Não vejo problema nenhum o Computador dele servir de servidor de Aplicação , Servidor de banco de Dados e ter um Aplicativo
Cliente
[]sds
11/02/2013
Joel Rodrigues
11/02/2013
Flavio Silva
Joel / Marcos
O Servidor de Aplicação poderia ser criado com um menu para algumas funções como por exemplo: Realizar backup do Banco de dados, cadastrar usuarios que usarão o sistema, e definir niveis de permissão.
13/02/2013
Joel Rodrigues
OU você faria o controle desses menus utilizando um controle de usuários.
Clique aqui para fazer login e interagir na Comunidade :)