Julgue o próximo item, a respeito de domain-driven design, d...

Próximas questões
Com base no mesmo assunto
Q996786 Arquitetura de Software
Julgue o próximo item, a respeito de domain-driven design, design patterns, emergent design, enterprise content management e REST.
Em um web service REST que gerencie alguns tipos de serviço, os conflitos decorrentes de recursos que tenham identificadores iguais são automaticamente resolvidos no web service.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é E - errado.

Vamos entender por que essa é a resposta correta.

Primeiro, precisamos compreender o conceito de REST (Representational State Transfer). REST é um estilo arquitetural amplamente utilizado no desenvolvimento de web services. Ele se baseia em um conjunto de princípios que permitem a comunicação entre sistemas na web, utilizando principalmente o protocolo HTTP.

Um dos princípios fundamentais do REST é a utilização de recursos, que são identificados por URIs (Uniform Resource Identifiers). Cada recurso em um serviço REST é único e possui um identificador específico.

O enunciado afirma que em um web service REST, os conflitos decorrentes de recursos que tenham identificadores iguais são automaticamente resolvidos. Aqui está o ponto crucial para entender por que a alternativa é errada (E).

Em um serviço REST, quando dois recursos possuem identificadores iguais, isso significa que estamos tentando acessar ou manipular o mesmo recurso. Contudo, a resolução automática de conflitos não é uma característica do REST. Na verdade, cabe ao desenvolvedor do web service implementar a lógica necessária para tratar esses conflitos.

Por exemplo, se duas requisições tentarem modificar o mesmo recurso ao mesmo tempo, o servidor pode devolver um erro HTTP 409 (Conflict) para indicar que há um conflito que precisa ser resolvido manualmente através de lógica de aplicação, como técnicas de locking, versão de recursos ou outras estratégias.

Portanto, a alternativa está incorreta porque os conflitos de identificadores iguais não são resolvidos automaticamente pelo web service REST. A resolução desses conflitos depende de como o web service foi implementado.

Resumindo:

  • REST é um estilo arquitetural que usa recursos identificados por URIs.
  • Conflitos de identificadores iguais precisam ser tratados manualmente pelo desenvolvedor.
  • O servidor pode retornar um erro HTTP 409 (Conflict) em caso de conflitos que precisem de resolução manual.

Espero que esta explicação tenha ajudado a clarificar o motivo pelo qual a alternativa correta é a E. Caso tenha mais dúvidas ou precise de mais detalhes, estou à disposição!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Errada

Toda aplicação gerencia algumas informações. Uma aplicação de um E-commerce, por exemplo, gerencia seus produtos, clientes, vendas, etc. Essas coisas que uma aplicação gerencia são chamadas de Recursos no modelo REST.

Um recurso nada mais é do que uma abstração sobre um determinado tipo de informação que uma aplicação gerencia, sendo que um dos princípios do REST diz que todo recurso deve possuir uma identificação única. Essa identificação serve para que a aplicação consiga diferenciar qual dos recursos deve ser manipulado em uma determinada solicitação.

O servidor não possui estado

Gabarito: " Errado"

O Rest, um recurso refere-se a um tipo de informação é manipulada por uma aplicação. Esses recursos devem ter identificador único, para que não ocorram conflitos. No caso do web service citado, ele não teria como saber a qual recurso se está referindo se ocorresse a situação de ter mais de um recurso com o mesmo identificador.

a ideia é que cada recurso tenha um identificador único URI

através dos diferentes métodos HTTP vc consegue fazer operaçoes diferentes

 

GET /pessoas/1

DELETE /pessoas/1

PUT pessoas/1

 

 

Exato. Se O servidor não possui estado, nao tem como ele saber se o ID ta duplicado.

Segundo[2]"In REST, stateless means that there is no client session data stored on the server. The server only records and manages the state of the resources it exposes. If there needs to be session-specific data, it should be held and maintained by the client and transferred to the server with each request as needed".

Fonte:

[1] Pro REST API Development with Node.js, Fernando Doglio

[2] RESTful Java with JAX-RS, Bill Burke

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo