Em relação a web services, julgue o item seguinte.Serviços e...
Em relação a web services, julgue o item seguinte.
Serviços expressos por meio de contratos web services
têm o potencial de evitar completamente a transformação,
objetivo-chave dos contratos de serviços padronizados.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Vamos entender o tema abordado na questão e justificar a alternativa correta.
Alternativa correta: C - certo
O enunciado refere-se à capacidade dos web services expressos por meio de contratos de evitar completamente a transformação de dados, um objetivo-chave dos contratos de serviços padronizados.
Os web services são componentes de software que permitem a interoperabilidade entre diferentes sistemas através da rede, utilizando padrões abertos como SOAP (Simple Object Access Protocol) e REST (Representational State Transfer). Um ponto central dos web services é a definição de contratos que descrevem as interfaces e as operações disponíveis, geralmente utilizando WSDL (Web Services Description Language) no caso de SOAP ou descrições mais leves para APIs REST.
Contratos de web services são essenciais para garantir uma comunicação clara e sem ambiguidades entre sistemas heterogêneos. Eles descrevem quais operações podem ser realizadas, quais dados são esperados e quais respostas são fornecidas. Isso permite que diferentes sistemas, desenvolvidos em plataformas e linguagens distintas, consigam interagir de forma eficiente e padronizada.
A alternativa correta é "C" porque contratos bem definidos em web services evitam a necessidade de transformação de dados, já que todos os sistemas envolvidos concordam previamente sobre a estrutura e os formatos de dados a serem trocados. Isso reduz significativamente a complexidade e os erros potenciais que poderiam ocorrer durante a conversão de dados entre diferentes sistemas.
Justificativa: Um contrato de web service atua como um acordo formal que define as regras de comunicação entre o prestador e o consumidor do serviço. Quando essas regras são claras e padronizadas, os dados são transmitidos em um formato compreensível por ambas as partes, eliminando a necessidade de transformação. Isso é um objetivo-chave dos serviços padronizados: facilitar a interoperabilidade e a integração sem a necessidade de adaptações complexas.
Por outro lado, a alternativa "E" estaria incorreta porque implicaria que contratos de web services não cumprem esse papel essencial de padronização e interoperabilidade, o que contraria os princípios fundamentais dessa tecnologia.
Conclusão: A correta definição e utilização de contratos em web services é crucial para evitar a transformação de dados, garantir a interoperabilidade entre sistemas diferentes e facilitar a integração de serviços, confirmando que a alternativa correta é "C - certo".
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
Questão "certa", jeito CESPE.
Segundo Thomas Erl - SOA - Princípios do Design:
"Ativar serviços com um nível significativo da interoperabilidade natural dentro de um limite de um inventário de serviços. Isso reduz a necessidade de transformação de dados , porque os modelos de dados consistentes são utilizados para troca de informações."
Galera, essa questão afirma que quando eu ofereço serviços por meio de Web Services e seus contratos (i.e., suas interfaces), eu tenho um grande potencial de evitar a transformação. Isso é verdade! Nós sabemos que mudar a implementação do serviço é irrelevante desde que se mantenha sua interface. No entanto, eventualmente eu posso precisar alterar a interface de um serviço – e, nesse caso, não dá para evitar a transformação do contrato do serviço. Logo, o contrato não é imutável, ele realmente muda raramente, mas ele não é imune a mudanças e não evita completamente transformações. No entanto, a questão afirma que o uso de contratos tem o “potencial” de evitar completamente a transformação. Ter o potencial significa ter a capacidade de realização ou execução de algo. E isso é verdadeiro nesse contexto.
eu errei... interpretei essa transformação como parser de objetos
Afirmativa correta, vamos ver o que Thomas Erl tem a falar sobre isso no capítulo de "Contrato de Serviços"
"6.4 Padronizando a representação de dados e evitando a transformação"
" [...]
Uma vez implementados e fazendo parte do ambiente de produção, os contratos de Web Service não padronizados resultam na criação e implementação de diferentes modelos de dados que representam os mesmos corpos de dados. Superar essas diferenças requer o uso de tecnologia de transformação de dados e a definição de fazer o mapa da lógica entre um esquema e o outro. Esse mapa é implementado em um componente de software real, como uma folha de estilo XSLT, que, posteriormente, executa a lógica de transformação em runtime toda vez em que o serviços precisam trocar informações.
As tecnologias de trasformação de dados fornecem recursos importantes, essenciais para habilitar conectividade em arquiteturas corporativas intergradas. Mas, ao padronizar o design de serviços como parte de um inventário de serviços bem-definido, um de nossos principais objetivos é evitar a transformação de dados onde for possível.
A tranformação de dados introduz vários problemas, incluindo:
[...]
"
Portanto questão CORRETA!
Reduzir/evitar é diferente de "evitar completamente". Mas a questão vai e coloca na frente "tem o potencial de". rsrs.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo