RESTful WEB Services – O livro

Não sei se esse livro que estou lendo está me fazendo “lavagem” cerebral ou se está abrindo meus olhos/me educando:

É como se fosse uma clarificação da tese do Roy, que é bem vaga de certa forma. O livro mostra como aplicar o Http para criação de REST WEB Services.

Fazer um get para apagar/criar/editar é terminantemente proibido! Quando você faz isso você fere a ROA, arquitetura orientada a recursos que ele propõe no livro.

A ROA, por outro lado, é na verdade uma implementação do REST com uns esclarecimentos e algumas regras chatas. ROA usa complemente Http. Informações de método(PUT, GET e DELETE) da na URI fazem o serviço ser misto com RPC. Na prática isso significa que ser uma URI exige um get para criar assim, por exemplo:

/recurso/apagar?id=ID

fere profundamente o proposto no livro. Agora, preste atenção e descobrirá muitos serviços que funcionam dessa forma! O GET não deve modificar recurso! Nunca! Assim como PUT e DELETE devem ter idempotência ( é um conceito mais complicado, leia e tire suas conclusões🙂 ),.

O mais interessante é que o livro mostra uma “carinha feliz”, na qual você pensa que vai ficar fazendo $.get em um monte de lugar para pegar dados e apresentar, no entanto, no primeiro ponto ele destrói essa idéia! Chega falando que é o primeiro material publicado a apresentar um padrão para o REST, depois ataca a complexidade do SOAP, fala que a comunidade REST pode se ofender com o proposto no livro e propõe a ROA. O livro é espetacular!

Por fim, não falta código no livro! Ele explora WEB Services de diversos serviços populares como o Flickr, Amazon S3, delicious. Usa o Ruby como linguagem, mas quem não sabe nada não se preocupe, ele explica tudo direitinho.

Estou na metade do livro, mas já aguentei o bastante para saber que vou até o fim (quem me conhece sabe o problema que tenho com livros: São dezenas lidos pela metade[só terminei o Gof, mas pulei umas partes ainda :S]).

Essa é minha opinião sobre o livro, caso discorde, ou se leu o livro e tem outra, comente!

5 Respostas

  1. Sobre o SOAP, sempre achei muito complexo também. O nome é Simple Object Access Protocol, mas de simples ele não tem nada.
    Sobre o REST, acho que existe um certo oba oba, mesmo porque você tem que fazer umas gambiarras se quiser fazer uma requisição REST do HTML. Outra coisa é que voce tem a URI /produto/5.. se voce faz com GET, voce ve o produto, se faz com DELETE voce deleta o produto, até aí interessante se não fosse o fato de até hoje voce nunca ter se preocupado com um parâmetro que fica lá dentro do pacote HTTP. E as duas URIs serem a mesma.
    Metade da informação está na URI e a outra metade está no pacote HTTP. Isso fere um dos principios básicos de programação: o High Cohesion (tá no GOF inclusive), que diz que coisas que tem ligação devem ficar no mesmo lugar.
    As vezes fala-se sobre novos paradigmas, e quem defende os novos paradigmas esquecem que tem prós e contras. Acho que esses contras que citei deviam ser melhor estudados porque nem os browsers que todo mundo usa hoje são RESTFull.
    Talvez a utilidade de RESTFull sejam os Web Services.. pra substituir o SOAP, acho que vai melhorar bastante…

    • As vezes fala-se sobre novos paradigmas, e quem defende os novos paradigmas esquecem que tem prós e contras. Acho que esses contras que citei deviam ser melhor estudados porque nem os browsers que todo mundo usa hoje são RESTFul.

      Eles sabem que a WEB está “zoada” quanto a isso. Eles propõe essa arquitetura como se fosse o essencial, tipo, o modelo ideal. Sabem que dificilmente um serviço fica complemente usando a interface uniforme, até porque os formulários WEB não suportam todos os métodos.
      Na verdade o paradigma não é novo, é uma aplicação do REST, que Roy propôs em 2000…. Os caras só colocam no papel, só não chamaram de REST porque alguns pontos não sãp 100% aceitos. Tem gente que ainda acha melhor fazer o que eles chamam de POST sobrecarregado invés de gerar toda a arquitetura com a interface uniforme do HTTP…

  2. O’REILLY é show mesmo!
    Quero deixar pra me aprofundar em WebServices mais na frente!

    Vllew Jesuino!!🙂

  3. Olá, aonde vc conseguiu comprar o livro?

    att

    • Olá Gabriel,

      Se não me engano comprei na livraria cultura.

      O atendimento deles nem é bom, mas é onde encontro todos os meus livros🙂

      Até Mais

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: