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