Melhor Caminho?
Olá a todos, bom, já iniciei meu projeto; porém só queto dar algumas diretrizes para o desenvolvimento, ou pelo menos esta fazendo a coisa na direção certa; Gostaria de dicas ara quais as melhores tecnologias a serem empregadas para o meu cenário:
O Sitema é de drogaria; onde:Temos Usuários desde que tem apenas um micro como rede de drogarias (n-cidades)Sendo, o sistema tem que atender ambos casos, e para as redes de drogarias terá que ter o servidor de aplicação centralizado - para compartilhar o estoque para todas drogarias e alguns casos até mesmo conta de clientesTrocando em miúdos, tem que ter a possibilidade de trabalhar on-line entre as drogarias ( filiais ) ou não; Iniciei o projeto com DataSnap ( ja na versão 2009 ) ou seja em 3 camadas; A dúvida é a questão de comunicação entre filiais ou acesso via web... tem que ser implementado também com o SOAP? e se for SOAP tera que tem um servidor ISAPI, o que dificultara para clientes com apenas uma rede interna ou até apenas um micro na sua loja; A ideia é ter um único modulo para o Appserver que atende a todos, mudando apenas configurações para rodar em Local Host ou via Http
Enfim, gostaria de instruções para o melhor caminho do desenvolvimento, já que começamos do "zero".
sem mais,
Fabiano Moreno.
O Sitema é de drogaria; onde:Temos Usuários desde que tem apenas um micro como rede de drogarias (n-cidades)Sendo, o sistema tem que atender ambos casos, e para as redes de drogarias terá que ter o servidor de aplicação centralizado - para compartilhar o estoque para todas drogarias e alguns casos até mesmo conta de clientesTrocando em miúdos, tem que ter a possibilidade de trabalhar on-line entre as drogarias ( filiais ) ou não; Iniciei o projeto com DataSnap ( ja na versão 2009 ) ou seja em 3 camadas; A dúvida é a questão de comunicação entre filiais ou acesso via web... tem que ser implementado também com o SOAP? e se for SOAP tera que tem um servidor ISAPI, o que dificultara para clientes com apenas uma rede interna ou até apenas um micro na sua loja; A ideia é ter um único modulo para o Appserver que atende a todos, mudando apenas configurações para rodar em Local Host ou via Http
Enfim, gostaria de instruções para o melhor caminho do desenvolvimento, já que começamos do "zero".
sem mais,
Fabiano Moreno.
Fabiano Araujo
Curtidas 0
Respostas
Rodrigo Mourão
02/10/2009
Olá amigo,
Bem se eu entendi bem o que você quer então o DataSanp, principalmente o 2009, de atende.
Você irá criar seu servidor de aplicacao normalmente. Como Server Modules, Providers, Funcções etc. Ele terá um coneão com o Banco de dados que no momento nao importa onde estará. Isso e o servidor e ponto final.
Agora o cliente vc também vai criar normalmente. O unico detalhe é que no cliente você terá que fazer uma interface onde o você irá informar as configurações do servidor, que são IP e port (211).
O DataSanp não usa SOAP e sim TCP/IP no Dlephi 2010 temo um transport HTTP para usar com Json e Rest. Sendo assim quando vc quiser colocar as filias no Brasil inteiro para acessar o ServerAPP em SP entao em SP a farmacia terá que ter um link bom e com IP Fixo ou entao usar um NoIp por exemplo. Nos clientes ao redor do Brasil se conectarão neste servidor com o IP forneceido. Tudo tranparante.
Agora suponha que o seu manuel so tenho um maquina, então nele voce coloca o server app e a aplicacao cliente. Sendo que neste caso o cliente irá apontar para o ip onde o server esta instalado.
A principio seria isso. Não tem SOAP nem aplicacao ISAP. Isso era com o DataSanp antigo, com o 2009 tudo ficou mais simples !!
Abs!!
Bem se eu entendi bem o que você quer então o DataSanp, principalmente o 2009, de atende.
Você irá criar seu servidor de aplicacao normalmente. Como Server Modules, Providers, Funcções etc. Ele terá um coneão com o Banco de dados que no momento nao importa onde estará. Isso e o servidor e ponto final.
Agora o cliente vc também vai criar normalmente. O unico detalhe é que no cliente você terá que fazer uma interface onde o você irá informar as configurações do servidor, que são IP e port (211).
O DataSanp não usa SOAP e sim TCP/IP no Dlephi 2010 temo um transport HTTP para usar com Json e Rest. Sendo assim quando vc quiser colocar as filias no Brasil inteiro para acessar o ServerAPP em SP entao em SP a farmacia terá que ter um link bom e com IP Fixo ou entao usar um NoIp por exemplo. Nos clientes ao redor do Brasil se conectarão neste servidor com o IP forneceido. Tudo tranparante.
Agora suponha que o seu manuel so tenho um maquina, então nele voce coloca o server app e a aplicacao cliente. Sendo que neste caso o cliente irá apontar para o ip onde o server esta instalado.
A principio seria isso. Não tem SOAP nem aplicacao ISAP. Isso era com o DataSanp antigo, com o 2009 tudo ficou mais simples !!
Abs!!
GOSTEI 0
Rodrigo Mourão
02/10/2009
Olá amigo,
As dicas foram suficientes ?? Podemos encerrar o chamado ?
Abs!!
As dicas foram suficientes ?? Podemos encerrar o chamado ?
Abs!!
GOSTEI 0
Fabiano Araujo
02/10/2009
Amigo foi sim, perfeito... já fiz os testes em rede local e via web(ip); Agora questões como deixar se estou com a aplicação aberta e cai a conexão etc.. da um "Read Error" tem alguma procedimento para personalizar esses erros? etc? como status-online e ficar off-line fechar a aplicação?
GOSTEI 0
Rodrigo Mourão
02/10/2009
Bem não entendi direito.
Na verdade a aplicação esta rodando normalmente e por algum motivo o servidor cai. AI quando vc tenta executar um comando qualquer ocorre o erro? Seria Isso ?
Abs!!
Na verdade a aplicação esta rodando normalmente e por algum motivo o servidor cai. AI quando vc tenta executar um comando qualquer ocorre o erro? Seria Isso ?
Abs!!
GOSTEI 0
Fabiano Araujo
02/10/2009
Sim, isso mesmo...
GOSTEI 0
Rodrigo Mourão
02/10/2009
Neste caso o que você pode fazer e testar a conexão antes de invocar os metodos.
if not SqlConnection.Connected then
SqlConnection.Connected := true;
Chamametodo aqui !!!!!!
Assim se a conexão não estiver ative ele reconecta. Seria interessante colocar isso en um try except. Assim vc poderia notificar o cliente em caso de erro.
try
if not SqlConnection.Connected then
SqlConnection.Connected := true;
Chamametodo aqui !!!!!!
except
ShowMessage('Erro ao conectar no servidor')
end;
Abs!!
if not SqlConnection.Connected then
SqlConnection.Connected := true;
Chamametodo aqui !!!!!!
Assim se a conexão não estiver ative ele reconecta. Seria interessante colocar isso en um try except. Assim vc poderia notificar o cliente em caso de erro.
try
if not SqlConnection.Connected then
SqlConnection.Connected := true;
Chamametodo aqui !!!!!!
except
ShowMessage('Erro ao conectar no servidor')
end;
Abs!!
GOSTEI 0
Rodrigo Mourão
02/10/2009
Olá Amigo,
As dicas ajudaram ?
Podemos encerrar o chamado ??
No aguardo !!!
Abs!!
As dicas ajudaram ?
Podemos encerrar o chamado ??
No aguardo !!!
Abs!!
GOSTEI 0
Fabiano Araujo
02/10/2009
OK Ajudou sim, obrigado
GOSTEI 0