REST... o que seria? existe um padrao?

Bom dia Pessoal…

                    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=Andre_JavaWorld]Bom dia Pessoal…

                    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.

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.

Olá

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.

http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

http://www.crummy.com/writing/RESTful-Web-Services/

[]s
Luca

[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.

[quote=mochuara]

  • 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.

Há um movimento querendo padronizar, tem uma
discussão aqui http://www.guj.com.br/posts/list/138626.java

[quote=garcia-jj]
Muito bom complementar, porém discordo de que SOAP está em desuso.[/quote]

Não vejo porque alguém escolheria SOAP hoje para novos desenvolvimentos.