Estou estudando sobre Webservice, e pelo que entendi (e testei), ele é similar aos Servlets em uma aplicação WEB. Estou com algumas dúvidas… se alguem souber responde-las, agradeço e muito:
:?: - Convem utilizar webservice para inserir dados nas aplicações e deixar os servlets de lado?
:?: - Qual é a diferença exata entre servlet e webservice? sei que webservice é soap, e disponibiliza wsdl, mas digo à nivel de funcionamento.
:?: - Qual o melhor (e/ou mais usado) : Apache Axis ou XFire (CXF) ? Ou existe algum melhor?
:?: - Quais seriam as melhores aplicações para webservice? (search… disponibilização de catalogo de vendas… que mais?)
Opa, Webservices e servlet são coisas diferentes!!
Servlet são componentes que rodam do lado servidor, dentro de um Web container. Utilizado geralmente em aplicações web (ou mesmo desktop) que implementam o modelo MVC (assim os servlet ficariam com a camada de controler desse padrão).
Os webservices são utilizados para sistemas distribuidos, onde seu sistema deve comunicar-se com outro sistema (e não importa qual linguagem/tecnologia a outra aplicação foi desenvolvida).
Em resumo, se sua aplicação é we, que implementa o modelo MVC e não irá comunicar com nenhuma aplicação, você deve usar servlet (ou algum framework MVC), caso você precise comunicar-se com outros sistemas, ai sim você usa webservices.
Caso for estudar melhor webservice, dê uma boa olhada no REST, que é mais simples e mais produtivo de trabalhar ao invés do WS* (no próprio GUJ isso já foi bem discutido)
Servlets são SEMPRE para aplicações Web. Quando uma aplicação desktop precisa acessar um recurso na Web (via URLConnection, por exemplo) ele acessa um servlet de outra aplicação, isso não quer dizer que a sua aplicação desktop tenha um servlet!!
E sobre servlet e MVC, bem, nem preciso falar… veja a definição: Servlet == Tecnologia, MVC == Padrão… Não há ligação de Servlet com MVC… há a tendencia de se juntar MVC e Servlet em aplicações, como boa pratica, mas…
Já webservice, é uma das diversas maneira de disponibilizar um ou mais serviços do seu sistema para outros sistemas, seja numa mesma empresa ou seja na internet.
Rest é uma maneira de contruir WebServices… talvez a que esteja na moda hoje em dia, apesar da sua aparição ser bem antiga (2000)…
[quote=Wikipedia]Servlet é uma tecnologia que insere novos recursos a um servidor, a definição mais usada é que são consideradas extensões de servidores, essa tecnologia disponibiliza ao programador da linguagem Java uma interface para o servidor web (ou servidor de aplicação), através de uma API. As aplicações baseadas no Servlet geram conteúdo dinâmico (normalmente HTML) e interagem com os clientes, utilizando o modelo request/response. Os servlets normalmente utilizam o protocolo HTTP, apesar de não serem restritos a ele.