Banco de dados online. Qual é a melhor/mais segura alternativa?  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
rissato
JavaEvangelist
[Avatar]

Membro desde: 16/05/2006 22:07:12
Mensagens: 446
Localização: Uberlândia
Offline

Olá, tenho um sistema desktop que vai ser utilizado para controlar um clube de compras de um grupo de empresas. Estou encontrando dificuldade em fazer a conexão com o banco online. Já li aqui no fórum que se conectar diretamente ao banco é uma prática não muito segura e que eu deveria usar servlets. É possível também (como última opção) que eu reconstrua o sistema para rodar via web. Dessas e de demais opções que eu certamente desconheço, qual seria a melhor para esse caso?

Obrigado!

Quer vc pense que é capaz ou não, vc está certo!

Sun Certified Java Programmer 6.0
[MSN] [ICQ]
edpipole
JavaTeenager

Membro desde: 29/03/2005 14:53:51
Mensagens: 165
Offline

no seu lugar eu criaria um webservice que teriam os metodos de negocios, ou metodos para retornar do banco...
se for o caso, vc pode criar um componente ejb pra fazer acesso ao dados do banco remoto... mais acho que o webservice e a melhor opção.!
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

a) Web Services

b) Você pode "evitar o problema de segurança na Internet" usando uma VPN. O único problema é configurar corretamente a VPN (e talvez comprar licenças, se for usar um produto pago).

