You are on page 1of 1

1

RESTful Web services: The basics


Victor Hugo L azaro Lopes
I. INTRODUC AO
A
Arquitetura de refer encia para construc ao de Web Ser-
vices RESTful tem ganhado ampla aceitac ao em toda a
Web, como alternativa mais simples ao uso do protocolo SOAP
e Web Services baseados em WSDL. Evid encia desta mudanca
est a na adoc ao por grandes players do mercado web, como
Yahoo, Google e Facebook.
II. THE BASICS
Acompanhando este crescimento, a IBM disponibiliza um
artigo de Alex Rodriguez [1], que apresenta os princpios
b asicos do REST.
Rest dene um conjunto de princpios de arquitetura
pelo qual voc e pode criar servicos Web que se concentram
em recursos de um sistema, que utiliza transfer encia de
estados entre diferentes tipos de clientes, escritos em diversas
linguagens de programac ao, baseando-se em HTTP.
Na verdade, Rest tem atrado tantos projetos pois e um
estilo consideravelmente mais simples de se usar.
O RESTful basics sugere que se siga quatro princpios para
design:
Use m etodos HTTP explcitos;
Seja estateless;
Exponha sua estrutura de diret orio como URI;
Represente dados com XML, JSON ou ambos.
Tais princpios s ao detalhados:
III. USE M ETODOS HTTP EXPLICITOS
Uma das principais caractersticas de Web Services
RESTful e que eles utilizam de forma explcita metodos do
protocolo HTTP, com todas as operac oes CRUD.
O Basics estabelece princpios de design para estas operac oes:
Para criar um recurso no servidor, use POST;
Para recuperar um recurso, use GET;
Para atualizar um recurso, use PUT;
Para remover um recurso, use DELETE.
IV. SEJA STATELESS
Servicos web REST precisam ser escalon aveis para atender
` as demandas cada vez mais elevadas de desempenho. As
estruturas de servidores em clusters formam uma topologia
que permite que solicitac oes ` a servicos sejam encaminhadas
de um servidor para outro, visando diminuir o tempo de
resposta ` a solicitac ao de um servico web. Neste meio, a
utilizac ao de servidores intermedi arios pare melhorar o
escalonamento exige web services sem qualquer estado entre
as solicitac oes.
A solicitac ao completa e independente n ao requer que o
servidor, durante o processamento do pedido, envie qualquer
contexto ou estado da aplicac ao. Um WS RESTful inclui
dentro dos pacotes HTTP um pedido de todos os par ametros,
contexto e dados necess arios para o componente ao servidor,
que gera uma resposta.
A falta de estado melhora o desempenho do Web Service e
simplica a implementac ao de componentes no lado servidor,
pois isso remove a necessidade de sincronizar os dados da
sess ao com aplicativos externos.
V. EXPONHA SUA ESTRUTURA DE DIRET ORIO COMO URI
Utilize URIs para expor servicos web de forma intuitiva,
como uma interface de auto-documentac ao que requer pouca
ou nenhuma explicac ao ou refer encia. Este tipo de URI deve
ser hier arquica, de raz unica e ramicac ao em sub-paths, que
exp oe areas principais do servico.
VI. REPRESENTE DADOS COM XML, JSON OU AMBOS
Recursos de representac ao de dados normalmente reetem o
estado atual de um recurso, e seus atributos, no momento que
um cliente solicita. Sendo assim, um recurso de representac ao
de dados s ao elementos temporais, que devem transmitir
os atributos do sistema de banco de dados da aplicac ao no
servidor ao cliente solicitante.
Portanto, web services RESTful devem utilizar um formato
de representac ao de dados como recurso para impor restric oes
entre pedido e resposta, que devem ser transportadas pelo
HTTP. Para tal, REST prov e a utilizac ao de JSON, XML e
XHTML. Isto permite que o servico possa ser utilizado por
uma grande variedade de clientes, escritos em linguagens difer-
entes que funcionam em diferentes plataformas e dispositivos.
VII. CONCLUS AO
REST nem sempre e a melhor soluc ao. Por em, ele foi
pensado como uma maneira de projetar Web Services com
menos depend encia de middleware propriet ario que o SOAP.
REFERENCES
[1] ws restful. http://www.ibm.com/developerworks/webservices/library/ws-
restful/. [Online; accessed 30-October-2013].

You might also like