7 de outubro de 2010

Entendo o REST, comparando com o SOAP

REST nada mais é que um conceito, uma técnica de engenharia de software, um conjunto de princípios de arquitetura que tenta correlacionar a distribuição de serviços na web como um conjunto de operação CRUD para a persistência de dados.

* Create = PUT
* Retrieve = GET
* Update = POST
* Delete = DELETE


Para ficar claro, apresentarei um exemplo do site amazon.com, que disponibiliza serviços com o conceito REST, lembrando sempre da correspondência acima. Toda especificação está disponível no site da amazon.com:

GET Object

Essa implementação REST retorna objetos da Amazon. É interessante para serviços que queiram funcionar de maneira integrada.

Request

A requisição seguinte retorna o objeto, my-image.jpg.

GET /my-image.jpg HTTP/1.1
Host: bucket.s3.amazonaws.com
Date: Wed, 28 Oct 2009 22:32:00 GMT
Authorization: AWS 02236Q3V0WHVSRW0EXG2:0RQf4/cRonhpaBX5sCYVf1bNRuU=

Response

HTTP/1.1 200 OK
x-amz-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran
x-amz-request-id: 318BC8BC148832E5
Date: Wed, 28 Oct 2009 22:32:00 GMT
Last-Modified: Wed, 12 Oct 2009 17:50:00 GMT
ETag: "fba9dede5f27731c9771645a39863328"
Content-Length: 434234
Content-Type: text/plain
Connection: close
Server: AmazonS3
[434234 bytes of object data]

O conceito do REST está aí, nessa idéia simples.

REST define contextos pelas URI's, e métodos pelos verbos HTTP, que tem sua semântica definida segundo a mesma idéia do CRUD.

/entry/4156, o GET retornaria a documentação referente ao contato.

É importante ressaltar que, em dados vistos pela Internet, cerca de 85% dos acessos aos serviços disponibilizados pela Amazon são via REST, o restante é sobre SOAP.

Temos que lembrar que SOAP é um protocolo dentro de outro e REST é apenas HTTP. Ou seja, o desempenho do REST é melhor. REST é mais leve e simples.

Referencias

References


Nenhum comentário:

Postar um comentário