Webservices - Qual e quando utilizá-los?

Integrar dados entre celular e servidor web, neste caso o caminho é usar webservices ?! Qual implementação usar ?

Bom, posso te adiantar que sim, webservices é uma ótima alternativa para soluções como a sua.

Webservice é um ótimo integrador de tecnologias heterogêneas, que no final utiliza o XML para para realizar a comunicação entre as aplicações.

Agora qual usar, depende, eu conheço mais o websphere e o axis. Acredito que o “Core” seja o mesmo, o que deve mudar mesmo é sua usabilidade e alguns recursos.

Remomendo você comprar a Java Magazine desses mês, tem uma matéria bem interessante sobre sua implementação.

Fala fsfnit, obrigado pela resposta e pela recomendação da revista, minha intenção é criar um aplicativo no Android e utilizar essa integração com um servidor web, então prentendo usar isso como aprendizado em novas soluções, estive dando uma olhada e o Axis 2 que usa a implementação Rest, agora preciso saber há algum problema neste caso.

Outra dúvida que tenho no modulo web gostaria de sugestões sobre que arquitera é interessante atualmente servir como aprendizado !

  • Frameworks MVC ?

  • Hibernate / JPA ?

  • RIA seria interessante, mas qual ?

Sobre qual Webservices, eu procuraria o mais usado, mas não tenho essa resposta, acredito que seja o Axis. Pois ai você encontra mais documentação e implementações.

Como te falei, na java magazine 75 tem uma implementação simples de um webservices, entra no site que você comprar o artigo online.

Sobre o padrão, é meio que pessoal. MVC, Hibernate / JPA estão consolidados.
Sobre o RIA, acredito que você possa utiliza-lo em conjunto com qualquer padrão.

Estou meio afastado de desenvolvimento web, outras pessoas podem lhe aconselhar melhor.

Depende… web services REST são uma ótima alternativa para sistemas simples, quando o que se quer mesmo é fazer um CRUD ou algo assim. Já serviços mais complexos, recomendo usar a especificação WS-* , com JAX-WS (a maioria dos servidores de aplicação modernos suportam). Isso porque REST não possui muito suporte em outras ferramentas mais “enterprise”, como as que são utilizadas em SOA.

[]´s

Existe a possibilidade de usar RMI? Seria interessante você analisar direito e ver se o uso de webservice não é muita coisa pra pouca coisa que você precisa (matar uma formiga com uma granada).
Se for só um CRUD básico entre o dispositivo e o servidor, pode ser mais fácil implementar o RMI (se funcionar com o dispositivo). Agora, se você precisa acessar o servidor tanto por meio de dispositivos móveis como de computadores, terminais, thin clients (e até mesmo disponibilizar o webservice para uso ‘de fora’, com outros programadores construindo sistemas que consomem o seu webservice), pode ser melhor usar o webservice.

De uma olhada, também, em JNP (Java Network Programming).

Axis2 é uma boa opção.

Dá uma lida no artigo em anexo que as coisas podem clarear um pouco.

Valeu pelo feedback fsfnit , asaudate e Andre, já estou lendo o material que me mandou, bom agora é colocar a mão na massa.

Basicamente o que quero fazer é o seguinte: No celular Android será desenvolvido um aplicativo que irá oferecer uma opção para o cliente realizar uma compra de produtos, por exemplo, esta compra alimentaria uma base de dados, podendo ser manipulado pelo modulo Web, não sei fui bem claro, mas em resumo é isso.

[quote=javaredfoot]Valeu pelo feedback fsfnit , asaudate e Andre, já estou lendo o material que me mandou, bom agora é colocar a mão na massa.

Basicamente o que quero fazer é o seguinte: No celular Android será desenvolvido um aplicativo que irá oferecer uma opção para o cliente realizar uma compra de produtos, por exemplo, esta compra alimentaria uma base de dados, podendo ser manipulado pelo modulo Web, não sei fui bem claro, mas em resumo é isso.

[/quote]

Não seria mais simples criar servlets comuns?

[]´s

Pode ser uma opção sim, mas me interessei em estudar sobre Webservices e gostaria de um projeto para colocar em prática no meu TCC, gostaria de alguma sugestão que envolvesse comunicação de dados com dispositivos móveis, neste caso o Android que por sua vez usa Java.

Eu sou suspeito pra falar sobre isso :wink:

(Pra mim, o melhor jeito de integrar coisas é usar Web Services simples e orquestrá-los com BPEL. :wink: )

[]´s