1. INTRODUÇÃO
Conforme citado pelo autor Marco Tulio Valente em seu livro publicado em 2022, “Engenharia de Software Moderna”, o estudo da arquitetura de software observa o projeto como um todo, preocupando-se em elevar o nível e em fazer com que o sistema atenda aos seus objetivos. O autor também acrescenta que pode-se discutir sobre uma segunda definição, onde a arquitetura de software baseia-se num conjunto de decisões sobre a organização do sistema para definir padrões arquiteturais, orientados de acordo com a solução proposta.
Com a criação de serviços web e a necessidade de integração entre eles, o padrão arquitetural REST (Representational State Transfer), apresentado por Roy Fielding em seu artigo publicado nos anos 2000, tornou-se base para a arquitetura Web atual, discutindo sobre métodos de design de sistemas que permanecem sendo seguidos como boas práticas (VALENTE, 2022).
Este artigo tem como objetivo apresentar a usabilidade da arquitetura REST, sua estrutura e aplicabilidade em aplicações de serviços web.
2. DEFINIÇÃO
De acordo com Roy Fielding (2002), REST é uma arquitetura que procura diminuir o tempo de resposta entre os serviços integrados enquanto aumenta sua independência e a eficiência de escala. O autor acrescenta que o evento ocorre devido ao modo como a arquitetura é desenvolvida, a qual permite armazenar em cache as interações para utilizá-las posteriormente e processar ações por intercessores.
REST também pode ser entendido como um protocolo desenvolvido para conectar vários serviços na web a depender de solicitações (VALENTE, 2022). Nestas solicitações, verbos HTTP (Protocolo de Transferência de Hipertexto) são utilizados para descrever e verificar a operação que está sendo executada, onde espera-se um retorno da API (Interface de Programação de Aplicações), os chamados “códigos de status”.
2.1 Verbos HTTP e código de status
Conforme descrito por Valente (2022), o verbo GET é um dos mais utilizados atualmente na web, o qual obtém um recurso através do endpoint (identificador do recurso) descrito na requisição; o verbo PUT já descreve a criação ou a subscrição de um registro especificado na URL. Os dados para realizar esta operação devem ser descritos no corpo da requisição, assim como deve ocorrer ao utilizar o método POST, utilizado unicamente para originar novos recursos, enquanto o verbo DELETE é direcionado à eliminar um registro do sistema.
O autor segue relatando o seguinte:
Os códigos de resposta são essencialmente como o REST comunica como uma solicitação foi processada no sistema para o qual estamos enviando-a
(VALENTE, 2022, p. 76).
Com isso, o conector da API a qual foi feita a requisição consegue entender o resultado de seu processamento, podendo ser tratado conforme lógica do sistema.
Os códigos de _status _possuem direcionamentos de respostas diferentes, conforme seu número de início. Códigos iniciados com o dígito 2 anunciam que a requisição foi aceita, já os iniciados com o dígito 3 informam que um recurso foi realocado e os de código 4 indicam que um erro ocorreu na ponta do conector ao acessar um registro do sistema. Por fim, os iniciados por código 5 indicam que ocorreu falha no servidor do sistema.
3. POPULARIDADE DA ARQUITETURA REST
Conforme descrito por Fielding e Taylor(2002), o tempo de resposta da requisição realizada é altamente percebida pelo usuário, fazendo com que surgisse a necessidade de diminuir as interações de rede. O acesso simultâneo e a preocupação de adaptação do sistema à possíveis novas mudanças também foram pontos levantados no artigo.
A arquitetura REST atua transferindo os dados de forma dinâmica, separando os conectores (cliente, servidor) de forma clara. Baseada nas solicitações feitas pelo destinatário, monta a mensagem em um formato de renderização encapsulado, permitindo padronizar o nível de resposta e ocultar informações e dados sensíveis. Ademais, devido à sua natureza sem estado, cada requisição pode ser processada independentemente das realizadas anteriormente (FIELDING; TAYLOR, 2002).
4. CONCLUSÃO
A arquitetura REST demonstra na prática sua aplicação em termos de escalabilidade e aproveitamento de recursos, como o armazenamento em cache citado por Richard Fielding em seu artigo. É possível notar que sua aplicabilidade auxilia a conexão entre sistemas e promove uma melhor experiência, tanto ao usuário final quanto ao desenvolvedor responsável pelo projeto web.
5. REFERÊNCIAS
FIELDING, Roy Thomas. Principled design of the modern web architecture. 2000. Disponível em: https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm. Acesso em: 28 set. 2025.
VALENTE, Marco Tulio. Engenharia de software moderna. 2. ed. Rio de Janeiro: Grupo Gen, 2022.
HOCHREIN, A. Design de microsserviços com Django. São Paulo: Novatec, 2020.
Top comments (0)