Muito se ouve falar de webservices Rest... porem qual seria a real diferença em termos de performance e implementacao de um Rest, comparado a um webservice tradicional SOAP, usando ferramentas como Jax-ws? se possivel, postem um pequeno exemplo ou link.
Muito se ouve falar de webservices Rest... porem qual seria a real diferença em termos de performance e implementacao de um Rest, comparado a um webservice tradicional SOAP, usando ferramentas como Jax-ws? se possivel, postem um pequeno exemplo ou link.
Antecipadamente Agradecido
André Martins[/quote]
A diferença entre webservice REST e webservice “SOAP tradicional” é justamente a forma de implementar sistemas distribuídos. Talvez por isso haja tantas “reais diferenças” entre elas e não apenas uma para te dar como exemplo. Procure no google sobre REST e ira encontrar pilhas de informações a respeito.
A grande diferença é que REST não tem a complexidade engessada e difícil de manter do SOAP.
Para aprender REST, esqueça JAX-WS e mesmo JAX-RS.Primeiro entenda o que é REST e como se monta um sistema baseado em REST. Há muita coisa por aí que se diz REST mas que o Ray Fielding não aceita como REST. Por isto insisto que entenda o conceito.
[quote=garcia-jj]Basicamente a diferença entre SOAP e rest é o fato do rest não ter exatamente um padrão.
SOAP
você possui um contrato entre o cliente e servidor
a requisição é enviada em um envelope baseado no contrato
envelope tornam maior os dados trafefados
pode ser stateless ou statefull
REST
não possui contrato
a requisição é enviada passando os parametros na URL (tanto em pares como via nice urls)
apenas stateless
lighweight
Obviamente isso é um resumão.[/quote]
Sem contrato como o cliente fica sabendo das capacidades do serviço? REST POSSUI contrato, mas este não é definido estaticamente.
Requisições em REST possuem representações, que não deixa de ser um tipo de envelope. A diferença é que SOAP trata o HTTP como um protocolo de transporte de envelopes e REST é baseado em transferência de representações. Pode ser complicado entender isso no começo, mas é uma das diferenças chave entre os dois.
REST não é um padrão, mas um conjunto de decisões arquiteturais visando a implementação de sistemas altamente escaláveis. Uma dessas decisões arquiteturais é de comunicação stateless. Quanto a ser um padrão, acho relativo isso ser importante, porque webservices SOAP (que é considerado um padrão) esta em pleno desuso enquanto REST é o principal ativador da nova onda Web 3.0.
Sem contrato como o cliente fica sabendo das capacidades do serviço? REST POSSUI contrato, mas este não é definido estaticamente.
Requisições em REST possuem representações, que não deixa de ser um tipo de envelope. A diferença é que SOAP trata o HTTP como um protocolo de transporte de envelopes e REST é baseado em transferência de representações. Pode ser complicado entender isso no começo, mas é uma das diferenças chave entre os dois.
REST não é um padrão, mas um conjunto de decisões arquiteturais visando a implementação de sistemas altamente escaláveis. Uma dessas decisões arquiteturais é de comunicação stateless. Quanto a ser um padrão, acho relativo isso ser importante, porque webservices SOAP (que é considerado um padrão) esta em pleno desuso enquanto REST é o principal ativador da nova onda Web 3.0.[/quote]
Muito bom complementar, porém discordo de que SOAP está em desuso.