c) Dependendo do seu problema, você pode usar bancos de dados com sincronização. Ou seja, você tem um banco de dados local (só para edição, e de vez em quando você sincroniza o banco local com o banco da empresa. A sincronização é feita via VPN, que é um método mais seguro que disponibilizar diretamente na Internet.

Normalmente esse banco "local" é uma versão "light" de um banco grande, como o MS SQL Server ou o DB2.

Isso é feito quando há problemas de conectividade e/ou você não precisa estar todo o tempo conectado, e normalmente é feito quando você usa dispositivos como um PocketPC.

Por exemplo, um vendedor que já tenha um determinado estoque reservado para ele só pode vender as coisas que estão reservadas.
[WWW]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

Não exponha seu SGBD online, crie uma forma de acesso. Acho que WebServices REST (não SOAP), Burlap ou Hessian quebram teu galho.

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
Daniel Quirino Oliveira
Moderador
[Avatar]

Membro desde: 23/03/2003 23:57:34
Mensagens: 3299
Localização: Awawawawa (Araraquara) - SP
Offline

pcalcado wrote:Não exponha seu SGBD online, crie uma forma de acesso. Acho que WebServices REST (não SOAP), Burlap ou Hessian quebram teu galho.


Aliás, uma forma bem interessante (e fácil) de se criar um WS REST seria usar um WebRowSet (neste caso em particular).




Daniel Quirino Oliveira
[Email] [WWW]
rissato
JavaEvangelist
[Avatar]

Membro desde: 16/05/2006 22:07:12
Mensagens: 446
Localização: Uberlândia
Offline

Muito Obrigado pessoal. Agora me ajudem com o seguinte: Então eu devo remover todo o código relacionado a banco de dados do meu sistema desktop e fazer uma chamada ao Servlet que vai me retornar um ResultSet? E como seria essa chamada?
Outra dúvida: Como faço pra saber se o servidor onde eu vou hospedar o banco tem suporte a Java? Ou todos tem?

Quer vc pense que é capaz ou não, vc está certo!

Sun Certified Java Programmer 6.0
[MSN] [ICQ]
bandrade
GUJ Ranger

Membro desde: 20/01/2003 15:45:15
Mensagens: 782
Offline

Pq não fazer online??

Me parece a melhor solução, + escalável.. (;

Will Code For Food
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

bandrade wrote:Pq não fazer online??

Me parece a melhor solução, + escalável.. (;


Seu banco de dados SQL suporta 10.000 conexões simultâneas? Hein?

De qualquer maneira, se fosse para um número muito reduzido de clientes (talvez até 100), usaria uma VPN mesmo.

EDIT - não tinha entendido o "online". O Bandrade quis dizer "web". Nesse caso, usar um pool de conexões em sistema Web permite o uso de quase qualquer banco de dados, mesmo que você tenha uma licença para só 20 conexões...


[WWW]
bandrade
GUJ Ranger

Membro desde: 20/01/2003 15:45:15
Mensagens: 782
Offline

Num sistema online (se bem feito) seria muito + fácil adicionar ou remover 'parceiros', sem contar a correção de bugs e tudo o +...

Eu estou virando um daqueles fervorosos que acha q sistema desktop num serve prá + nada... hehehe... tenho q parar com isso. ((;


Bom, + e aí, quantas empresas compoem o grupo? Vc teria que instalar esse sistema em quantas máquinas? Tem alguma noção disso??

Sabendo o tamanho do projeto, dá prá contribuir de maneira + eficiente. (;

Will Code For Food
rissato
JavaEvangelist
[Avatar]

Membro desde: 16/05/2006 22:07:12
Mensagens: 446
Localização: Uberlândia
Offline

Pra fazer VPN, seria preciso trocar alguns roteadores e o orçamento está bem curto. Quanto as conexões simultâneas, eu duvido que esse clube de compras chegue a ter algum dia 50 clientes.

Quer vc pense que é capaz ou não, vc está certo!

Sun Certified Java Programmer 6.0
[MSN] [ICQ]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

bandrade wrote:Num sistema online (se bem feito) seria muito + fácil adicionar ou remover 'parceiros', sem contar a correção de bugs e tudo o +...


Hum, não tinha entendido o seu "online". O que você queria dizer era "web".


[WWW]
rissato
JavaEvangelist
[Avatar]

Membro desde: 16/05/2006 22:07:12
Mensagens: 446
Localização: Uberlândia
Offline

O sistema vai começar a operar com umas 15 empresas. Eu já fiz o controle de acesso a nível de usuário de modo que eu posso bloqueá-los sem precisar remover os mesmos da tabela de usuários. Eu já tinha feito esse sistema em Flash+PHP oO' (é, eu sei). A única coisa que está faltando é, como eu disse acima, saber se existe algum requisito quanto ao servidor rodar Servlets, e como é feita a troca de informações entre o Servlet e o sistema desktop. Valeew!!!

Quer vc pense que é capaz ou não, vc está certo!

Sun Certified Java Programmer 6.0
[MSN] [ICQ]
bandrade
GUJ Ranger

Membro desde: 20/01/2003 15:45:15
Mensagens: 782
Offline

thingol wrote:
bandrade wrote:Num sistema online (se bem feito) seria muito + fácil adicionar ou remover 'parceiros', sem contar a correção de bugs e tudo o +...


Hum, não tinha entendido o seu "online". O que você queria dizer era "web".


Bingo!

Desculpa, me expressei mal mesmo. (;

Will Code For Food
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

1 - Estude WebServices, especificamente REST, como mencionado, apra saber como fazer chamadas
2 - WebStart elimina o problema de "instalar em diversas maquinas" e permite que voce use Swing, muito mais poderoso que gambiarras HTML
4 - mas cada caso é um caso. Neste caso eu não sei, depende dos requisitos funcionais e não funcionais.
5 - Se este sistema é profissional é melhor você contratar um consultor

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
bandrade
GUJ Ranger

Membro desde: 20/01/2003 15:45:15
Mensagens: 782
Offline

pcalcado wrote:1 - Estude WebServices, especificamente REST, como mencionado, apra saber como fazer chamadas
2 - WebStart elimina o problema de "instalar em diversas maquinas" e permite que voce use Swing, muito mais poderoso que gambiarras HTML
4 - mas cada caso é um caso. Neste caso eu não sei, depende dos requisitos funcionais e não funcionais.
5 - Se este sistema é profissional é melhor você contratar um consultor


KD o 3?? ((;

Porque gambiarras HTML?? Se bem feito, um software web nao perde em muita coisa prum desktop. Se quiser um Look&Feel ainda + parecido, pode-se usar kilos de Script (e/ou Ajax) prá evitar reloads constantes.

Eu perticularmente acho q desenvolver um software desktop é perda de tempo, se eu pudesse, faria tudo web... ((como disse, estou ficando aficcionado com isso, preciso parar... hehehe

Will Code For Food
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team