Olá.
Estou começando o desenvolvimento de uma aplicação para o Android que terá uma comunicação com um servidor. O servidor fará então a comunicação com um banco NoSQL.
Minha dúvida é, qual tecnologia é mais viável para o que estou planejando fazer ?
Fiz protótipos usando sockets, http e webservice. Confesso que testando local todas me pareceram viáveis, porém não sei o que pode acontecer se o app crescer e demandar um alto fluxo de dados.
Gostaria da opinião de vocês.
Obrigado.
Depende muito do que você quer fazer, mas web service ou restful acho que são ideais.
Então, o que vai acontecer é uma comunicação com um banco de dados online.
Assim que o usuário fizer o login o app faz a comunicação com o servidor e este servidor retorna os dados do usuário que estão online.
[quote=Joe_Junior]Então, o que vai acontecer é uma comunicação com um banco de dados online.
Assim que o usuário fizer o login o app faz a comunicação com o servidor e este servidor retorna os dados do usuário que estão online.[/quote]
Mas nesse caso então, não seria mais fácil usar uma conexão normal. A própria APP se comunicar diretamente com o banco de dados? Como acontece geralmente.
Existe outra forma de fazer comunicação com um banco que não esteja local, ou seja, não está fisicamente no device ?
Existe o SQLite, onde você cria um banco e importa ele para o device, porém tenho comigo que este apenas é útil para aplicações pequenas. No meu caso não iria funcionar.
Mas na url de conexão você pode adicionar o IP da máquina que armazena o seu banco. É assim que funciona aplicações em redes que usam o mesmo banco de dados, cada máquina tem seu próprio IP, mas acessam o banco de uma máquina com IP diferente.
[quote=romarcio][quote=Joe_Junior]Então, o que vai acontecer é uma comunicação com um banco de dados online.
Assim que o usuário fizer o login o app faz a comunicação com o servidor e este servidor retorna os dados do usuário que estão online.[/quote]
Mas nesse caso então, não seria mais fácil usar uma conexão normal. A própria APP se comunicar diretamente com o banco de dados? Como acontece geralmente.[/quote]
“Geralmente” ? Só se o cara estiver louco (deixar um banco de dados na Internet) ou então estiver usando uma VPN (e suporte a VPNs é um pouco difícil em dispositivos “mobile”).
Em uma aplicação Desktop até concordo que alguém, usando uma VPN, tenha acesso direto ao banco. Mas em um dispositivo Android isso seria um pouco questionável.
Então, a idéia não é fazer a comunicação direta com o banco. Eu quero fazer a comunicação com uma aplicação que estará online (servidor) aí essa aplicação vai conversar com o banco de dados.