Android + Servidor

Baum, quais seriam os passos para fazer o seguinte:

Criar uma aplicação no Android, no qual a mesma envia, por exemplo, um objeto PESSOA para
uma pagina JSP, JSF (qual é possivel fazer isso, e melhor?), e quando esse objeto chegar ao destino
o mesmo fará a persistencia no banco.

Tutoriais?
OBS: Não tenho experiencia com comunicação externa.

Obrigado.

Olá!

Existem várias maneiras de fazer essa comunicação:

  • Um ServerSocket, ao qual você definiria na mão um protocolo de comunicação entre os nós de rede (o que dispensaria o JSF/JSP) e deixaria teu servidor independente de cliente (qualquer coisa que consiga se conectar via TCP e entenda seu protocolo poderá utilizar seu servidor)

Vantagens: O cliente precisa apenas utilizar TCP, o que faz com que qualquer tipo de dispositivo embarcado que saiba como se comunicar via TCP consiga se comunicar com seu servidor

Desvantagens: Seu protocolo deverá ser implementado na mão e a troca de textos deverá ser parseada em ambos os nós, algo tipo (repare que você terá que fazer tudo na mão):

Cliente envia: "acao=‘salvarPedido’;"
Cliente envia: "pedido=[cliente=‘Fulano de Tal’,dataCompra=‘17/02/2000’,produtos=[‘Camisa Branca’,‘Camisa Azul’,‘Calça Vermelha’]];"
Servidor recebe, parseia, salva e devolve: “resposta=‘sucesso’;”

  • O teu cliente android poderia usar páginas HTML (HTTP simples), onde ele chamaria uma URL passando os parametros via GET ou POST, como uma web application normal

Vantagens: Qualquer cliente com um browser (ou qualquer coisa que implemente HTTP) conseguiria acessar teu servidor

Desvantagens: Ainda sim, seu protocolo deverá ser desenvolvido na mão, algo do tipo (no exemplo está um GET, mas podia ser muito bem um POST):

Cliente requisita; http://www.suawebapplication.com/?acao=salvarPedido&pedido=[cliente='Fulano…
Servidor recebe, parseia, salva e devolve uma página HTML: Sucesso!

  • Teu servidor pode disponibilizar seus serviços por meio de Web Services (REST ou SOAP) e fazer tua aplicação Android consumi-los, ví algo por cima aqui e aqui.

Vantagens: Como agora tanto REST quanto SOAP são specs, você tem além de um material muito rico na net, várias ferramentas para automatizar a construção da sua solução. Do lado do cliente android eu já não conheço muita coisa, mas acredito que o bind entre a comunicação entre os nós e os objetos deve ser feita de maneira transparente por alguma ferramenta. Do lado do servidor, nenhuma novidade.

Desvantagens (que na verdade não é nenhuma desvantagem): Você vai ter que estudar REST ou SOAP e achar um cliente que consuma isso no android

Abraços

Acredito que a solução de requisições GET ou POST via HTTP é a mais simples e robusta.
Mas cada caso é um caso. Keep it simple.