O analista de sistemas Pedro desenvolveu o webservice RService aplicando o estilo de arquitetura REST (Representational State Transfer). As aplicações clientes que utilizam o RService são desenvolvidas de forma desacoplada e dissociada de RService e manipulam os recursos de RService através de representações transferidas em mensagens autodescritivas. Para habilitar a independência no desenvolvimento de aplicações clientes com o uso de representações em mensagens autodescritivas, Pedro aplicou em RService o princípio REST:
- A)arquitetura cliente-servidor;
Errada: arquitetura cliente-servidor é um estilo geral de organização, mas não é o princípio REST que garante a independência descrita no enunciado.
- B)código sob demanda;
Errada: código sob demanda permite enviar código executável ao cliente, o que não é o foco da manipulação de recursos por representações autodescritivas.
- C)interface uniforme;
Certa: a interface uniforme padroniza a interação entre cliente e servidor, permitindo baixo acoplamento e independência no desenvolvimento.
- D)sistema em camadas;
Errada: sistema em camadas ajuda na separação de responsabilidades, mas não é o princípio diretamente ligado às representações autodescritivas.
- E)capacidade de cache.
Errada: capacidade de cache melhora desempenho e escalabilidade, mas não é o elemento que garante a independência do cliente em relação ao serviço.
Gabarito: C
No REST, os recursos não são manipulados por “magia”, mas por meio de representações, como JSON ou XML, enviadas em mensagens que precisam ser entendidas sozinhas. A ideia é que o cliente e o servidor possam evoluir com baixo acoplamento, sem depender de detalhes internos um do outro. Isso é bem útil em webservices, porque facilita integração e manutenção sem dor de cabeça desnecessária. O princípio que garante essa independência no desenvolvimento das aplicações clientes é a interface uniforme. Em REST, essa interface padroniza a forma de acessar recursos, usando semântica consistente dos métodos, identificação dos recursos por URI e mensagens autodescritivas. Ou seja: o cliente aprende uma “linguagem comum” e não precisa conhecer a implementação interna do serviço. É exatamente por isso que o enunciado fala em aplicações desacopladas, dissociadas e que manipulam recursos por representações transferidas em mensagens autodescritivas. Isso descreve a interface uniforme em ação. A banca FGV gosta muito de cobrar essa associação entre conceito e efeito prático: padronização do acesso gera independência entre cliente e servidor. Em resumo: se a questão fala em interoperabilidade, mensagens autodescritivas, padronização do acesso e baixo acoplamento, pense em interface uniforme. Em REST, essa é uma das peças centrais da arquitetura, quase o “manual de etiqueta” da comunicação entre cliente e serviço.