Inquiridor
Melhor caminho para comunicação cliente servidor...

Discussão Geral
-
Pessoal, estaremos iniciando aqui um novo projeto q envolve a comunicação de dispositivos android com um servidor.
Basicamente o mobile receberá uma lista de serviços de uma determinada cidade, o usuário poderá fazer um pedido e aguardar a entrega chegar no endereço cadastrado.
O servidor será escrito em c# e os clientes em java(android).
Qual tecnologia utilizar entre: sockets ou webservices?
E qual os pros e contras das duas... a velocidade de comunicação e importante visto q será feito para funcionar com as redes de telefonia móvel.
Vamos começar a discutir esse assunto? Um grande abraço a todos.
Se a resposta foi útil, por favor marque como útil. Leia a bíblia.
- Editado Tianodraco segunda-feira, 20 de maio de 2013 20:27
Todas as Respostas
-
Pessoal dei uma pesquisada na net e vi q consumir webservice a partir de dispositivos moveis não é muito recomendado devido ao custo q gera na rede....
transcrevendo de http://zbra.com.br/2011/03/30/consumindo-web-service-em-aplicacoes-android/:
"Vale observar que o consumo de Web Services em dispositivos móveis não é recomendado pela equipe de desenvolvimento do Android devido ao overhead que o processamento do SOAP exige. Se você tem controle sobre o servidor, o ideal é usar arquiteturas baseadas em REST tal como ODATA."
Que vcs acham?
Se a resposta foi útil, por favor marque como útil. Leia a bíblia.
- Editado Tianodraco terça-feira, 21 de maio de 2013 11:42
-
Lendo ainda mais na web, descobri sobre o REST/JSON... achei um pouco complicado, mas isso é natural quando não se conhece a tecnologia.
Basicamente, preciso criar um webservice(REST - JSON) em c# e consumi-lo a partir de uma aplicação android, via JSON.
Alguem sabe por qual caminho eu posso começar, ou conhece algum tutorial q trate disso?
Vi uns artigos do macoratti do asp.net MVC mas não consegui entender do meio pro fim... precisaria de algo com uma didática mais calma.
Se a resposta foi útil, por favor marque como útil. Leia a bíblia.
-
Tiano,
MVC com Web API você acha tutorias ao quilos na internet:
http://www.iwantmymvc.com/rest-service-mvc3
http://www.codeproject.com/Articles/233572/Build-truly-RESTful-API-and-website-using-same-ASP
Você pode estar fazendo isso com WCF também, veja:
http://msdn.microsoft.com/pt-br/library/dd941696.aspxVitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/ -
-
Opa com certeza, este thread já é do tipo "discussão", então vamos discutir :D
Nos mantenha informado, e qualquer duvida é só sinalizar.
Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/ -
Vitor vi alguns exemplos no site do macoratti e em outros sites, achei fantástico.
Penso q o próximo passo, após criar a web api, é saber como um aplicativo android fará pra consumi-lo.
Fora isso, fiquei com dúvida sobre a segurança... basicamente a api expõe seus results simplesmente utilizando uma chamada : www.nomedosite.com/api/metodo
Então... como ficaria pra q eu pudesse bloquear o acesso para q apenas meu aplicativo pudesse fazer uso dessa api?
Se a resposta foi útil, por favor marque como útil. Leia a bíblia.
- Editado Tianodraco terça-feira, 21 de maio de 2013 19:30
-
Tiano,
Pode ser através de um token ou usuário e senha. Você já deve ter notado que muitas API (Google, Microsoft, Wordpress e etc) tem disponibilizam um chave unica sua que deve ser informado junto a consulta, o mesmo vale para consumos REST.
Vamos tomar como exemplo o site aqui de SP (http://olhovivo.sptrans.com.br/) ele mostra os itinerários do ônibus, porem não existe segurança (é aberto mesmo), eu posso monitorar pelo console do navegador (Chrome, IE, FIrefox) e recuperar a URL e usar na minha aplicação, exemplo deste ônibus aqui:
http://200.189.189.54/InternetServices/Previsao?cb=jQuery17208414182343985885_1369164628664&codigoParada=260016859&codigoLinha=1877&_=1369164651283
Me retornou um JSON de todos os ônibus na linha circulando agora.
Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/ -
Entendi, agora basta eu saber como farei tudo isso.
Pra quem ta começando e difícil. Tenho toneladas de perguntas, mas não sei se aqui é o lugar certo pra falar disso, visto q muitas delas, apenas de utilizar um web service escrito em c#, diz respeito ao android, em como pesuisar informações de um banco de daos na web, atraves de um webservice.
Acho q eu preciso inicialmente da um passo de cada vez, o primeiro deles seria: criar um wbservice(rest/json) capaz de gerenciar uma base de dados mysql... nos exemplos q eu vi ele gerou os dados no código, apenas pra efeito de demonstração.... penso q seria possível alí utilizar EF pra recuperar os dados de um banco de dados mysql... depois fazer operações CRUD em cima desses dados... esse é o primeiro passo.
O segundo passo seria consumir esse serviço a partir de um aplicativo android, escrito em java... queria fazer tudo com C#, utilizando o XAMARIN, mas nao posso comprar aquilo por enquanto... vai ter q ser no eclipse, usando java mesmo. Então criar um código capaz de recuperar essas informações do nosso WS escrito em c#... mas apenas se a aplicação for autenticada, ou seja, enviando algo como um código (GUID) capoaz de validar e liberar o acesso para a aplicação, assim como vc falou... muitas dúvidas aqui nesse segundo passo... mas o q seria de nós, programadores, se não fosse o gosto de vencer esses desafios?
Se a resposta foi útil, por favor marque como útil. Leia a bíblia.