Boa tarde pessoal, andei lendo sobre SOAP e REST e me interessei pelo assunto a ponto de fazer minha monografia sobre o mesmo.
Mas o problema,como todos sabem é o problema.
Estive pensando e abordar o REST como aternativa ao SOAP na utilização de Web services.
Meu objetivo seria estudar em que casos é possível substituir SOAP pelo REST, colocar os 2 na “balança”.
Minha duvida é: este pensamento estaria correto?
Para quem entende mais do assunto, seria viável esta comparação?
Não conheço o assunto afundo pra ter uma idéia da profundidade do problema rsrsrs.
[quote=minin]Boa tarde pessoal, andei lendo sobre SOAP e REST e me interessei pelo asunto a ponto de fazer minha monografia sobre o mesmo.
Mas o problema,como todos sabem é o problema.
Estive penando e abordar o REST como aternativa ao SOAP na utização de web services.
Meu objetivo seria estar em que casos é possível substtuir SOAP pelo REST, colocar os 2 na “balança”.
Minha duvida é: este pensamento estaria correto?
Para quem entende mais do assunto, seria viável esta comparação?
Nâo conheço o assunto afundo pra ter uma idéia da profundidade do problema rsrsrs.
Nao. REST é um padrao arquitetural para sistemas escalaveis, SOAP é um formato binario de transferencia de documentos. Pra fazer sentido a comparacao deve ser entre SOAP vs. HTTP, ou entao SOA vs. REST/ROA.
[quote=cmoscoso]Nao. REST é um padrao arquitetural para sistemas escalaveis, SOAP é um formato binario de transferencia de documentos. Pra fazer sentido a comparacao deve ser entre SOAP vs. HTTP, ou entao SOA vs. REST/ROA.
[/quote]
Não viaja cara!!! Que tal um pouco de iniciativa e uma pesquisa no Google para não falar abobrinha?
Em se tratando de SOA (Service-oriented architecture) o SOAP (Simple Object Access Protocol) que é protocolo para troca de informações baseado em XML.
Vale a pena dar uma olhadinha nesse artigo do InfoQ http://www.infoq.com/news/2008/06/whoa-woa
Faz um tempão que eu tento colocar REST para integração de sistemas, mas sempre acabo tendo que usar SOAP. Por que? Queria ou não, para coisas simples é mais fácil.
Por mim, usava REST mas como tenho que fazer integrações com softwares de outros sistemas desenvolvidos por outras pessoas, a facilidade de uso acaba ganhando
[quote=Rubem Azenha]Faz um tempão que eu tento colocar REST para integração de sistemas, mas sempre acabo tendo que usar SOAP. Por que? Queria ou não, para coisas simples é mais fácil.
Por mim, usava REST mas como tenho que fazer integrações com softwares de outros sistemas desenvolvidos por outras pessoas, a facilidade de uso acaba ganhando :([/quote]
REST nao há geracao de cliente logo sua desculpa é furada!
Sem falar que usando SOAP qualquer alteracao no servico necessita gerar um novo cliente.
Você prestou atenção no que eu escreve? É justamente por REST não ter geração de cliente que eu acho que em alguns casos SOAP é mais “simples”.
[quote=cmoscoso]
Sem falar que usando SOAP qualquer alteracao no servico necessita gerar um novo cliente. [/quote]
Certo, talvez… mas se vocÊ alterar o serviço, tanto em REST como em SOAP você vai precisar de alguma forma alterar a aplicação.
Considerando apenas o fato que em REST vc provavelmente nao tera que gerar o cliente, haveria uma reducao de 50% nos cliques de botao para disponibilizar o servico, de acordo com o procedimento por vc descrito.
Se for pra considerar apenas o aspecto tecnico das solucoes e deixarmos de lado os aspectos politicos da substituicao de uma tecnologia ultrapassada e capacidade de escolher as ferramentas apropriadas, REST seria mais simples neste caso.
[quote=Rubem Azenha]
Certo, talvez… mas se vocÊ alterar o serviço, tanto em REST como em SOAP você vai precisar de alguma forma alterar a aplicação.[/quote]
Em relacao a integracao com software de terceiro, geracao de cliente nao te ajuda nada, pelo contrario, imagine se precisassemos reinstalar o GUJ a cada mudanca de layout. Com REST é parecido ja que o servico é descrito na medida em que é acessado.
Com REST eu não tenho que gerar o cliente, eu tenho que ESCREVER o cliente, usando um HttpCommons da vida.
Não estou falando que isso é o fim do mundo, mas que é mais fácil com “generate WSDL client” , é mais fácil…
[quote=cmoscoso]
Em relacao a integracao com software de terceiro, geracao de cliente nao te ajuda nada, pelo contrario, imagine se precisassemos reinstalar o GUJ a cada mudanca de layout. Com REST é parecido ja que o servico é descrito na medida em que é acessado.[/quote]
Com rest se você mudar o formato da resposta (se for, por exemplo, XML e você remover ou alterar uma tag) vai ter que alterar o código do client para fazer o parse da resposta.
Tenho a impressao que esta supervalorizando o cliente gerado por WSDL. Ele nada mais é do que um “stub” para acessar um servico remoto, sem as regras de negocio que pertencem a uma aplicacao cliente. Eventualmente alguem tera que escrever a aplicacao cliente que fara uso final do web service, isso independente de ser ROA ou SOA. REST é diferente na medida que o acesso se da por meio de uma interface generica e por isso praticamente todas as linguagens ja oferecem bibliotecas prontas para o acesso, nao havendo necessidade de escrever um cliente pra cada servico. Consequentemente, o codigo que utiliza o cliente geardo pelo WSDL poderia usar algo pronto como HttpClient para acessar um servico WOA.
[quote=Rubem Azenha]
Com rest se você mudar o formato da resposta (se for, por exemplo, XML e você remover ou alterar uma tag) vai ter que alterar o código do client para fazer o parse da resposta.[/quote]
Creio que REST nao diz nada sobre formatos, fica a criterio da sua implementacao. Mas clientes tem a oportunidade de ignorar aquilo que nao entendem. Por outro lado, servicos descritos por WSDL nao possuem esse privilegio.
Bom pessoal, andei lendo o livro RESTful Serviços Web e em um trecho do livro:
[quote]SOAP como concorrente do REST
Se você envolver-se em debates sobre o serviço web, ouvirá muito falar sobre isto. Você não escutará nada sobre ele aqui, pois isto dá a impressão errada. OS concorrentes principais das arquiteturas REST são as arquiteturas RPC, não tecnologias específicas como o SOAP. È verdade que, basicamente , todo serviço SOAP atual tem uma arquitetura RPC, mas o SOAP é apenas um modo de colocar um documento em um envelope adesivado, como o HTTP. O SOAP está ligado à arquitetura RPC, principalmente, por uma contingência histórica e pela geração atual de ferramentas automatizadas.
[/quote]
Esta comparação REST vs SOAP é digamos inválida, então estive pensando em modificar meu tema para algo em torno de Arquitetura REST/Arquitetura RPC com SOAP.