Revista Engenharia de Software 19
Esse artigo faz parte da revista Engenharia de Software 19 edição especial. Clique aqui para ler todos os artigos desta edição

De que trata o artigo: Este artigo detalha a arquitetura REST, apresenta um pequeno exemplo de seu uso e suas principais vantagens em relação à arquitetura de serviços tradicional.

Para que serve: O surgimento da Arquitetura de Web Services tornou possível a interoperabilidade entre aplicações heterogêneas através do acesso aos serviços, que podem ser invocados remotamente. Essa forma tradicional de uso de Web Services gera uma camada de abstração acima do protocolo HTTP, pois as mensagens são trocadas envelopadas por um outro protocolo – o protocolo SOAP. Dessa forma, muitas vezes o desempenho do sistema é comprometido devido ao tamanho das mensagens, pois o que é realmente utilizado é uma parte muito pequena do conteúdo contido nas mensagens envelopadas pelo protocolo SOAP.

Em que situação o tema é útil: No entanto, surgiram algumas alternativas que podem melhorar o desempenho dessas aplicações. Uma destas alternativas, e a que tem tido mais sucesso atualmente, é a arquitetura REST.

Nos últimos anos, algumas alternativas surgiram para melhorar o desempenho de aplicações que acessam serviços remotamente. Uma destas alternativas e a que tem tido mais sucesso atualmente é a arquitetura REST.

A utilização da arquitetura REST tem tornado mais simples e eficientes muitas aplicações que antes eram implementadas de maneira tradicional – baseadas no protocolo SOAP.

As principais aplicações que se beneficiam da utilização desta arquitetura são aquelas nas quais cada requisição tem um custo relativamente alto, como por exemplo, serviços remotos acessados via celular e PDA’s.

Arquitetura de Web Services

Antes de iniciarmos o estudo desta nova abordagem de manipulação de Web Services e demonstrar na prática suas principais vantagens, precisamos entender como funciona a forma tradicional e mais utilizada atualmente de construir e consumir Web Services – a baseada na Arquitetura de Web Services [1].

A Arquitetura de Web Services surgiu para permitir a interoperabilidade entre aplicações rodando em diferentes plataformas. Foi especificada com base em um protocolo que encapsula as mensagens (SOAP – Simple Object Access Protocol) e em uma linguagem que descreve as interfaces dos serviços, conhecida como WSDL (Web Services Description Language). Na prática, em sistemas que seguem essa visão de Web Services, as mensagens de requisição e resposta são “envelopadas” pelo protocolo SOAP e os seus serviços são “descritos” em interfaces WSDL.

Porém, um grande problema tem sido observado por usuários desse tipo de arquitetura: a perda de desempenho das aplicações. O que acontece é que, ao utilizar o protocolo SOAP, é gerada uma camada de abstração que envolve o protocolo HTTP – quando na verdade ela não precisaria existir. Como veremos mais adiante, a comunicação entre serviços pode ser feita de maneira mais simples e eficiente utilizando somente os recursos básicos da Web – XML e HTTP; e o melhor: sem comprometer o desempenho!

Arquitetura REST

Antes de apresentarmos uma aplicação prática dos princípios por trás da arquitetura REST e entender os seus objetivos e as suas vantagens, precisamos entender alguns conceitos relacionados ao paradigma, suas principais características e seus elementos arquiteturais.

REST é uma abreviação de Representation State Transfer, ou traduzindo, Transferência de Estado Representacional e se baseia em um novo conceito a ser exemplificado mais adiante: os recursos.

...
Quer ler esse conteúdo completo? Tenha acesso completo