Escolar Documentos
Profissional Documentos
Cultura Documentos
Pedro
Freitas e Raphael
Lacerda
Informática Avançada (TI) p/ Banco do
Brasil (Escriturário) - 2021 - Pré-Edital
Autores:
Diego Carvalho, Renato da Costa,
Thiago Rodrigues Cavalcanti,
Pedro Henrique Chagas Freitas,
Raphael Henrique Lacerda
26 de Abril de 2021
Aula 14 - Profs. Pedro Freitas e
Raphael Lacerda
00774823100 - Juliana Souza Ferreira
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Sumário
1837323
Exercícios Web Services e SOA .................................................................................................. 26
REST .......................................................................................................................................... 85
www.estrategiaconcursos.com.br 152
WEB SERVICES
Outra definição importante – citada por Heather Kreger – destaca que um Web Service é, na
verdade, uma interface que descreve uma coleção de operações que são acessíveis pela rede
através de mensagens XML padronizadas. Seu uso permite que plataformas heterogêneas de
software e hardware sejam integradas de forma transparente. Vejamos mais definições...
Web Service é a disponibilização de um serviço pela internet que pode ser acessado em qualquer
lugar. Clientes enviam requisições com informações bem definidas e recebem respostas que
podem ser síncronas ou assíncronas. Web Service é essencialmente a interoperabilidade entre
programas e aplicações – especialmente quando eles usam linguagens, ferramentas ou
plataformas diferentes.
Segundo a definição do Gartner, Web Services são componentes de software com baixo fator de
acoplamento, utilizado por meio de padrões de internet. Um Web Service representa uma
função/lógica de negócio ou um serviço que pode ser acessado por uma outra aplicação na
web, sobre redes públicas e, geralmente, disponibilizado por protocolos conhecidos.
www.estrategiaconcursos.com.br 152
A disponibilização de um serviço ocorre por meio de um contrato, que é uma interface que
disponibiliza suas funcionalidades, com uma infraestrutura leve e desacoplada de plataforma que
facilita a integração em diferentes tecnologias. Esta tecnologia possibilita que novas aplicações
possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas
diferentes sejam compatíveis.
www.estrategiaconcursos.com.br 152
Sommerville afirma que um Web Service é uma instância de uma noção mais geral de um serviço.
A plataforma de serviços web é definida através de uma série de padrões da indústria que são
suportados por toda a comunidade de fornecedores. Esta plataforma pode ser dividida em duas
gerações claramente identificáveis , cada uma associada com um conjunto de normas e
especificações:
É composta por um núcleo de tecnologias e especificações abertas: WSDL, XSD, SOAP, UDDI
e o WS-I1. Essas especificações estão pelo mercado por um bom tempo e têm sido adotadas pela
indústria de tecnologia da informação. No entanto, a plataforma que eles coletivamente
representam carece de qualidade para executar projetos críticos com funcionalidades de
produção em nível de organização.
Uma das maiores lacunas de qualidade dos Web Services de Primeira Geração residia nas áreas
de segurança em nível de mensagem, transações entre serviços e mensageria confiável.
Surgiram, então, diversas extensões e especificações para fornecer um conjunto sofisticado
de componentes construídos sobre os Web Services de Primeira Geração – foram chamados
de WS-*.
1
O WS-I Basic Profile é um conjunto de especificações de serviços da Web não proprietários,
juntamente com esclarecimentos e alterações a essas especificações que promovem a
interoperabilidade.
Curso Regular de Desenvolvimento de Software 4
www.estrategiaconcursos.com.br 152
O WS-* é composto atualmente por diversas especificações: Segurança (Ex: WS-Security, WS-
Trust, WS-Encryption, WS-SecureConversation); Políticas (Ex: WS-Policy, WS-
PolicyAssertions); Processos de Negócio (Ex: WS-CDL, WS-BPEL); entre outros. Galera, são
dezenas de especificações de diversos tipos – não vale a pena ver todos, vamos ver por
curiosidade apenas alguns deles:
▪ WS-Security: esta especificação define como anexar uma assinatura digital, usar criptografia e
usar tokens de segurança em mensagens SOAP.
▪ WS-Policy: esta especificação define o idioma utilizado para descrever limitações de segurança
e a política de intermediários ou nós de extremidade.
▪ WS-Trust: essa especificação define uma estrutura para modelos confiáveis para estabelecer a
confiança entre os serviços web.
▪ WS-Privacy: essa especificação define um modelo de como expressar uma política de
privacidade para um serviço web e um solicitante.
▪ WS-SecureConversation: essa especificação define como trocar e estabelecer um contexto
assegurado, que deriva de chaves de sessão entre os serviços web.
▪ WS-Authorization: essa especificação define as políticas de autorização para um serviço web
(web service).
Nessa aula, vamos nos ater aos Web Services de Primeira Geração! Utilizar serviços através da
rota dos Web Services basicamente envolve três categorias de participantes: Provedor de
Serviço, Solicitante do Serviço e Agente de Serviço (em inglês, Service Provider, Service
Requester e Service Broker) – basta lembrar do modelo arquitetônico triangular (Find-Bind-
Execute).
Um provedor de serviços seria, por exemplo, uma indústria, negócio ou empresa, capaz de criar e
fornecer serviços baseados em software. Do mesmo modo, um solicitante de serviços seria
uma empresa ou um negócio que gostaria de usar o serviço. Por outro lado, o agente seria um
lugar, entidade ou sistema, que ajuda o solicitante de serviços a descobrir o provedor de serviços.
www.estrategiaconcursos.com.br 152
Sabemos que Web Services são sistemas embasados na web que oferecem serviços gerais para
aplicações remotas, não requerendo interações imediatas de usuários finais – em geral a
interação é máquina-máquina ou aplicação-aplicação. Além da definição, é bom saber a
==1c090b==
descrição dos três padrões fundamentais que possibilitam as comunicações, isso sozinho
resolve uma pancada de questões:
www.estrategiaconcursos.com.br 152
www.estrategiaconcursos.com.br 152
O QUE É SOAP?
Trata-se de uma das formas de comunicação para encapsular dados transferidos no formato
XML para Web Services.
Trata-se de um formato, baseado em XML, para intercâmbio de mensagens – é utilizado para
realizar o encapsulamento e o transporte de dados.
Trata-se de um formato para envio e recebimento de mensagens independentemente de
plataforma e tecnologia.
Trata-se de um protocolo que define uma organização para a troca estruturada de dados
entre Web Services.
Um dos motivos que tornam os Web Services atrativos é o fato de estes serem baseados em
tecnologias padrão, em particular XML e HTTP. Eles são comumente utilizados para
disponibilizar serviços interativos na web, podendo ser acessados por outras aplicações. O
SOAP é o protocolo mais comum para troca de mensagens, já que é escrito em XML e
transportado, via de regra, por HTTP.
Entre outras utilizações, SOAP foi desenhado para encapsular e transportar Chamadas RPC e,
para isto, utiliza-se dos recursos e flexibilidade do XML, sob HTTP. Por meio do RPC, pode-se
acessar os serviços de um objeto localizado em um outro ponto da rede, através de uma chamada
local a este objeto. Cada chamada ou requisição exige uma resposta.
www.estrategiaconcursos.com.br 152
Os blocos de cabeçalhos SOAP podem ser processados por nós intermediários SOAP e pelo nó
receptor SOAP final. No entanto, em um aplicativo real, nem sempre cada nó processa cada
bloco de cabeçalhos. Cada nó geralmente é projetado para processar determinados blocos de
cabeçalhos e cada bloco de cabeçalhos é processado por nós específicos.
Nós não dissemos ainda se SOAP é um protocolo Stateful ou Stateless, mas antes de
descobrir, temos que saber o que são esses conceitos. Stateful significa que o servidor
armazena informações sobre o cliente e as utiliza em diversas requisições. Stateless é justamente
o contrário, i.e., o estado do serviço não é persistido entre requisições subsequentes. O HTTP e o
SOAP, por default, são protocolos stateless.
O SOAP, definido pela W3C, consiste basicamente dos elementos descritos abaixo:
www.estrategiaconcursos.com.br 152
▪ Envelope (Envolope):
▪ Cabeçalho (Header):
▪ Corpo (Body):
Ele contém o payload, i.e., a mensagem SOAP. Trata-se de um elemento obrigatório que é capaz
de empacotar chamadas RPC, reportar erros, enviar operações UDDI, entre outros. O elemento
Body pode conter um elemento opcional Fault, usado para carregar mensagens de status e
mensagens de erros retornadas pelos nós ao processarem a mensagem. É obrigatório!
www.estrategiaconcursos.com.br 152
O QUE É WSDL?
Trata-se de uma linguagem de descrição de Web Services, escrita em XML, para descrever
serviços web, especificar as formas de acesso, as operações e os métodos disponíveis.
Trata-se de uma linguagem para descrever serviços de rede como endpoints (ou portas) que
operam em mensagens que contêm informações orientadas à documento/procedimento.
Trata-se efetivamente de especificação que define como descrever serviços web em uma
gramática XML.
Trata-se de um protocolo baseado em XML para troca de informações em ambientes
distribuídos e descentralizados (Sim, alguns o consideram um protocolo!).
Vocês já pensaram de que forma um cliente de um Web Service sabe qual formato dos métodos a
serem chamados? Quais os parâmetros que devem ser passados? Como se deve processar uma
requisição específica? Para responder essas questões, criou-se uma linguagem para padronizar
as descrições das funcionalidades oferecidas por um Web Service.
Essa linguagem, baseada em XML, é utilizada para descrever um Web Service e deve,
portanto, definir todas as suas interfaces, operações, métodos, esquemas de codificação, portas
de comunicação, protocolos, formatos de mensagens, entre outros, neste documento. Um
documento WSDL define um XML Schema (XSD) para descrever um Web Service.
Tão logo o cliente tenha acesso à descrição do serviço a ser utilizado, a implementação do Web
Service pode ser feita em qualquer linguagem de programação. Normalmente são utilizadas
linguagens construídas para interação com a Web, como Java Servlets ou ASP, que, em seguida,
chamam um outro programa ou objeto.
Quando o cliente deseja enviar uma mensagem para um Web Service, ele obtém a descrição do
serviço (em geral, por meio da localização do documento WSDL no UDDI), e em seguida constrói
a mensagem, passando os tipos de dados de acordo com a definição encontrada no
documento. Em seguida, a mensagem é enviada para o endereço onde o serviço está localizado,
a fim de que possa ser processada.
www.estrategiaconcursos.com.br 152
O Web Service, quando recebe esta mensagem, valida-a conforme as informações contidas
no documento WSDL. A partir daí, o serviço remoto sabe como tratar e processar a mensagem
e como responder ao cliente. O WSDL possui um elemento-raiz do documento chamado
Description, que se trata de um contêiner de duas categorias de alto nível: WSDL 2.0 e Type
System.
O WSDL 2.0 é formado pelos componentes Interface, Binding e Service; já o Type System é
formado pelos componentes Element Declaration e Type Definition. O Element Declarations
é um conjunto de declarações de elementos, como definido por um XML Schema. Já o Type
Definitions é um conjunto de definições de tipos de dados – ele é obrigatório (Não confundam
com o elemento <types>).
COMPONENTE DESCRIÇÃO
Esse componente descreve sequências de mensagens que um serviço envia
e/ou recebe. Ele o faz agrupando mensagens relacionadas em operações (é
interface o antigo <portType>). Interface → Operações → Mensagens
Esse componente descreve o formato de mensagens e protocolos de
transmissão que podem ser usados para definir um endpoint. Ele define
binding detalhes de implementação necessários para acessar um serviço.
Esse componente descreve um conjunto de endpoints em uma
implementação particular do serviço que é fornecido. Endpoints são lugares
service alternativos em que serviços são fornecidos.
www.estrategiaconcursos.com.br 152
www.estrategiaconcursos.com.br 152
De acordo com George Coulouris, os documentos WSDL completos podem ser acessados por
meio de seus URIs por clientes e servidores, direta ou indiretamente, por intermédio de um
serviço de diretório como o UDDI. Estão disponíveis ferramentas para gerar definições WSDL
a partir de informações fornecidas por meio de uma interface gráfica com o usuário.
Elas fazem isso ao eliminar a necessidade de envolvimento dos usuários com os detalhes
complexos e com a estrutura do WSDL. As definições WSDL também podem ser geradas a partir
de definições de interface escritas em outras linguagens, como JAX-RPC. Ele não define
características não-funcionais do serviço (Ex: tempo de resposta, escalabilidade, segurança).
Ademais, define quatro tipos de operações:
TIPO DEFINIÇÃO
ONE-WAY A operação pode receber uma mensagem, mas não retornará uma
resposta.
REQUEST-RESPONSE A operação pode receber uma requisição e retornará uma resposta.
www.estrategiaconcursos.com.br 152
O QUE É UDDI?
Trata-se de um serviço de diretório, baseado em XML, em que é possível registrar e localizar
Web Services.
Trata-se de uma especificação técnica que tem como objetivo descrever, descobrir e integrar
Web Services.
Trata-se de um diretório/registro para armazenamento de informações sobre Web Services
– é um repositório de interfaces de Web Services descritas por WSDL.
Trata-se de um protocolo que é um dos maiores blocos de construção requeridos para
construir Web Services com sucesso (Sim, alguns o chamam de protocolo!).
Trata-se de um padrão de descoberta que define como são organizadas as informações de
descrição do serviço, permitindo que os solicitantes descubram os serviços.
Quando se constrói um Web Service, ele deve ser disponibilizado em algum lugar para que seja
acessível por diversas aplicações-cliente. O UDDI é uma especificação técnica para descrever,
descobrir e integrar Web Services (alguns o chamam de protocolo também). Ele contém
informações genéricas sobre a organização que o detém e informações básicas sobre os serviços.
Vocês entenderam?
O UDDI descobre serviços por meio de registries, que são repositórios logicamente centralizados
e fisicamente distribuídos que contêm documentos descritores dos dados do negócio. As
informações capturadas no contexto do UDDI são classificadas em três categorias principais:
Páginas Brancas, Páginas Verdes ou Páginas Amarelas, como mostra a imagem abaixo com
seus respectivos exemplos:
www.estrategiaconcursos.com.br 152
As Páginas Brancas contêm informações gerais sobre a organização que está oferecendo o
serviço, tais como: nome do negócio e descrição do negócio (de preferência, em diversas línguas).
Utilizando essas informações, é possível encontrar algum serviço sobre o qual já se pode
conhecer algumas informações. Há também informações de contato do negócio (Ex: Endereço,
Telefone, Fax, Identificadores).
As Páginas Verdes contêm informações técnicas sobre como acessar um Web Service. Elas
são utilizadas para indicar os serviços oferecidos por cada negócio, incluindo todas as informações
técnicas envolvidas na interação com o serviço. Em geral, essas informações incluem um ponteiro
para uma especificação externa e um endereço para invocar o serviço.
www.estrategiaconcursos.com.br 152
Pessoal, não confundam uma coisa: WSDL não fica efetivamente no UDDI, mas lá existem
referências para ele! Ok? A UDDI 3.0.2 (versão mais recente) possui um Modelo de Informação
Estruturada: Core Data Structure. Ele é composto por uma estrutura hierárquica formada por:
Entidade de Negócio (Business Entity), Serviço de Negócio (Business Service), Template de
Ligação (Binding Template) e tModel.
O Business Entity representa o provedor de Web Services. Essa estrutura contém informações
sobre a organização, incluindo informações de contato, categorias de indústria, identificadores
de negócio e uma lista de serviços fornecidos. O Business Service representa um Web Service
individual fornecido por uma entidade de negócio – define tipo de serviço, conexão,
categorias, entre outros.
www.estrategiaconcursos.com.br 152
O Binding Template é um conjunto de descrições técnicas dos Web Services representados por
uma estrutura de serviços de negócio – ele indica, por exemplo, como se conecta ao serviço. Por
fim, o tModel representa um modelo técnico, i.e., uma maneira de descrever os vários
negócios, serviços, estruturas de template e informações externas (Ex: WSDL) armazenados
dentro de um Registro UDDI.
www.estrategiaconcursos.com.br 152
Recentemente, com o surgimento dos periódicos eletrônicos, esse problema ainda persiste,
pois muitos só oferecem acesso aos artigos mediante pagamento. A cada dia, surgem
bibliotecas digitais e bases de dados públicas que constituem importante fonte de informação
para pesquisadores. O problema é o tempo que se gasta para reunir informações relevantes a um
dado assunto de pesquisa.
Seja visitando diversos portais de bibliotecas virtuais, seja utilizando a busca convencional
oferecida por sites como Google, Bing, entre outros. A pesquisa através de portais de busca
tradicionais é imprecisa e atinge apenas as páginas HTML, ignorando as bases de dados que se
encontram por trás de algumas destas páginas.
Por outro lado, ao tentar divulgar seus trabalhos através dos periódicos, em busca do impacto de
suas pesquisas, os pesquisadores esbarram em um processo burocrático e demorado, em que,
desde a submissão até a publicação, devido à lenta arbitragem que por vezes ocorre, pode
haver um intervalo de tempo tão longo que os efeitos daquela pesquisa já não tenham valor
quando de sua publicação.
Com a evolução da Internet, várias bibliotecas digitais começaram a surgir – algumas com a
finalidade de expor a produção de teses e dissertações das grandes universidades. Tudo isso
resultou em um grande avanço, em que informações científicas e acadêmicas já poderiam ser
obtidas livremente pela Internet, e disponibilizadas através da publicação nas páginas de seus
autores.
www.estrategiaconcursos.com.br 152
Com os recursos oferecidos pela iniciativa, é possível melhorar significativamente a precisão das
consultas eletrônicas e reduzir o tempo de procura, graças ao compartilhamento de informações
(metadados) entre os participantes da iniciativa. A interoperabilidade entre bases de dados tem
o objetivo de promover o acesso simultâneo aos dados contidos nestes repositórios de forma
a maximizar a pesquisa.
O protocolo OAI-PMH (Open Archives Initiative Protocol for Metadata Harvesting) vem se
consolidando como a base para a interoperabilidade entre bibliotecas e repositórios digitais
acadêmicos e científicos no mundo todo. Através do OAI-PMH, é possível proporcionar
visibilidade e integração de informações (metadados), com custos acessíveis à realidade de
países em desenvolvimento, como o Brasil.
Então, vamos lá! Em 1999, surgiu a Open Archives Initiative (OAI), que buscava desenvolver e
promover soluções de interoperabilidade que facilitassem uma disseminação eficiente de
conteúdo. Para tal, foi criado um protocolo aberto, independente de conteúdo, chamado OAI-
PMH que faz com que participantes da iniciativa possam compartilhar seus metadados.
Lembrando que metadados são dados sobre dados, isto é, informações que descrevem
informações dos registros dos repositórios (similar a um dicionário) – no caso, documentos
eletrônicos. Para tal, ele segue um padrão que contém, entre outros, título, autor, resumo,
palavras-chaves, etc. Os participantes da Iniciativa são divididos em Provedores de Dados (DP) e
Provedores de Serviços (SP).
O Harvesting (ou Colheita Automática de Metadados) é uma técnica ou processo unilateral para
extrair metadados de repositórios individuais e colocá-los em um catálogo central. Esse processo
é baseado nos metadados produzidos por humanos ou por processos completamente
automáticos ou semiautomáticos suportados por software. Bacana?
www.estrategiaconcursos.com.br 152
Provedores de Serviços (SP) realizam periodicamente uma busca a Provedores de Dados (DP) –
registrados em uma lista na OAI – para colher metadados para exibição sob a forma de consultas
efetuadas pelos usuários. Essa busca pode ser geral ou baseada em alguns critérios, tais como
Date-Based (baseados em data) ou Set-Based (baseados em conjuntos).
Na Federation, o usuário faz uma requisição síncrona a um repositório central (representado por
uma Biblioteca Digital) e espera a resposta. O repositório faz diversas requisições a outros
repositórios remotos e as respostas retornam para o repositório central onde são
consolidadas e devolvidas para o usuário. Bacana? Agora vamos ver como funciona a outra
abordagem.
www.estrategiaconcursos.com.br 152
Como a busca é executada em uma cópia local dos metadados, resultados podem ser
retornados com baixíssima latência. Além disso, como o harvesting é feito periodicamente,
mesmo que qualquer biblioteca esteja indisponível, ainda é possível buscar seus metadados.
Quanto à especificação de web services, existem diversas categorias de especificações diferentes.
Estas especificações estão em diferentes graus de maturidade e são mantidas ou apoiadas por
vários órgãos e entidades de normatização. Esta variedade de especificações é a estrutura básica
de web services estabelecido pelos padrões de primeira geração representada por WSDL, SOAP e
UDDI. As especificações podem se complementar, se sobrepor e competir umas com as
outras.
ESPECIFICAÇÃO DESCRIÇÃO
WS-Addressing Provê um mecanismo pelo qual se pode identificar web services e
mensagens independentemente do protocolo de transporte
utilizado.
WS-Discovery Define um protocolo de descoberta multicast para localizar
serviços em uma rede local.
www.estrategiaconcursos.com.br 152
www.estrategiaconcursos.com.br 152
WS-SECURITY (WSS)
Vamos lá! Pensem comigo: eu falei alguma vez sobre segurança de Web Services? Não, porque o
Protocolo SOAP não prevê a proteção de mensagens, deixando essa tarefa para
especificações estendidas! Ora, mas SOAP é um protocolo que roda (na maioria dos casos2) sobre
o protocolo HTTP! É verdade, você tem razão! Ele é utilizado para troca de mensagens entre dois
nós.
2
Eventualmente, pode rodar sobre outros protocolos (tais como: JMS e SMTP).
Curso Regular de Desenvolvimento de Software 24
www.estrategiaconcursos.com.br 152
Você pode me perguntar: Professor, por que não é utilizado o Protocolo HTTPS para garantir mais
segurança para Web Services? Faz muito sentido a sua pergunta! Ora, o Protocolo SSL/TLS é
capaz de fornecer diversos mecanismos de segurança. No entanto, ele funciona bem para
fornecer segurança em comunicação ponto-a-ponto, e nós precisamos de segurança em
comunicação fim-a-fim. Bacana?
Por fim, cabe falar também sobre o SAML (Security Assertion Markup Language), que é uma
infraestrutura baseada em XML para autenticação e autorização entre duas entidades: um
Provedor de Serviços e um Provedor de Identidade. Como o próprio nome indica, SAML é uma
linguagem de marcação baseada em XML para asserções de segurança.
www.estrategiaconcursos.com.br 152
1. (CESPE - 2013 - CNJ - Técnico Judiciário - Programação de Sistemas) Uma das formas de
comunicação para encapsular dados transferidos no formato XML para aplicações serviço web
(Webservice) é o SOAP (Simple Object Access Protocol).
Comentários:
O QUE É SOAP?
Trata-se de uma das formas de comunicação para encapsular dados transferidos no
formato XML para Web Services.
Conforme vimos em aula, ele realmente é uma forma de comunicação – dado que é um protocolo
– para encapsular dados transferidos no formato XML para aplicações web services.
Gabarito: C
Comentários:
TIPO DEFINIÇÃO
ONE-WAY A operação pode receber uma mensagem, mas não retornará
uma resposta.
REQUEST- A operação pode receber uma requisição e retornará uma
RESPONSE resposta.
www.estrategiaconcursos.com.br 152
Conforme vimos em aula, não está limitada ao tipo request-response – existem quatri tipos
diferentes de operações.
Gabarito: E
Comentários:
As Páginas Verdes contêm informações técnicas sobre como acessar um Web Service. Elas são
utilizadas para indicar os serviços oferecidos por cada negócio, incluindo todas as informações
técnicas envolvidas na interação com o serviço. Em geral, essas informações incluem um ponteiro
para uma especificação externa e um endereço para invocar o serviço.
Conforme vimos em aula, elas contêm descrições técnicas sobre as formas de acesso aos web
services.
Gabarito: C
4. (CESPE - 2013 - TRE-MS - Analista Judiciário - Análise de Sistemas) No que se refere a SOA
e webservices, assinale a opção correta.
www.estrategiaconcursos.com.br 152
a) O WS-Security propõe uma série de extensões para aprimorar a segurança dos web services
no UDDI e no WSDL. Por questão de compatibilidade, essas extensões não afetam os
cabeçalhos do envelope SOAP.
c) WSDL é descrito em formato XML e tem por única função descrever os valores e formatos
dos dados que serão intercambiados entre os sistemas.
Comentários:
(a) Não é tema dessa aula, mas o erro desse item é afirmar que ele aprimora segurança no UDDI
e WSDL, quando ele aprimora a segunrança do SOAP.
O QUE É UDDI?
É um serviço de diretório em que é possível registrar e localizar Web Services.
(b) Conforme vimos em aula, UDDI é realmente um serviço de diretório em que é possível registrar
e localizar Web Services.
O QUE É WSDL?
É uma linguagem de descrição de Web Services, escrita em XML, para descrever serviços
web, especificar as formas de acesso, as operações e os métodos disponíveis.
www.estrategiaconcursos.com.br 152
(c) Conforme vimos em aula, ele descreve o serviço, especifica como acessá-los e seus métodos e
operações disponíveis.
Nós não dissemos ainda se SOAP é um protocolo Stateful ou Stateless, mas antes de descobrir,
temos que saber o que são esses conceitos. Stateful significa que o servidor armazena informações
sobre o cliente e as utiliza em diversas requisições. Stateless é justamente o contrário, i.e., o estado
do serviço não é persistido entre requisições subsequentes. O HTTP e o SOAP, por default, são
protocolos stateless.
(d) Conforme vimos em aula, SOAP é – por default – stateless. Além disso, a questão escreveu
statefull, em vez de stateful. Ele realmente é independente de sistema operacional, mas pode
realizar trocas de mensagens de diversas maneiras – sendo o tipo Request-Response muito mais
comum que o tipo One-Way.
Agora que já sabemos o que é uma arquitetura e o que é um serviço, podemos juntá-los! A OASIS3
define Arquitetura Orientada a Serviços como um paradigma para organização e utilização de
recursos distribuídos que estão sob o controle de diferentes domínios proprietários, permitindo
que funcionalidades implementadas sejam disponibilizadas na forma de serviços fracamente
acoplados.
(e) Conforme vimos em aula, não é uma arquitetura de desenvolvimento – é uma arquitetura
corporativa. Além disso, serviços devem ser fracamente acoplados.
Gabarito: B
3
OASIS (Organization for the Advancement of Structured Information Standards) é um
consórcio global que conduz o desenvolvimento, convergência e adoção de padrões para e-
business e web services.
Curso Regular de Desenvolvimento de Software 29
www.estrategiaconcursos.com.br 152
5. (CESPE - 2011 - MEC - Gerente de Projetos) O UDDI (Universal Description Discovery and
Integration), que corresponde a um registro de web services, é dividido em páginas brancas,
amarelas e verdes, nas quais são prestadas aos clientes informações sobre a empresa, os
serviços por ela oferecidos e as especificações WSDL desses serviços.
Comentários:
O UDDI descobre serviços por meio de registries, que são repositórios logicamente centralizados e
fisicamente distribuídos que contêm documentos descritores dos dados do negócio. As informações
capturadas no contexto do UDDI são classificadas em três categorias principais: Páginas Brancas,
Páginas Verdes ou Páginas Amarelas, como mostra a imagem abaixo com seus respectivos
exemplos:
Conforme vimos em aula, a questão trata respectivamente das páginas brancas, amarelas e
verdes.
Gabarito: C
www.estrategiaconcursos.com.br 152
Comentários:
ELEMENTO DESCRIÇÃO
<interfaces> Esse elemento descreve as operações que podem ser realizadas e
as mensagens trocadas (é o antigo <portType>).
Conforme vimos em aula, o antigo <portType> descreve as operações que podem ser realizadas
e as mensagens trocadas.
Gabarito: E
Comentários:
www.estrategiaconcursos.com.br 152
Gabarito: E
Comentários:
Conforme vimos em aula, WSDL é Web Service Description Language! Além disso, não se
prescreve leiaute de banco de dados. Essa descrição está mais para UDDI.
Gabarito: E
www.estrategiaconcursos.com.br 152
9. (CESPE - 2011 - PREVIC - Analista de Tecnologia da Informação) Web Services são sistemas
embasados na Web que oferecem serviços gerais para aplicações remotas, não requerendo
interações imediatas de usuários finais.
Comentários:
Sabemos que Web Services são sistemas embasados na web que oferecem serviços gerais para
aplicações remotas, não requerendo interações imediatas de usuários finais – em geral a interação é
máquina-máquina ou aplicação-aplicação. Além da definição, é bom saber a descrição dos três
padrões fundamentais que possibilitam as comunicações, isso sozinho resolve uma pancada de
questões:
Conforme vimos em aula, a maioria das aplicações são desenvolvidas para interagir com usuários;
o usuário entra ou procura um dado por meio de uma interface e a aplicação responde à entrada
do usuário. Um Web Service faz mais ou menos a mesma coisa, no entanto ele se comunica
máquina à máquina ou aplicação à aplicação - em geral, não se tem interação direta do usuário
com o Web Service. Logo, não se exige interação imediata de usuários finais.
Gabarito: C
10. (CESPE - 2010 - MPU - Técnico de Informática) A descrição de um web service é feita
utilizando-se WSDL (Web Services Description Language), que é uma linguagem embasada
em RPC (Remote Procedure Call) e UDDI (Universal Description Discovery and Integration),
com a qual se descreve a forma de acesso dos serviços e seus parâmetros de entrada e de
saída.
Comentários:
www.estrategiaconcursos.com.br 152
Entre outras utilizações, SOAP foi desenhado para encapsular e transportar Chamadas RPC e,
para isto, utiliza-se dos recursos e flexibilidade do XML, sob HTTP. Por meio do RPC, pode-se
acessar os serviços de um objeto localizado em um outro ponto da rede, através de uma chamada
local a este objeto. Cada chamada ou requisição exige uma resposta.
Conforme vimos em aula, esse item não faz o menor sentido! WSDL é uma linguagem de
descrição – quem realiza Chamadas RPC é o SOAP.
Gabarito: E
11. (CESPE - 2008 - TRT - 5ª Região (BA) - Analista Judiciário - Tecnologia da Informação) O
UDDI é uma especificação técnica que tem como objetivo descrever, descobrir e integrar web
services; é embasado na tecnologia XML, que fornece uma plataforma neutra de dados e
permite descrever relações hierárquicas de modo natural.
Comentários:
O QUE É UDDI?
Trata-se de uma especificação técnica que tem como objetivo descrever, descobrir e
integrar Web Services.
Pessoal, não confundam uma coisa: WSDL não fica efetivamente no UDDI, mas lá existem
referências para ele! Ok? A UDDI 3.0.2 (versão mais recente) possui um Modelo de Informação
Estruturada: Core Data Structure. Ele é composto por uma estrutura hierárquica formada por:
Entidade de Negócio (Business Entity), Serviço de Negócio (Business Service), Template de
Ligação (Binding Template) e tModel.
Conforme vimos em aula, basta lembrar da sigla! UDDI é Universal Description, Discovery and
Integration (Integração, Descoberta e Descrição Universal). Dessa forma, trata-se realmente de
uma especificação técnica que tem como objetivo descrever, descobrir e integrar Web Services.
É baseada em XML? Sim! Permite descrever relações hierárquicas? Sim!
www.estrategiaconcursos.com.br 152
Gabarito: C
12. (CESPE - 2008 - STJ - Analista Judiciário - Tecnologia da Informação) O serviço UDDI
fornece uma interface para publicar e atualizar informações acerca de serviços web;
possibilita pesquisar descrições WSDL pelo nome; provê uma interface que possibilita
executar consultas de modo a recuperar uma entidade que corresponda a uma chave ou
recuperar entidades que correspondam a um conjunto de critérios de busca.
Comentários:
Gabarito: C
13. (CESPE - 2008 - STJ - Analista Judiciário - Tecnologia da Informação) O WSDL separa a
parte abstrata de uma descrição de serviço da parte concreta; nessa descrição, a parte
concreta contém as definições de tipos usados pelo serviço e a parte abstrata especifica como
e onde o serviço pode ser contatado. Os documentos WSDL podem ser acessados via um
serviço de diretório como o UDDI; as definições WSDL podem ser geradas a partir de
definições de interfaces escritas em outras linguagens.
Comentários:
www.estrategiaconcursos.com.br 152
A perspectiva concreta trata da implementação do serviço. Em outras palavras, ela descreve como
realizará o serviço – protocolos de comunicação, codificação de dados, localização, portas,
endereço de rede, etc. A perspectiva concreta contém a perspectiva abstrata e adiciona informações
sobre como o serviço se comunicará e quem pode alcançá-lo. Professor, qual a vantagem de haver
essa separação?
Elas fazem isso ao eliminar a necessidade de envolvimento dos usuários com os detalhes complexos
e com a estrutura do WSDL. As definições WSDL também podem ser geradas a partir de definições
de interface escritas em outras linguagens, como JAX-RPC. Ele não define características não-
funcionais do serviço (Ex: tempo de resposta, escalabilidade, segurança). Ademais, define quatro
tipos de operações:
Conforme vimos em aula, a questão inverteu as bolas! As definições de tipo pertencem à parte
abstrata; e como/onde o serviço pode ser contatado (endereço de rede, portas, etc) pertence à
parte concreta. Alguns me perguntam se as definições WSDL podem ser geradas a partir de
definições de interfaces escritas em outras linguagens. Sim, em teoria, elas podem ser escritas
em outras linguagens que, não, XML.
Gabarito: E
14. (CESPE - 2008 - STJ - Analista Judiciário - Tecnologia da Informação) O SOAP encapsula
mensagens que podem ser transmitidas via HTTP; permite o modelo de interação cliente-
servidor; define como usar XML para representar mensagens de requisição e resposta. Um
documento XML é transportado no corpo de uma mensagem SOAP; no modelo cliente-
servidor, o corpo de uma mensagem SOAP pode conter uma requisição, mas não uma
resposta.
Comentários:
www.estrategiaconcursos.com.br 152
SOAP encapsula mensagens que podem ser transmitidas via HTTP? Sim, assim como outros
protocolos de comunicação. Permite o modelo de interação cliente-servidor? Define como usar XML
para representar mensagens de requisição e resposta? Sim, utiliza um paradigma de
requisição/resposta, típico de aplicacões cliente-servidor. Um documento XML é transportado no
corpo de uma mensagem SOAP? Sim, ele encapsula um documento XML. O corpo de uma
mensagem SOAP pode conter uma requisição, mas não uma resposta? Não, entre outras
utilizações, SOAP foi desenhado para encapsular em e transportar em seu corpo chamadas de
RPC, que faz uma requisição e exige uma resposta.
Gabarito: E
15. (CESPE - 2008 - TRT - 5ª Região (BA) - Analista Judiciário - Tecnologia da Informação) No
SOA, os web services permitem que os aplicativos se comuniquem entre si de modo
independente da plataforma e da linguagem de programação. Os web services utilizam WSDL
para descrever interfaces de aplicativos na linguagem XML.
Comentários:
Vamos lá! Nessa questão, o sabixão do examinador encontrou – em algum lugar – a seguinte
frase: "Os Web Services utilizam XML para descrever as interfaces de aplicativos em uma linguagem
chamada WSDL". Ele, então, decidiu inverter XML com WSDL e dizer que o item estava errado.
No entanto, ele deu azar, porque mesmo com a inversão o item continua correto. Ora, web
www.estrategiaconcursos.com.br 152
services utilizam WSDL para descrever interfaces de aplicativos na linguagem XML? Sim, porque
WSDL é escrito em XML. Logo, a questão está correta! A banca voltou atrás? Não :(
Gabarito: E
16. (CESPE - 2008 - TRT - 5ª Região (BA) - Analista Judiciário - Tecnologia da Informação) Na
visão do SOA, XML e WSDL são padrões abertos que permitem que os serviços se
comuniquem de maneira homogênea, independentemente da plataforma de hardware, do
sistema operacional e da linguagem de programação nos quais o serviço está implementado.
Comentários:
Gabarito: C
17. (CESPE - 2009 - ANATEL - Analista de Sistemas) Os três padrões fundamentais que
possibilitam comunicações entre web services são: simple object access protocol (SOAP) —
protocolo que define uma organização para a troca estruturada de dados entre web services;
web services description language (WSDL) — protocolo que define como as interfaces dos
web services podem ser representadas; universal description, discovery and integration
(UDDI) — padrão de descoberta que define como são organizadas as informações de
descrição do serviço, permitindo que os solicitantes descubram os serviços. Um desses
padrões não utiliza a XML (extensible mark-up language).
www.estrategiaconcursos.com.br 152
Comentários:
O QUE É SOAP?
Trata-se de um protocolo que define uma organização para a troca estruturada de dados
entre Web Services.
O QUE É WSDL?
Trata-se de um protocolo baseado em XML para troca de informações em ambientes
distribuídos e descentralizados (Sim, alguns o consideram um protocolo!).
O QUE É UDDI?
Trata-se de um padrão de descoberta que define como são organizadas as informações de
descrição do serviço, permitindo que os solicitantes descubram os serviços.
Gabarito: E
18. (CESPE - 2009 – CEHAP/PB - Analista de Sistemas – Letra D) São padrões de Web services
o SOAP, o WSDL e o UDDI, todos baseados em HTTP.
Comentários:
www.estrategiaconcursos.com.br 152
Baseado em XML, define como as interfaces dos Web Services podem ser
representadas.
UDDI (UNIVERSAL DESCRIPTION, DISCOVERY AND INTEGRATION):
Baseado em XML, trata-se do padrão de descobrimento que define como as
informações podem ser organizadas.
Gabarito: E
19. (CESPE - 2009 - INMETRO - Analista de Sistemas) Na SOA, a descrição do serviço é mantida
em um repositório WSDL, em formato UDDI (universal description, Discovery and
integration).
Comentários:
O UDDI descobre serviços por meio de registries, que são repositórios logicamente centralizados e
fisicamente distribuídos que contêm documentos descritores dos dados do negócio. As informações
capturadas no contexto do UDDI são classificadas em três categorias principais: Páginas Brancas,
Páginas Verdes ou Páginas Amarelas, como mostra a imagem abaixo com seus respectivos
exemplos:
Gabarito: E
20. (CESPE - 2009 - ANTAQ - Analista de Sistemas) Nos serviços web, clientes e servidores,
direta ou indiretamente, podem acessar documentos UDDI completos por meio de seus URIs
(uniform resource identifier), usando um serviço de diretório, tal como o WSDL.
www.estrategiaconcursos.com.br 152
Comentários:
De acordo com George Coulouris, os documentos WSDL completos podem ser acessados por meio de
seus URIs por clientes e servidores, direta ou indiretamente, por intermédio de um serviço de diretório
como o UDDI. Estão disponíveis ferramentas para gerar definições WSDL a partir de
informações fornecidas por meio de uma interface gráfica com o usuário.
Gabarito: E
21. (CESPE - 2009 – TCE/TO - Analista de Sistemas) Acerca da arquitetura orientada ao serviço
(SOA), assinale a opção incorreta.
e) Nos web services, utiliza-se SOAP sobre HTTP para se realizar a comunicação entre os
serviços.
Comentários:
www.estrategiaconcursos.com.br 152
Ele tenta diferenciar POO de SOA – essencialmente trata-se da diferença entre um objeto e um
serviço. O primeiro utiliza operações para empacotar dados em um objeto; e o segundo tenta
oferecer um serviço (que ofereça algum valor ao negócio). Em outros termos, serviços têm acesso
aos métodos dos objetos, mas quem de fato agrega valor é o serviço e, não, o método - o serviço
é o fim, o método é o meio.
O OASIS ainda afirma: "Ambos, a OO e o SOA são como formas de pensar sobre representação de
coisas e ações no mundo referindo-se especificamente sobre a construção de sistemas. A coisa
importante é o entendimento e aplicação do paradigma. Portanto a questão não é “o que é um
serviço?” muito mais que isto é “o que é um objeto?”.
Qualquer coisa pode ser um serviço da mesma forma que qualquer coisa pode ser um objeto. O
desafio é aplicar o paradigma para melhorar a clareza e obter as coisas feitas. O SOA oferece a base
mais viável para sistemas de grande escala por que ele se enquadra melhor na forma como as
atividades humanas são gerenciadas – por delegação". Em outras palavras, os serviços são mais
abstratos; são mais próximos das atividades humanas do que os métodos dos objetos.
(c) De acordo com o Modelo de Referência OASIS/SOA: SOA oferece a base mais viável para
sistemas de grande escala por que ele se enquadra melhor na forma como as atividades humanas
são gerenciadas – por delegação.
www.estrategiaconcursos.com.br 152
O QUE É UDDI?
Trata-se de um protocolo que é um dos maiores blocos de construção requeridos para
construir Web Services com sucesso (Sim, alguns o chamam de protocolo!)
(d) Conforme vimos em aula, está perfeito – alguns autores chamam Protocolo UDDI (eu discordo
dessa denominação).
Um dos motivos que tornam os Web Services atrativos é o fato de estes serem baseados em
tecnologias padrão, em particular XML e HTTP. Eles são comumente utilizados para disponibilizar
serviços interativos na web, podendo ser acessados por outras aplicações. O SOAP é o protocolo
mais comum para troca de mensagens, já que é escrito em XML e transportado, via de regra, por
HTTP.
(e) Conforme vimos em aula, está perfeito! Esse é um dos motivos de esse modelo ser tão atrativo
é ser baseado em tecnologias padrão, tais como XML e HTTP.
Gabarito: B
Comentários:
O QUE É UDDI?
Trata-se de um serviço de diretório, baseado em XML, em que é possível registrar e
localizar Web Services.
www.estrategiaconcursos.com.br 152
Gabarito: C
23. (CESPE - 2010 - INMETRO - Analista de Sistemas) Em um sistema que adere a uma
arquitetura orientada a serviços (SOA), vários elementos da arquitetura estabelecem
comunicações entre si, e recomenda-se que adotem vários padrões e recursos para
comunicação, como HTTP (hypertext transfer protocol), WSDL (Web Services Description
Language), SOAP (Single Object Acess Protocol), WS-BPEL (Web Services – Business
Processes Execution Language), UDDI (Universal Description, Discover and Integration) e
XML (eXtensible Markup Language), entre outros. Assinale a opção que formula relação
correta entre esses padrões e (ou) recursos.
a) Um documento escrito na linguagem WSDL adota formato com base na linguagem XML e
seu uso depende da existência do serviço UDDI.
b) UDDI é um protocolo para definição das interfaces de serviços ofertadas por um objeto que
presta serviços em uma arquitetura orientada a serviços.
e) HTTP, WSDL, UDDI, SOAP, WS-BPEL e SOA são tecnologias para a produção de
documentos digitais que adotam o XML como formato padronizado.
Comentários:
(a) Não, seu uso não depende da existência do UDDI; (b) Não, esse item trata do SOAP; (c) Sim,
ele encapsula mensagens que podem ser consideradas um documento XML. Ele é descrito em
WSDL, e WSDL é baseado em XML, logo ele é definido em XML; (d) Não, BPEL é uma linguagem
de execução e, não, uma notação; (e) Não, elas não são tecnologias para produção de
documentos digitais.
Curso Regular de Desenvolvimento de Software 44
www.estrategiaconcursos.com.br 152
Gabarito: C
24. (CESPE - 2010 - MPU - Analista de Sistemas) A descrição de um web service é feita utilizando-
se WSDL (Web Services Description Language), que é uma linguagem embasada em RPC
(Remote Procedure Call) e UDDI (Universal Description Discovery and Integration), com a qual
se descreve a forma de acesso dos serviços e seus parâmetros de entrada e de saída.
Comentários:
O QUE É WSDL?
Trata-se efetivamente de especificação que define como descrever serviços web em uma
gramática XML.
Gabarito: E
25. (CESPE - 2010 – TRE/MT - Analista de Sistemas) Com relação a web services, assinale a
opção correta.
b) SOAP (Simple Object Access Protocol) é um protocolo com base em HTML que permite
troca de informações entre aplicações em um ambiente distribuído.
www.estrategiaconcursos.com.br 152
d) A linguagem WSDL (Web Services Description Language) é utilizada para descrever web
services.
e) Segundo o W3C (World Wide Web Consortium), web services são apropriados somente
para aplicações em que componentes de um sistema distribuído são executados em
plataformas semelhantes de um mesmo fornecedor.
Comentários:
O QUE É WSDL?
Trata-se de uma linguagem de descrição de Web Services, escrita em XML, para descrever
serviços web, especificar as formas de acesso, as operações e os métodos disponíveis.
(a) Errado, são fracamente acopladas; (b) Errado, com base em XML; (c) Errado, são descritas em
WSDL; (d) Correto, é para isso que ela serve; (e) Errado, eles são independente de tecnologias
(plataformas, hardware, etc).
Gabarito: D
26. (CESPE - 2011 – MEC - Analista de Sistemas) Web Service é uma solução lógica que oferece
a possibilidade de recuperar informações remotamente por meio de cloud computing. Esse
serviço utiliza a definição WSDL em um ou mais XML Schemas, que são armazenados na
UDDI.
Comentários:
www.estrategiaconcursos.com.br 152
O Binding Template é um conjunto de descrições técnicas dos Web Services representados por uma
estrutura de serviços de negócio – ele indica, por exemplo, como se conecta ao serviço. Por fim, o
tModel representa um modelo técnico, i.e., uma maneira de descrever os vários negócios,
serviços, estruturas de template e informações externas (Ex: WSDL) armazenados dentro de
um Registro UDDI.
Conforme vimos em aula, XML Schemas não são armazenados na UDDI! E se ele dissesse que os
documentos WSDL são armazenados na UDDI? Ainda estaria errada, porque o UDDI só aponta
para o documento WSDL, mas não o armazena...
Gabarito: E
27. (CESPE - 2012 – PEFO/CE- Analista de Sistemas) SOAP é um protocolo leve destinado à
troca de informações estruturadas em um ambiente distribuído e descentralizado. Uma
mensagem SOAP, por exemplo, é um documento XML composto de três partes obrigatórias:
envelope, cabeçalho e corpo.
Comentários:
Conforme vimos em aula, não é possível afirmar que SOAP é um protocolo leve ou pesado sem
uma referência. Além disso, cabeçalho é opcional.
Gabarito: E
www.estrategiaconcursos.com.br 152
28. (CESPE - 2009 - ANTAQ - Analista de Sistemas) Web services é um tipo de arquitetura de
sistema distribuído que se caracteriza pela disponibilidade de serviços abstratos na Logical
View, que se orienta pela troca de mensagens entre requisitantes e provedores,
independentemente das suas plataformas de trabalho via XML.
Comentários:
Segundo a definição do Gartner, Web Services são componentes de software com baixo fator de
acoplamento, utilizado por meio de padrões de internet. Um Web Service representa uma
função/lógica de negócio ou um serviço que pode ser acessado por uma outra aplicação na web,
sobre redes públicas e, geralmente, disponibilizado por protocolos conhecidos.
Conforme vimos em aula, Web Service implementa uma arquitetura distribuída, mas não é uma
(por si só). Além disso, a troca de mensagens ocorre via SOAP e, não, XML. O primeiro é um
protocolo de comunicação; o segundo é apenas uma linguagem de marcação.
Gabarito: E
29. (CESPE - 2012 – TJ/RO - Analista de Sistemas) Acerca de SOA e web services, assinale a
opção correta.
a) Web service é projetado para operar dados entre máquinas, em redes de computadores,
mediante a linguagem UDDI.
d) Representational state transfer (REST), que utiliza o WSDL como linguagem de descrição
de serviços, é uma forma de implementação de SOA na web.
www.estrategiaconcursos.com.br 152
Comentários:
(a) Errado, opera dados mediante a linguagem XML; (b) Correto, o contrato pode ter vários
esquemas, com regras de nível de serviço – por exemplo; (c) Errado, o princípio é de acoplamento
fraco; (d) Errado, não é o tema da aula, mas não utiliza WSDL; (e) Errado, SOA não é um aplicativo,
mas – sim – uma arquitetura, e Web Service não é uma arquitetura, mas – sim – a implementação
de uma arquitetura.
Gabarito: B
30. (CESPE - 2013 – CNJ - Analista de Sistemas) Um dos elementos de uma mensagem SOAP é
o corpo (body), no qual devem estar contidas as informações de erro e status.
Comentários:
Ele contém o payload, i.e., a mensagem SOAP. Trata-se de um elemento obrigatório que é capaz de
empacotar chamadas RPC, reportar erros, enviar operações UDDI, entre outros. O elemento Body
pode conter um elemento opcional Fault, usado para carregar mensagens de status e mensagens
de erros retornadas pelos nós ao processarem a mensagem. É obrigatório!
A redação torna o item polêmico: um dos elementos de uma mensagem SOAP é o Corpo (Body).
As informações de erro e status devem estar contidas no Fault, que fica dentro do Body. O Body
é obrigatório, mas o Fault é opcional. No entanto, a questão apenas afirma que, se houver as
informações de erro e status, elas devem estar presentes no corpo. Qual o erro da questão,
professor? Nenhum, ela está correta, mas o examinador não voltou atrás :(
Gabarito: E
www.estrategiaconcursos.com.br 152
31. (CESPE - 2013 – ANTT – Analista de Sistemas) Web Services provêm um meio padrão para
interoperação entre diferentes aplicativos de software, que podem ser executados em uma
variedade de plataformas e(ou) frameworks.
Comentários:
Gabarito: C
Comentários:
COMPONENTE DESCRIÇÃO
Esse componente descreve o formato de mensagens e protocolos de
transmissão que podem ser usados para definir um endpoint. Ele define
binding detalhes de implementação necessários para acessar um serviço.
www.estrategiaconcursos.com.br 152
Gabarito: C
33. (CESPE - 2013 – TCE/RO – Analista de Sistemas) O SOAP permite a troca de mensagens
estruturadas em ambiente distribuído e descentralizado, com o uso de tecnologias XML.
Essas mensagens podem ser trocadas por uma variedade de protocolos subjacentes como,
por exemplo, o HTTP.
Comentários:
Gabarito: C
34. (CESPE - 2013 – SERPRO – Analista de Sistemas) A comunicação entre sistemas clientes e
servidores para troca de mensagens pode ser realizada por meio de SOAP (simple object
access protocol), que é um protocolo para troca de informações estruturadas independente
de linguagem de programação.
www.estrategiaconcursos.com.br 152
Comentários:
Um dos motivos que tornam os Web Services atrativos é o fato de estes serem baseados em
tecnologias padrão, em particular XML e HTTP. Eles são comumente utilizados para disponibilizar
serviços interativos na web, podendo ser acessados por outras aplicações. O SOAP é o protocolo
mais comum para troca de mensagens, já que é escrito em XML e transportado, via de regra, por
HTTP.
Gabarito: C
35. (CESPE - 2013 – CNJ – Analista de Sistemas) Uma das formas de comunicação para
encapsular dados transferidos no formato XML para aplicações serviço web (webservice) é o
SOAP (simple object access protocol).
Comentários:
O QUE É SOAP?
Trata-se de uma das formas de comunicação para encapsular dados transferidos no
formato XML para Web Services.
www.estrategiaconcursos.com.br 152
Gabarito: C
36. (CESPE - 2012 – MPE/PI – Analista de Sistemas) Em web services, utiliza-se o protocolo
SOAP (simple object access protocol) para a comunicação entre os serviços.
Comentários:
O QUE É SOAP?
Trata-se de uma das formas de comunicação para encapsular dados transferidos no
formato XML para Web Services.
Gabarito: C
37. (CESPE - 2016 – TCE/PR – Analista de Sistemas) Em um web service, o termo namespace
representa o nome do elemento principal do maior nível hierárquico em um documento XML
utilizado para troca de mensagens.
Comentários:
No contexto de Web Services, o que é um “documento XML utilizado para troca de mensagens”? É
um Web Service SOAP! Nesse caso, o elemento principal do maior nível hierárquico é o Envelope
– que identifica a Mensagem SOAP. No entanto, um namespace é apenas um nome que identifica
um conjunto de outros nomes! Ele pode representar o nome do elemento de maior nível
hierárquico assim como quaisquer outros.
www.estrategiaconcursos.com.br 152
Gabarito: E
38. (CESPE - 2009 - ANTAQ - Analista de Sistemas) Em serviços web, o SOAP pode ser
transportado por protocolos como REST, HTTP, SMTP e JMS.
Comentários:
Galera, essa questão foi anulada! REST não é um protocolo, mas um estilo arquitetural! Inclusive,
ele utiliza o Protocolo HTTP.
Gabarito: X
39. (CESPE – 2017 – SE/DF – Analista de Sistemas) 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.
Comentários:
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
www.estrategiaconcursos.com.br 152
significa ter a capacidade de realização ou execução de algo. E isso é verdadeiro nesse contexto.
Vejam o que diz a especificação:
“Regardless of the development approach you utilize for service development there is no question
that service contracts must be designed in an extensible manner to minimize disruptive versioning
changes. Service contracts should be designed with the assumption that once published, they cannot
be modified—this approach forces developers to build flexibility into their schema designs”.
Gabarito: E
Comentários:
Conforme eu disse na questão anterior, contratos de serviços (interfaces) espalhadas pela rede e
desacopladas, permitindo que o contrato seja padronizado, sendo sua implementação
irrelevante.
Gabarito: C
www.estrategiaconcursos.com.br 152
a) WS – Transaction é um padrão de suporte que garante que uma mensagem seja entregue
uma vez e apenas uma vez.
d) WSDL (web service definition language) na SOA para Web é uma linguagem utilizada como
padrão para troca de mensagens e para definição de componentes de web services.
e) WS – realiable messaging é um padrão SOA que define como as informações devem ser
representadas em uma mensagem SOAP.
Comentários:
Gabarito: B
42. (CESPE – 2017 – TRE/BA - Analista de Sistemas) No que se refere a web services, assinale a
opção correta.
a) As solicitações e respostas XML trafegam no protocolo HTTP, não sendo possível utilizá-las
nos protocolos FTP e SMTP.
www.estrategiaconcursos.com.br 152
b) Um dos componentes de um Web Service SOAP (Simple Object Access Protocol) é a UDDI
(Universal Description, Discovery and Integration), a qual é um arquivo do tipo XML que
descreve detalhadamente um Web Service, especificando como deve ser o formato de
entrada e saída de cada operação.
c) As duas formas de envio de mensagem para que um cliente possa efetuar solicitações a um
Web Service são One-Way Messaging e Request-Response Messaging.
Comentários:
(a) Errado. Via de regra, utiliza-se HTTP, mas não obrigatório; (b) Errado. Observem que a questão
não está afirmando que UDDI é um componente do SOAP. Ela afirma que o UDDI é um
componente do Web Service SOAP. Dito isso, quem descreve detalhadamente um serviço é o
WSDL; (c) Correto. Existem quatro tipos de operação: One-Way, Request/Response,
Solicit/Response e Notification. Para que o cliente possa efetuar solicitações, é adequado utilizar
as duas primeiras; (d) Errado, não é para desenvolvimento – é para descrição de Web Services; (e)
Errado, eles são independentes de tecnologia, logo não dependem de linguagem de programação
ou sistema operacional.
Gabarito: C
www.estrategiaconcursos.com.br 152
Comentários:
Na verdade, ele propõe extensões para aprimorar a segurança dos Web Services no SOAP! Ele
adiciona um elemento de cabeçalho de mensagem SOAP (<wsse:Security>)para anexar as
informações de segurança às mensagens, na forma de tokens, transmitindo diferentes tipos de
solicitações juntamente com informações de criptografia e assinatura digital.
Gabarito: E
Comentários:
Na Federation, o usuário faz uma requisição síncrona a um repositório central (representado por uma
Biblioteca Digital) e espera a resposta. O repositório faz diversas requisições a outros repositórios
remotos e as respostas retornam para o repositório central onde são consolidadas e devolvidas
para o usuário. Bacana? Agora vamos ver como funciona a outra abordagem.
No Harvesting, o usuário faz uma requisição a um motor de busca que procura em um repositório
central de metadados (Harvested Metadata) que contém metadados anteriormente coletados
assincronamente e automaticamente de outros repositórios. Em geral, os metadados são codificados
em XML. Esse método é menos sofisticado e acarreta menor sobrecarga sobre os repositórios.
Gabarito: C
www.estrategiaconcursos.com.br 152
45. (CESPE - 2018 – STM – Técnico em Programação) O SOAP é um tipo de modelo de dados
XML elaborado para facilitar a inserção de campos HTML em páginas web.
Comentários:
Oi? SOAP não é um tipo de modelo de dados e não foi elaborado para facilitar a inserção de
campos HTML em página web – questão viajante!
Gabarito: Errado
ACERTEI ERREI
1. (FCC - 2012 - TJ-PE - Analista Judiciário - Análise de Sistemas) Sobre SOA e tecnologias
relacionadas, é correto afirmar:
a) Na arquitetura SOA, Serviços Web são disponibilizados usando XML, WSDL, SOAP e UDDI,
tecnologias estas que habilitam a implementação e desenvolvimento da arquitetura.
www.estrategiaconcursos.com.br 152
b) Como grande parte das aplicações SOA são construídas por WML Web Services, o uso do
estado de sessão é grande.
d) WSDL refere-se a um documento escrito em XML que descreve um serviço, mas não
especifica como acessá-lo.
Comentários:
a – Correto; b – Errado. WML Web Services são Web Services Mobile, mas poucas aplicações são
construídas por ele; c – Errado. Poucas? SOAP é o principal padrão de troca de mensagens; d –
Errado. WSDL especifica, sim, como acessá-lo; e – Errado. BPEL utiliza a técnica de orquestração.
Gabarito: A
www.estrategiaconcursos.com.br 152
II. Outros sistemas interagem com esse serviço por meio de mensagens no protocolo SOAP,
tipicamente enviadas por HTTP.
a) I, II e III.
b) I e II, apenas.
c) II, apenas.
d) I e III, apenas.
e) II e III, apenas.
Comentários:
Gabarito: A
3. (FCC - 2011 - TRT - 23ª REGIÃO (MT) - Técnico Judiciário - Tecnologia da Informação) Em
termos de tecnologias utilizadas em Web Services, a representação e estruturação dos dados
nas mensagens recebidas/enviadas são realizadas por (I) uma linguagem específica; (II) as
chamadas às operações, incluindo os parâmetros de entrada/saída, são codificadas por um
protocolo específico; (III) os serviços e suas mensagens, independentemente dos formatos de
mensagem e dos protocolos de rede envolvidos são descritos usando outra linguagem
específica; (IV) o processo de publicação/pesquisa/descoberta de Web Services também
utiliza um protocolo específico.
www.estrategiaconcursos.com.br 152
Comentários:
I – Falou em estrutura dos dados nas mensagens: é XML; II – Falou em chamadas, incluindo
parâmetros de entrada e saída, e é um protocolo: é SOAP; III – Falou em linguagem de descrição:
é WSDL; IV – Falou em publicação, pesquisa e descoberta: é UDDI.
Gabarito: B
a) Foram criados para construir aplicações que são vistas como serviços na internet.
Comentários:
a – Correto. Foi para isso mesmo; b – Correto. Apesar de ser bem simplista; c – Correto. É
independente de plataforma ou linguagens de programação; d – Correto. Essa é uma questão
polêmica. A princípio, não existem Web Services sem SOAP. No entanto, há implementações de
Web Services RESTful, i.e., sem SOAP; e – Errada. Essas funções são providas pelo UDDI.
www.estrategiaconcursos.com.br 152
Gabarito: E
a) WSDL.
b) SOA.
c) SOAP.
d) UDDI.
e) TCP.
Comentários:
Gabarito: C
a) SOAP.
b) XML.
c) WML.
d) WSDL.
e) UML.
www.estrategiaconcursos.com.br 152
Comentários:
Gabarito: D
7. (FCC - 2012 - TST - Analista Judiciário - Análise de Sistemas) Os Web Services possibilitam
que aplicações desenvolvidas em diferentes plataformas se comuniquem através de troca de
mensagens. Os Web Services compatíveis com o SOAP:
b) são compatíveis com Chamadas de Procedimento Remoto (RPC) e recebem objetos das
tecnologias DCOM e CORBA, sendo livres de bloqueios por firewalls.
c) não são recomendados pelo W3C, ou seja, não possuem a funcionalidade de realizar troca
de mensagens na linguagem WSDL.
d) são implementados, em muitos casos, utilizando servidores FTP para serem compatíveis
com a maioria dos Web Services.
Comentários:
www.estrategiaconcursos.com.br 152
a – Correto. Na minha opinião, está errada. Web Services permitem troca de mensagens através
de arquivos no formado XML e, não, WSDL (que é uma linguagem); b – Errado. Não recebem
objetos de tecnologias DCOM e CORBA; c – Errado. São recomendados pelo W3C; d – Errado.
Quem é mais compatível é o HTTP e, não, o FTP; e – Errado. Qualquer tipo, não.
Gabarito: A
a) XML-RPC.
b) XHTML.
c) SOAP.
d) HTTP.
e) WSDL
Comentários:
Gabarito: E
www.estrategiaconcursos.com.br 152
a) O objetivo do WSDL é publicar e recuperar web services e suas principais partes são
Registro e Descoberta.
b) Podem ser publicados através de WSDL, que é um formato utilizado para seu
armazenamento em repositórios disponíveis na Internet.
c) As mensagens trocadas são formatadas no protocolo HTTP que provê uma forma padrão
para estruturar mensagens XML.
d) Antes que as mensagens SOAP sejam trocadas, documentos UDDI descrevem quais dados
serão trocados, e como estes dados serão organizados nas mensagens HTTP.
e) O WSDL serve para descrever o quê um web service pode fazer, onde ele está e como
invocá-lo.
Comentários:
a – Errado. Quem faz isso é o UDDI; b – Errado. Quem faz isso é o UDDI; c – Errado. Quem faz isso
é o SOAP; d – Errado. Quem faz isso é o WSDL; e – Correto.
Gabarito: E
10. (FCC - 2011 - TRT - 23ª REGIÃO (MT) - Analista Judiciário - Tecnologia da Informação)
Compõem os elementos da infraestrutura de Web Services XML, EXCETO:
www.estrategiaconcursos.com.br 152
Comentários:
Gabarito: E
11. (FCC - 2011 - TRT - 4ª REGIÃO (RS) - Analista Judiciário - Tecnologia da Informação)
Especificação desenvolvida pelo World Wide Web Consortium, que permite descrever os Web
Services segundo um formato XML. É extensível para permitir a descrição dos serviços e suas
mensagens, independentemente dos formatos de mensagem e dos protocolos de rede
utilizados. Trata-se de
a) SOAP.
b) WSDL.
c) UDDI.
d) SamL.
e) Ws-i.
Comentários:
www.estrategiaconcursos.com.br 152
Gabarito: B
12. (FCC - 2010 - MPE-RN - Analista de Tecnologia da Informação - Suporte Técnico) Para
enviar uma mensagem a um determinado Web Service, o cliente acessa o documento que
contém a descrição do serviço e, em seguida, constrói a mensagem, passando os tipos de
dados corretos, de acordo com a definição encontrada no documento; Web Service valida a
mensagem conforme as informações contidas no documento. Esse documento é o:
Comentários:
Gabarito: E
13. (FCC - 2009 - SEFAZ-SP - Agente Fiscal de Rendas - Tecnologia da Informação - Prova 3)
Uma vantagem que o Web Service oferece:
I. em relação à empresa que desenvolve uma DLL é que não precisa distribuí-lo para todos os
clientes, pois estará armazenado em um único lugar de onde será acessado.
www.estrategiaconcursos.com.br 152
II. é o acesso a ele sempre por meio de http, mas internamente existe uma string XML que
está empacotada em um protocolo SOAP (Simple Object Access Protocol).
III. é ser transparente para o Firewall de uma empresa, pois, como é uma string XML, é
interpretado como um arquivo "texto", não precisando pedir autorização do Firewall para
entrar.
a) I, II e III.
b) I e II, apenas.
c) I e III, apenas.
d) II e III, apenas.
e) II, apenas.
Comentários:
I – Correta. Essa é uma vantagem mesmo; II – Correta. Na minha opinião, está errada! É comum
que o seja por HTTP, mas não é sempre; III – Correto. Outra boa vantagem.
Observem que o texto afirma: "Um Web Service é uma classe escrita em uma linguagem suportada
pela plataforma .NET que pode ser acessada via protocolo http. Isso significa dizer que você pode
acessar qualquer Web Service disponível na Web e utilizar todas as funcionalidades do mesmo. O
acesso sempre será via http, mas internamente existe uma string XML que está empacotada em um
protocolo SOAP (Simple Object Access Protocol)".
www.estrategiaconcursos.com.br 152
O próprio texto afirma que PODE ser acessado via Protocolo HTTP. Esse é o problema de retirar
uma parte de um texto: sem o contexto, a sentença pode estar errada - e esse é o caso da questão.
Gabarito: A
14. (FCC - 2009 - TJ-SE - Analista Judiciário - Tecnologia da Informação) Considere dois dos
fundamentos que possibilitam a comunicação entre Web services:
São, respectivamente,
a) HTTP e XML.
b) SOAP e WSDL.
c) SOAP e XSL.
d) DOM e COM+.
e) COMM e HTML.
Comentários:
Mais um vacilo da FCC! WSDL não é protocolo! Enfim, abstraindo isso: SOAP é o protocolo que
organiza a troca estruturada de dados entre Web Services e WSDL define com as interfaces
podem ser representadas.
www.estrategiaconcursos.com.br 152
Gabarito: B
15. (FCC - 2009 - TJ-SE - Analista Judiciário - Tecnologia da Informação) No âmbito dos Web
Services, é um padrão que define como as informações de descrição de serviços usadas para
descobri-los podem ser organizadas. Trata-se de:
a) UDDI.
b) SOA.
c) WebApp.
d) Javascript.
e) DML.
Comentários:
Gabarito: A
16. (FCC - 2009 - TRT - 16ª REGIÃO (MA) - Técnico Judiciário - Tecnologia da Informação) Uma
solução utilizada na integração de aplicações Web e que compatibiliza a comunicação entre
plataformas diferentes por meio de uma linguagem de marcação estendida, padrão universal,
é conhecida por:
a) Web Services.
b) Browser.
www.estrategiaconcursos.com.br 152
d) Orientação a objetos.
e) Arquitetura cliente-servidor.
Comentários:
Gabarito: A
17. (FCC - 2009 - TJ-PA - Analista Judiciário - Tecnologia da Informação) No âmbito dos Web
Services, o protocolo padrão OASIS que especifica um método para descoberta de diretórios
de serviços é o:
a) HTTP.
b) SOAP.
c) WSDL.
d) UDDI.
e) DOM/XML.
Comentários:
Gabarito: D
www.estrategiaconcursos.com.br 152
18. (FCC - 2008 - MPE-RS - Técnico em Informática - Área Sistemas) NÃO é uma informação
requerida para invocar um serviço de Web e encapsulada pelo WSDL na forma de um
documento XML:
a) O local do serviço.
Comentários:
Gabarito: E
19. (FCC - 2012 - TRE-SP - Analista Judiciário - Análise de Sistemas) Com relação ao SOAP,
analise:
II. Header: É um cabeçalho que carrega informações adicionais, como por exemplo, se a
mensagem deve ser processada por um determinado nó intermediário. Deve ser o primeiro
elemento do Envelope.
III. Body: Contém o payload, ou a informação a ser transportada para o seu destino final.
www.estrategiaconcursos.com.br 152
a) I e II, apenas.
b) I e III, apenas.
c) I, II e III, apenas.
Comentários:
Gabarito: B
20. (FCC - 2010 - TRE-RS - Analista Judiciário - Analista de Sistemas Suporte) SOAP é:
www.estrategiaconcursos.com.br 152
b) II e III, somente.
c) I e IV, somente.
Comentários:
I – Correto. Há uma ressalva: leve em relação a o que? Se for em relação ao REST, por exemplo,
ele é pesado; II – Errado. Ele é independente de plataforma ou linguagem de programação; III –
Errado. Ele é baseado em XML; IV – Correto. É, sim, uma recomendação da W3C.
Gabarito: C
a) root.
b) body.
c) envelope.
d) fault.
e) header.
Comentários:
www.estrategiaconcursos.com.br 152
Gabarito: C
22. (FGV – 2008 – Senado Federal – Analista de Sistemas) Web Service representa uma solução
utilizada na integração de sistemas e na comunicação entre aplicações diferentes e que possui
entre suas características as possibilidades:
Para a construção das bases de um Web Service por padrão, o protocolo e a linguagem são:
a) UDDI e XML.
b) SOAP e XML.
c) UDDI e WSDL.
d) UDDI e DHTML.
e) SOAP e DHTML.
Comentários:
Gabarito: B
23. (FGV – 2010 – ARE – Analista de Sistemas) Web Service representa um termo utilizado na
integração de sistemas e na comunicação entre aplicações diferentes e que possui entre suas
características as possibilidades de:
www.estrategiaconcursos.com.br 152
IV. aplicações enviarem e receberem dados por meio de uma linguagem em formato
padronizado.
Para a construção das bases de um Web Service, por padrão a linguagem é conhecida como XML
e o protocolo pela sigla:
a) SOAP.
b) UDDI.
c) HTTPS.
d) SCHEMA.
e) XPOINTER.
Comentários:
Gabarito: A
24. (FGV – 2008 – Senado Federal – Analista de Sistemas) Considere as assertivas a seguir sobre
as relações entre SOAP, WSDL e UDDI:
a) somente I.
b) somente I e II.
c) somente I e III.
d) somente II e III.
e) I, II e III.
Comentários:
www.estrategiaconcursos.com.br 152
(I) Correto, ele é um diretório que contém serviços web que são descritos pela Linguagem WSDL;
(II) Errado, não existem Serviços SOAP (SOAP é um protocolo, seriam Serviços Web); (III) Errado,
não existem Descrições SOAP (a descrição é feita por WSDL).
Gabarito: A
De acordo com o enfoque do World Wide Web Consortium - W3C, as mensagens SOAP são
documentos baseados na seguinte linguagem:
a) WSDL
b) XML
c) JAVASCRIPT
d) AJAX
e) XSLT
Comentários:
Essa é aquela questão que você não pode errar! SOAP é baseado em XML!
Gabarito: B
26. (FGV – 2015 – TCE/SE – Analista de Sistemas) Uma mensagem no protocolo SOAP (simple
object access protocol) é um documento XML contendo os seguintes elementos:
www.estrategiaconcursos.com.br 152
Comentários:
Envelope (Envolope):
Cabeçalho (Header):
Corpo (Body):
Ele contém o payload, i.e., a mensagem SOAP. Trata-se de um elemento obrigatório que é capaz de
empacotar chamadas RPC, reportar erros, enviar operações UDDI, entre outros. O elemento Body
pode conter um elemento opcional Fault, usado para carregar mensagens de status e mensagens
de erros retornadas pelos nós ao processarem a mensagem. É obrigatório!
Gabarito: D
www.estrategiaconcursos.com.br 152
27. (ESAF - 2016 – ANAC – Analista de Sistemas) São tecnologias essenciais para Web Services:
Comentários:
Eu preciso da atenção de vocês agora! É possível implementar Web Services utilizando diversos
paradigmas. O foco dessa aula é o Paradigma SOAP, mas existem outros (Ex: Paradigma REST). No
entanto, vocês verão algumas vezes as provas tratarem Web Services apenas aqueles que
implementam SOAP, UDDI e WSDL. Não sejam muito rigorosos com isso...
Um dos motivos que tornam os Web Services atrativos é o fato de estes serem baseados em
tecnologias padrão, em particular XML e HTTP. Eles são comumente utilizados para disponibilizar
serviços interativos na web, podendo ser acessados por outras aplicações. O SOAP é o protocolo
mais comum para troca de mensagens, já que é escrito em XML e transportado, via de regra, por
HTTP.
Gabarito: E
Comentários:
www.estrategiaconcursos.com.br 152
Gabarito: C
1. SOAP
2. WSDL
3. Service Description (Descrição do Serviço)
4. Biding Operation
( ) Contém a descrição processável por máquina das mensagens que são trocadas por um
Serviço (Web Service)
a) 1, 2, 4 e 3.
www.estrategiaconcursos.com.br 152
b) 3, 1, 4 e 2.
c) 4, 1, 3 e 2.
d) 3, 2, 1 e 4.
e) 4, 2, 1 e 3.
Comentários:
(I) 3 - Trata-se do Service Description; (II) 1 – Trata-se do SOAP; (III) 2 – Trata-se do WSDL; (IV) ?
– Trata-se do UDDI?. Essa questão foi anulada – ainda não se sabe por qual razão.
Gabarito: X
Web services
30. (FGV - 2018 – COMPESA - Analista de Tecnologia da Informação) Com relação a segurança
em Web Services, analise as afirmativas a seguir.
II. A especificação WS-Security define como anexar cabeçalhos XML Signature e XML
Encryption a mensagens SOAP.
III. O SAML (Security Assertion Markup Language) é uma infraestrutura baseada em XML para
autenticação e autorização entre duas entidades: um Provedor de Serviços e um Provedor de
Identidade.
www.estrategiaconcursos.com.br 152
a) I, somente
b) II, somente
c) III, somente
d) I e II, somente.
e) I, II e III.
Comentários:
Por fim, cabe falar também sobre o SAML (Security Assertion Markup Language), que é uma
infraestrutura baseada em XML para autenticação e autorização entre duas entidades: um Provedor
de Serviços e um Provedor de Identidade. Como o próprio nome indica, SAML é uma linguagem de
marcação baseada em XML para asserções de segurança.
(I) Conforme vimos em aula, é realmente pelo XML-Encryption; (II) Confirme vimos acima,
questão perfeita; (III) Conforme vimos acima, questão perfeita!
Gabarito: E
www.estrategiaconcursos.com.br 152
ACERTEI ERREI
www.estrategiaconcursos.com.br 152
REST
O SOA tem seu nome utilizado de maneira bastante errada, eu imagino que isso ocorra devido ao
fato de que muitos ainda fazem uma forte associação entre o conceito abstrato e alto nível de
SOA e a tecnologia de Web Services, que – inicialmente – tornou-se a maneira mais popular de
implementá-lo. Percebam que muitas discussões na internet falam sobre "REST vs SOA"4.
Ora, isso é como comparar maçãs com laranjas! Por isso, vamos dar um passo atrás e olhar para
a motivação original do SOA. Em praticamente qualquer empresa, muitos sistemas individuais
compõem o cenário completo de TI. Eles rodam em diversas tecnologias e foram construídos
usando ferramentas diferentes. Alguns foram adquiridos de fornecedores comerciais, outros
foram desenvolvidos, etc.
Depois de um curto período de tempo, você vai querer conectá-los, porque obviamente há
muito valor em fazê-lo. É possível fazer isso de uma maneira ponto-a-ponto: a exportação de
alguns dados aqui, periodicamente importá-lo de lá; por meio de arquivos; bancos de dados
compartilhados; ou soluções de integração individuais. Essas soluções, em geral, levarão a uma
situação frágil e incontrolável.
Utilizar um middleware de integração centralizado não é uma boa solução (será um gargalo),
embora – em primeiro lugar - possa parecer tentador! Você se torna dependente do único
fornecedor, que pode ser comprado por outra organização, sair do negócio, ou tornar-se legado
após mesclar com um concorrente que tenha comprado outro produto deste tipo mais
recentemente.
Então, o que você faz em vez disso? Você trata o problema de uma forma razoável. Como?
Reduzindo a quantidade de esforço para integrar os sistemas individuais, limitando a quantidade
de diferentes tecnologias utilizadas na camada de interface, escolhendo uma boa interface de
abstração, e – principalmente - modularizando as grandes aplicações em pequenos pedaços.
4
Uma comparação mais adequada seria entre os estilos: REST x WS-*.
Curso Regular de Desenvolvimento de Software 85
www.estrategiaconcursos.com.br 152
E essa é a essência da arquitetura orientada a serviços: uma arquitetura de software que não é
aplicada a um sistema individual, mas a um conjunto de sistemas dentro de uma organização;
concentrando-se em interfaces e, não, em implementação; padronizando o que for necessário
para garantir uma comunicação fácil e um reúso casual, mas nada mais.
Bacana! Essa é a motivação do SOA! Nós vimos que é possível comunicar sistemas diferentes
de várias formas e que uma delas é por meio serviços. Você quer dizer Web Service, professor?
Bem, não necessariamente! Você pode implementar serviços com outras tecnologias (Ex: CORBA
ou DCOM), mas – de fato – a implementação mais comum é por meio de Web Services.
É importante que vocês saibam que REST é diferente de SOA! Qual a diferença? SOA é uma
arquitetura e REST é um estilo arquitetural5. E tem diferença, professor? Sim, meus caros! A
arquitetura é neutra; já o estilo arquitetural, não. REST pode ser visto como o fornecimento de
uma implementação de serviços com requisitos de design específicos para determinadas
tecnologias e arquiteturas.
O SOA pode ser visto como o fornecimento de uma abordagem tecnologicamente neutra ao
design de serviços que pode ser aplicada a um grande número de implementações, incluindo
Web Services e REST. Cada implementação possui sua coleção única de tecnologias, requisitos
de design, e artefatos/propriedades arquiteturais, algumas das quais suportam diferentes
princípios em diferentes níveis.
Grosso modo, podemos comparar com a arte! Se procurarmos a definição de arquitetura, vamos
encontrar: “(...) refere-se tanto ao processo quanto ao produto de projetar e edificar o ambiente
habitado pelo ser humano”. Percebam que não há limitações ou restrições, trata-se de um
conceito bastante amplo. E o que ocorre se procurarmos a definição de estilo arquitetural?
5
Muitas questões ainda afirmam que REST é uma arquitetura! Apesar de não estar
completamente correto, não marquem errado apenas por conta disso.
Curso Regular de Desenvolvimento de Software 86
www.estrategiaconcursos.com.br 152
RESTRIÇÃO OU DESCRIÇÃO
PRINCÍPIO
www.estrategiaconcursos.com.br 152
Stateless (Sem
Estado)
Em outras palavras, um mesmo cliente pode mandar várias requisições
para o servidor, porém cada uma delas deve ser independente, ou seja,
toda requisição deve conter todas as informações necessárias para que
o servidor consiga entendê-la e processá-la adequadamente (qualquer
informação de estado deve ficar no cliente).
www.estrategiaconcursos.com.br 152
www.estrategiaconcursos.com.br 152
Aplicações que sigam essas restrições são consideradas Aplicações RESTful. Como vocês
devem ter notado, essas restrições não ditam a tecnologia a ser utilizada para o desenvolvimento
das aplicações. Em vez disso, a adesão a estas orientações e melhores práticas oferece a
oportunidade de uma aplicação escalável, visível, portátil, confiável e capaz de performar melhor.
Em teoria, é possível que uma aplicação RESTful seja construída utilizando qualquer
infraestrutura de rede ou protocolo de transporte. Na prática, aplicações RESTful levam
vantagem ao utilizar características e recursos da web e o protocolo HTTP (e seus
métodos/verbos: GET, POST, PUT, DELETE6). Grosso modo, esses métodos servem
respectivamente para recuperar, inserir, atualizar e deletar um recurso.
Por exemplo, em um aplicativo de comércio eletrônico, o cliente pode fazer um pedido para
qualquer número de produtos. Neste cenário, os recursos de produtos estão relacionados com
o recurso de pedido correspondente. É também possível que recursos sejam agrupados em
conjuntos. Usando o mesmo exemplo de comércio eletrônico, uma ordem é uma coleção de
recursos individuais de pedidos.
E o que é uma URI? Trata-se do Uniform Resource Identifier, que nada mais é que uma string
de caracteres utilizada para identificar unicamente um recurso. Vocês já devem conhecer a
URL (Uniform Resource Locator) – trata-se de uma URI que, além de identificar um recurso da
web, também é capaz de localizá-lo (basta lembrar de endereços de sites). No REST, todo recurso
contém um identificador.
6
O Protocolo HTTP possui diversos métodos (GET, POST, PUT, DELETE, OPTIONS, TRACE,
HEAD, CONNECT), no entanto os quatro tem maior relevância em nosso contexto.
Curso Regular de Desenvolvimento de Software 90
www.estrategiaconcursos.com.br 152
Já que entramos nesse assunto, vamos falar um pouco sobre WS-* (JAX-WS) e REST (JAX-RS).
Em sua implementação tradicional, desenvolvem-se Web Services utilizando o Protocolo
SOAP e, em geral, com a Linguagem XML – no Java, essa especificação foi denominada JAX-
WS (Java API for XML Web Services), presente a partir do Java EE 5. Tudo certo até aqui?
www.estrategiaconcursos.com.br 152
implementação tem suas vantagens e desvantagens. O fato é que, aqui, nosso intuito é estudar a
implementação alternativa. Bacana?
Na imagem acima, podemos ver REST e SOAP! No primeiro caso, se você quiser enviar uma
mensagem a alguém que está em outra cidade, você pode simplesmente subir no cavalo
(HTTP) e cavalgar! Simples assim... agora vejam o SOAP! Para você enviar a mesma mensagem,
você precisa de vários cavalos e uma carruagem imensa e pesada que envolve a mensagem.
Observem outra diferença importante! No SOAP, existe uma especificação que deve ser seguida
para todas as requisições/respostas – trata-se do WSDL. No REST, não existia nenhuma
especificação. Hoje em dia, podemos utilizar o WSDL2 ou WADL para descrever um serviço.
Bacana? Agora percebam a complexidade que é enviar uma mensagem no SOAP x REST! Vejam
o overhead que traz o envelope...
Nesse contexto, gostaria que vocês me respondessem uma pergunta: Quem é mais simples: REST
ou SOAP? Ora, REST! Sob esse aspecto, ele é bem mais simples. Vejam essa imagem ao lado:
REST é aquele cara mais simples e descolado que sai de calça jeans e camiseta para trocar
www.estrategiaconcursos.com.br 152
SOAP REST
- JavaScript pode chamar SOAP, mas é - JavaScript pode facilmente chamar REST.
difícil de implementar.
www.estrategiaconcursos.com.br 152
EXERCÍCIOS REST
1. (CESPE - 2011 – MEC - Analista de Sistemas) Um web service pode ser desenvolvido,
também, com o uso de REST, que utiliza o protocolo HTTP para comunicação entre emissor
e destinatário, e o SOAP, para encapsular as mensagens trafegadas.
Comentários:
Em teoria, é possível que uma aplicação RESTful seja construída utilizando qualquer infraestrutura
de rede ou protocolo de transporte. Na prática, aplicações RESTful levam vantagem ao utilizar
características e recursos da web e o protocolo HTTP (e seus métodos/verbos: GET, POST, PUT,
DELETE). Grosso modo, esses métodos servem respectivamente para recuperar, inserir, atualizar e
deletar um recurso.
Um Web Service pode ser desenvolvido de fato com uso de REST. REST realmente utiliza o
protocolo HTTP, mas não utiliza SOAP (que é parte da arquitetura WS-*)!
Gabarito: E
2. (CESPE - 2016 – TCE/SC - Analista de Sistemas) A JAX-RS 2.0 fornece APIs portáteis para o
desenvolvimento de aplicações Web em conformidade com os princípios do estilo
arquitetônico REST.
Comentários:
O JAX-RS – como o próprio nome sugere – fornece APIs portáteis para o desenvolvimento de
aplicações web em conformidade com o REST.
Gabarito: C
Curso Regular de Desenvolvimento de Software 94
www.estrategiaconcursos.com.br 152
Comentários:
Em teoria, é possível que uma aplicação RESTful seja construída utilizando qualquer infraestrutura
de rede ou protocolo de transporte. Na prática, aplicações RESTful levam vantagem ao utilizar
características e recursos da web e o protocolo HTTP (e seus métodos/verbos: GET, POST, PUT,
DELETE). Grosso modo, esses métodos servem respectivamente para recuperar, inserir, atualizar e
deletar um recurso.
Galera, a questão falou em REST, vocês têm que lembrar imediatamente de HTTP (e seus
métodos ou operações).
Gabarito: E
4. (CESPE - 2015 – MEC - Analista de Sistemas) Entre as restrições da REST está a interface
uniforme, a qual requer que um serviço ofereça várias operações e aguarde a solicitação
dessas operações pelo servidor.
Comentários:
www.estrategiaconcursos.com.br 152
Interface Uniforme
A questão não trata da restrição de Interface Uniforme. Acredito que a restrição que mais se
aproxima dessa descrição seja o Sistema em Camadas.
Gabarito: E
Comentários:
Em teoria, é possível que uma aplicação RESTful seja construída utilizando qualquer infraestrutura
de rede ou protocolo de transporte. Na prática, aplicações RESTful levam vantagem ao utilizar
características e recursos da web e o protocolo HTTP (e seus métodos/verbos: GET, POST, PUT,
DELETE). Grosso modo, esses métodos servem respectivamente para recuperar, inserir, atualizar e
deletar um recurso.
www.estrategiaconcursos.com.br 152
Quem utiliza WSDL é o estilo arquitetural WS-*. O estilo arquitetural REST utiliza o protocolo
HTTP.
Gabarito: E
I. REST é um protocolo para troca de mensagens entre componentes de uma aplicação web.
II. REST é uma arquitetura, onde cada aplicação é um conjunto de recursos sobre os quais
podemos realizar ações.
III. Os formatos dos arquivos utilizados numa aplicação que segue REST são JSON, XML ou
YAML.
a) Apenas I.
b) Apenas II.
c) Apenas III.
d) Apenas I e III.
e) Apenas II e III.
Comentários:
É importante que vocês saibam que REST é diferente de SOA! Qual a diferença? SOA é uma
arquitetura e REST é um estilo arquitetural. E tem diferença, professor? Sim, meus caros! A
arquitetura é neutra; já o estilo arquitetural, não. REST pode ser visto como o fornecimento de uma
implementação de serviços com requisitos de design específicos para determinadas tecnologias e
arquiteturas.
www.estrategiaconcursos.com.br 152
diversas representações, tais como: HTML, JSON, XML, YAML, TXT, ou outros formatos
dependendo da requisição do cliente. Percebem a flexibilidade? Essa é uma grande vantagem!
(I) Errado. REST não é um protocolo, é um estilo arquitetural; (II) Correto. Trata-se de um estilo
arquitetural (termo mais correto) baseado em recursos; (III) Correot. De fato, todos esses
formatos são utilizados.
Gabarito: E
7. (CESPE - 2016 – MEC - Analista de Sistemas) A respeito dos conceitos de web services e
REST, assinale a opção correta.
b) Pode-se utilizar qualquer meio de transporte existente para o envio de uma requisição,
incluindo HTTP, SMTP e TCP.
e) As chamadas às URIs (uniform resource indicator) são feitas por meio de métodos HTTP,
os quais indicam para o serviço a ação a ser realizada com o recurso.
Comentários:
Em teoria, é possível que uma aplicação RESTful seja construída utilizando qualquer infraestrutura
de rede ou protocolo de transporte. Na prática, aplicações RESTful levam vantagem ao utilizar
características e recursos da web e o protocolo HTTP (e seus métodos/verbos: GET, POST, PUT,
DELETE). Grosso modo, esses métodos servem respectivamente para recuperar, inserir, atualizar e
deletar um recurso.
www.estrategiaconcursos.com.br 152
(a) Conforme vimos em aula, PUT é o método utilizado para atualizar recursos;
Em teoria, é possível que uma aplicação RESTful seja construída utilizando qualquer infraestrutura
de rede ou protocolo de transporte. Na prática, aplicações RESTful levam vantagem ao utilizar
características e recursos da web e o protocolo HTTP (e seus métodos/verbos: GET, POST, PUT,
DELETE). Grosso modo, esses métodos servem respectivamente para recuperar, inserir, atualizar e
deletar um recurso.
(b) Conforme vimos em aula, pode-se utilizar diversos meios de transporte, no entanto TCP não
é um meio de transporte (é um conjunto de protocolos).
(d) Na verdade, quando se requisita uma aplicação ao servidor, os recursos são transferidos pela
rede. Da maneira que está escrita, essa questão nem faz sentido.
(e) Conforme vimos em aula, a questão está impecável. Percebam que ela não limita o uso ao
HTTP – apenas o menciona.
www.estrategiaconcursos.com.br 152
Gabarito: E
Comentários:
(a) Conforme vimos em aula, ele não utiliza esses formatos (além disso, não é um protocolo).
E o que é uma URI? Trata-se do Uniform Resource Identifier, que nada mais é que uma string de
caracteres utilizada para identificar unicamente um recurso. Vocês já devem conhecer a URL
(Uniform Resource Locator) – trata-se de uma URI que, além de identificar um recurso da web,
também é capaz de localizá-lo (basta lembrar de endereços de sites). No REST, todo recurso contém
um identificador.
(b) Conforme vimos em aula, ele utiliza – sim – recursos identificáveis (para isso, temos a URI).
www.estrategiaconcursos.com.br 152
Observem outra diferença importante! No SOAP, existe uma especificação que deve ser seguida para
todas as requisições/respostas – trata-se do WSDL. No REST, não existia nenhuma especificação.
Hoje em dia, podemos utilizar o WSDL2 ou WADL para descrever um serviço. Bacana? Agora
percebam a complexidade que é enviar uma mensagem no SOAP x REST! Vejam o overhead que traz
o envelope...
(c) Conforme vimos em aula, em relação ao SOAP, o REST tem baixíssimo overhead.
E o que é uma URI? Trata-se do Uniform Resource Identifier, que nada mais é que uma string de
caracteres utilizada para identificar unicamente um recurso. Vocês já devem conhecer a URL
(Uniform Resource Locator) – trata-se de uma URI que, além de identificar um recurso da web,
também é capaz de localizá-lo (basta lembrar de endereços de sites). No REST, todo recurso contém
um identificador.
RESTRIÇÃO OU DESCRIÇÃO
PRINCÍPIO
Responsabilidades devem ser separadas entre clientes e servidores. Isso permite que os
componentes do cliente e do servidor evoluam de forma independente e, por sua vez, permite
que o sistema seja escalável. Em outras palavras, busca-se separar a arquitetura e
responsabilidades em dois ambientes.
Cliente/Servidor
Dessa forma, o cliente não se preocupa com tarefas do tipo: comunicação com banco de
dados, gerenciamento de cache, log, etc; e o contrário também é válido, o servidor não se
preocupa com tarefas como: interface, experiência do usuário, etc. Permitindo, assim, a
evolução independente das duas arquiteturas.
www.estrategiaconcursos.com.br 152
(e) Conforme vimos em aula, ele – de fato – utiliza uma interação cliente/servidor, no entanto ele
não é um estilo de desenvolvimento e não é uma interação complexa, pelo contrário: é bem
simples.
Gabarito: C
Comentários:
Em teoria, é possível que uma aplicação RESTful seja construída utilizando qualquer infraestrutura
de rede ou protocolo de transporte. Na prática, aplicações RESTful levam vantagem ao utilizar
características e recursos da web e o protocolo HTTP (e seus métodos/verbos: GET, POST, PUT,
DELETE). Grosso modo, esses métodos servem respectivamente para recuperar, inserir, atualizar e
deletar um recurso.
(a) Errado, claro que não! Você pode não ter permissão para acessar um recurso, por exemplo.
Nem todos os recursos respondem a todos os métodos; (b) Errado, ele permite obter, mas não
alterar o estado atual de um recurso; (c) Errado, esse método não existe; (d) Na minha opinião, é
impossível responder esse item. Modelo rígido em relação ao quê? O REST é um modelo flexível;
a comunicação pode ser considerada rígida ou flexível dependendo da comparação; (e) Errado,
www.estrategiaconcursos.com.br 152
esse método não existe. Portanto, para mim, essa questão deveria ter sido anulada, mas o
gabarito é Letra D.
Gabarito: D
a) REST e WS-*
b) SOAP e WSDL
c) RPC e RMI
d) SGML e HTML
e) B2B e B2C
Comentários:
Já que entramos nesse assunto, vamos falar um pouco sobre WS-* (JAX-WS) e REST (JAX-RS). Em
sua implementação tradicional, desenvolvem-se Web Services utilizando o Protocolo SOAP e,
em geral, com a Linguagem XML – no Java, essa especificação foi denominada JAX-WS (Java API
for XML Web Services), presente a partir do Java EE 5. Tudo certo até aqui?
Gabarito: A
11. (CESPE – 2013 – STF - Analista de Sistemas) A World Wide Web (WWW) é a maior
implementação de um sistema em conformidade com a arquitetura REST.
www.estrategiaconcursos.com.br 152
Comentários:
REST é um estilo arquitetural para construir sistemas fracamente acoplados. Quer um exemplo?
A própria Web (URI/HTTP/HTML/XML) é uma instância desse estilo! E de onde ele surgiu? Um cara
chamado Roy Fielding cunhou esse termo em sua dissertação de doutorado, propondo seis restrições
ou princípios que nós vamos ver em mais detalhes na tabela abaixo:
Conforme vimos em aula, a web é realmente uma implementação em conformidade com REST.
Por que, professor? Vejamos! Qual o principal protocolo da Web/REST? HTTP. Qual a melhor forma
de identificar um recurso na Web/REST? Por meio de um identificador único (URI). Qual é o formato
dos dados na Web/REST? HTML, JSON, XML, TXT, etc. Como são os estados das aplicações da
Web/REST? Ambos são stataless. Como é caracterizado Cache em Web/REST? Ambos permitem
que as respostas dos servidores sejam cacheable. Como é a divisão em camadas na Web/REST?
Ambos incentivam a utilização de camadas hierárquicas.
Gabarito: C
12. (CESPE – 2013 – BACEN - Analista de Sistemas) O estilo arquitetural REST define um
conjunto de restrições para uma aplicação, como, por exemplo, utilização de arquitetura par-
a-par, manutenção de informações de estado, não uso de cache no cliente e apresentação de
uma interface uniforme.
Comentários:
RESTRIÇÃO OU DESCRIÇÃO
PRINCÍPIO
Cliente/Servidor
Responsabilidades devem ser separadas entre clientes e servidores. Isso permite que os
componentes do cliente e do servidor evoluam de forma independente e, por sua vez, permite
www.estrategiaconcursos.com.br 152
Dessa forma, o cliente não se preocupa com tarefas do tipo: comunicação com banco de
dados, gerenciamento de cache, log, etc; e o contrário também é válido, o servidor não se
preocupa com tarefas como: interface, experiência do usuário, etc. Permitindo, assim, a
evolução independente das duas arquiteturas.
A comunicação entre cliente e servidor deve ser stateless. O servidor não precisa lembrar
o estado do cliente. Em vez disso, os clientes devem incluir todas as informações necessárias
na requisição para que o servidor possa entendê-la e processá-la.
Stateless (Sem
Estado)
Em outras palavras, um mesmo cliente pode mandar várias requisições para o servidor,
porém cada uma delas deve ser independente, ou seja, toda requisição deve conter todas as
informações necessárias para que o servidor consiga entendê-la e processá-la
adequadamente (qualquer informação de estado deve ficar no cliente).
Respostas do servidor devem ser declaradas como cacheable ou noncacheable. Isso permite
que o cliente ou seus componentes intermediários armazenem em cache respostas e
reutilizem-nas para pedidos posteriores. Isto reduz a carga no servidor e ajuda a melhorar
o desempenho.
Cache
Isso significa que, quando um primeiro cliente solicita um determinado recurso ao servidor,
esse processa a requisição e o cliente a armazena temporariamente em cache. Quando
houver uma nova requisição, a resposta armazenada já está pronta para ser utilizada.
A questão deu três chances para acertá-la. As restrições são: utilização de uma arquitetura
Cliente/Servidor (e, não, Par-a-Par); não manutenção de informações de estado, i.e., Stateless; e
utilização de cache no cliente (Cacheable).
www.estrategiaconcursos.com.br 152
Gabarito: E
13. (CESPE – 2014 – ANTAQ - Analista de Sistemas) Em arquiteturas REST, nenhum contexto
de cliente pode ser mantido em servidor.
Comentários:
A comunicação entre cliente e servidor deve ser stateless. O servidor não precisa lembrar
o estado do cliente. Em vez disso, os clientes devem incluir todas as informações necessárias
na requisição para que o servidor possa entendê-la e processá-la.
Stateless (Sem
Estado)
Em outras palavras, um mesmo cliente pode mandar várias requisições para o servidor,
porém cada uma delas deve ser independente, ou seja, toda requisição deve conter todas as
informações necessárias para que o servidor consiga entendê-la e processá-la
adequadamente (qualquer informação de estado deve ficar no cliente).
Conforme vimos em aula, REST é statless (sem estado), i.e., o servidor não guarda o
estado/conteto do cliente.
Gabarito: C
14. (CESPE – 2016 – FUNPRESP - Analista de Sistemas) Conexões REST devem conter todas as
informações necessárias para que a conexão seja completada.
www.estrategiaconcursos.com.br 152
Comentários:
A comunicação entre cliente e servidor deve ser stateless. O servidor não precisa lembrar
o estado do cliente. Em vez disso, os clientes devem incluir todas as informações necessárias
na requisição para que o servidor possa entendê-la e processá-la.
Stateless (Sem
Estado)
Em outras palavras, um mesmo cliente pode mandar várias requisições para o servidor,
porém cada uma delas deve ser independente, ou seja, toda requisição deve conter todas as
informações necessárias para que o servidor consiga entendê-la e processá-la
adequadamente (qualquer informação de estado deve ficar no cliente).
O “ST” em REST significa “State Transfer”, i.e., as operações devem ser autocontidas e cada
requisição deve carregar consigo (Transferir) toda informação (Estado) que o servidor precisará
para processá-la. Então, de fato, conexões devem conter todas as informações necessárias para
que a conexão seja completada com sucesso.
Gabarito: C
15. (CESPE – 2013 – SERPRO - Analista de Sistemas) Um web service pode ocorrer sobre o HTTP
(hypertext transfer protocol), utilizando-se os serviços RESTfull (representational state
transfer).
Comentários:
Aplicações que sigam essas restrições são consideradas Aplicações RESTfull. Como vocês devem
ter notado, essas restrições não ditam a tecnologia a ser utilizada para o desenvolvimento das
aplicações. Em vez disso, a adesão a estas orientações e melhores práticas oferece a oportunidade
de uma aplicação escalável, visível, portátil, confiável e capaz de performar melhor.
Curso Regular de Desenvolvimento de Software 107
www.estrategiaconcursos.com.br 152
Conforme vimos em aula, questão perfeita – um Web Service pode ocorrer sobre HTTP, utilizando
os serviços RESTful. Sabe por que essa questão foi anulada?
"Houve prejuízo do julgamento objetivo do item, pois, onde se lê “RESTfull” deveria ler-se “RESTful”.
Dessa forma,opta-se pela anulação do item."
Galera, quantas questões vocês já viram com erros cavalares e que não foram anuladas? Pois é, e
essa foi por conta de uma letra!
Gabarito: X
16. (CESPE – 2015 – TJDFT - Analista de Sistemas) Em um Web Service RESTful, cada método
é identificado por uma URL única. Assim, quando o servidor recebe uma solicitação, ele
identifica de forma inequívoca a operação que será executada.
Comentários:
Essa questão é bizarra! Ela afirma que cada método é identificado por uma URL única. Na
verdade, todos os métodos têm a mesma URL. Cada Web Service tem uma URL única e contém
vários métodos. Ao invocar um serviço web, é necessário especificar qual o método pretendido e
os parâmetros necessários para esse método. Cada método de serviço web retorna uma resposta
que contém os resultados da execução do cliente. Honestamente, não entendi esse gabarito!
Gabarito: C
www.estrategiaconcursos.com.br 152
17. (COPEVE-UFAL – 2012 – ALGÁS - Analista de Sistemas – ITEM IV) REST é uma técnica de
engenharia de software utilizada no desenvolvimento de sistemas hipermídia distribuídos e
adequada para a Web.
Comentários:
Eu sei que é estranho falar em REST como uma técnica de engenharia de software, mas não há
nada de errado nisso! Ademais, de fato ele é utilizado no desenvolvimento de sistemas hipermídia
distribuídos e muito adequadra a Web.
Gabarito: C
18. (CESPE – 2014 – ANATEL - Analista de Sistemas) REST é uma técnica de engenharia de
software para sistemas hipermídia distribuídos. De acordo com essa técnica, o estado da
informação deve ser mantido no cliente, e o servidor não deve guardar o estado da
comunicação de nenhum cliente que se comunique com o servidor, além de uma única
requisição.
Comentários:
A comunicação entre cliente e servidor deve ser stateless. O servidor não precisa lembrar
o estado do cliente. Em vez disso, os clientes devem incluir todas as informações necessárias
na requisição para que o servidor possa entendê-la e processá-la.
Stateless (Sem
Estado)
Em outras palavras, um mesmo cliente pode mandar várias requisições para o servidor,
porém cada uma delas deve ser independente, ou seja, toda requisição deve conter todas as
informações necessárias para que o servidor consiga entendê-la e processá-la
adequadamente (qualquer informação de estado deve ficar no cliente).
www.estrategiaconcursos.com.br 152
Novamente eu sei que é estranho falar em REST como uma técnica de engenharia de software,
mas não há nada de errado nisso! Ademais, de fato ele é utilizado no desenvolvimento de
sistemas hipermídia distribuídos. Por outro lado, o servidor não precisa lembrar o estado do
cliente. Em vez disso, os clientes devem incluir todas as informações necessárias na requisição
para que o servidor possa entendê-la e processá-la. Dentro de um mesmo contexto de conexão,
não existe mais de uma requisição HTTP, i.e., cada requisição HTTP é única e não reflete estado
no servidor.
Gabarito: C
19. (CESPE – 2013 – STF - Analista de Sistemas) A REST (Representational State Transfer),
protocolo de comunicação embasado em XML, permite a comunicação de mensagens entre
aplicações por meio de qualquer protocolo de comunicação em rede. Normalmente, esse
protocolo é utilizado na integração de sistemas legados.
Comentários:
REST não é um protocolo! Ele pode ser considerado um estilo arquitetural ou uma técnica de
engenharia de software. Além disso, ele não é embasado em XML – pode-se dizer que ele é
embasado (não obrigatoriamente) em HTTP.
Gabarito: E
20. (CESPE – 2015 – FUB - Analista de Sistemas) Em REST, os conectores precisam reter o
estado das aplicações entre as requisições, visto que eles dependem de informações de
requisições que as antecederam para entender determinada requisição.
Comentários:
www.estrategiaconcursos.com.br 152
A comunicação entre cliente e servidor deve ser stateless. O servidor não precisa lembrar
o estado do cliente. Em vez disso, os clientes devem incluir todas as informações necessárias
na requisição para que o servidor possa entendê-la e processá-la.
Stateless (Sem
Estado)
Em outras palavras, um mesmo cliente pode mandar várias requisições para o servidor,
porém cada uma delas deve ser independente, ou seja, toda requisição deve conter todas as
informações necessárias para que o servidor consiga entendê-la e processá-la
adequadamente (qualquer informação de estado deve ficar no cliente).
Conforme vimos em aula, não é necessário manter o estado das aplicações entre as requisições –
essa é uma questão recorrente.
Gabarito: E
21. (CESPE – 2011 – MEC - Analista de Sistemas) Um web service pode ser desenvolvido,
também, com o uso de REST, que utiliza o protocolo HTTP para comunicação entre emissor
e destinatário, e o SOAP, para encapsular as mensagens trafegadas.
Comentários:
A redação da questão a tornou ambígua. Um Web Service pode ser desenvolvido com uso de
REST ou com uso de SOAP, mas não ambos. Para mim, deveria ser anulada, mas a banca a
considerou errada.
Gabarito: E
www.estrategiaconcursos.com.br 152
22. (CESPE – 2010 – MPU - Analista de Sistemas) REST (Representationals State Transfer) é uma
tecnologia que está sendo utilizada em web services, como substituta das tecnologias SOAP
(Simple Object Access Protocol) e WSDL.
Comentários:
Gabarito: E
23. (CESPE – 2013 – MPU - Analista de Sistemas) Web services é um método de comunicação
entre serviços na Web que aderem estritamente ao XML, como é o caso de serviços cuja
comunicação é baseada na interface da arquitetura REST.
Comentários:
www.estrategiaconcursos.com.br 152
diversas representações, tais como: HTML, JSON, XML, YAML, TXT, ou outros formatos
dependendo da requisição do cliente. Percebem a flexibilidade? Essa é uma grande vantagem!
Gabarito: E
24. (CESPE – 2010 – TCU - Analista de Sistemas) Uma equipe de desenvolvimento de software
recebeu a incumbência de desenvolver um sistema com as características apresentadas a
seguir.
O líder da equipe iniciou, então, um extenso processo de coleta de dados com o objetivo de
identificar as condições limitantes da solução a ser desenvolvida e tomar decisões
arquiteturais e tecnológicas que impactarão várias características funcionais e não funcionais
do sistema, ao longo de seu ciclo de vida. A partir dessa coleta, o líder deverá apresentar à
equipe um conjunto de informações e de decisões. Com relação às diferentes arquiteturas e
tecnologias que, se escolhidas, impactarão as características do sistema descrito no texto,
julgue o item:
Comentários:
www.estrategiaconcursos.com.br 152
Observem outra diferença importante! No SOAP, existe uma especificação que deve ser seguida para
todas as requisições/respostas – trata-se do WSDL. No REST, não existia nenhuma especificação.
Hoje em dia, podemos utilizar o WSDL2 ou WADL para descrever um serviço. Bacana? Agora
percebam a complexidade que é enviar uma mensagem no SOAP x REST! Vejam o overhead que traz
o envelope...
Conforme vimos em aula, REST tem um overhead bem menor que o SOAP.
Gabarito: E
Comentários:
RESTRIÇÃO OU DESCRIÇÃO
PRINCÍPIO
A comunicação entre cliente e servidor deve ser stateless. O servidor não precisa lembrar
o estado do cliente. Em vez disso, os clientes devem incluir todas as informações necessárias
na requisição para que o servidor possa entendê-la e processá-la.
Stateless (Sem
Estado)
Em outras palavras, um mesmo cliente pode mandar várias requisições para o servidor,
porém cada uma delas deve ser independente, ou seja, toda requisição deve conter todas as
informações necessárias para que o servidor consiga entendê-la e processá-la
adequadamente (qualquer informação de estado deve ficar no cliente).
Cache
Respostas do servidor devem ser declaradas como cacheable ou noncacheable. Isso permite
que o cliente ou seus componentes intermediários armazenem em cache respostas e
www.estrategiaconcursos.com.br 152
reutilizem-nas para pedidos posteriores. Isto reduz a carga no servidor e ajuda a melhorar
o desempenho.
Isso significa que, quando um primeiro cliente solicita um determinado recurso ao servidor,
esse processa a requisição e o cliente a armazena temporariamente em cache. Quando
houver uma nova requisição, a resposta armazenada já está pronta para ser utilizada.
Interface Uniforme
É basicamente um contrato para comunicação entre cliente e servidor. São regras para fazer
um componente o mais genérico possível, tornando-o muito mais fácil de ser refatorado e
melhorado. Obedece a quatro princípios: identificação de recursos; representação de
recursos; respostas auto-explicativas; e hypermídia.
Gabarito: C
26. (FCC – 2014 – CM/SP - Analista de Sistemas) Pela sua simplicidade e facilidade de
entendimento, praticamente qualquer cliente ou servidor com suporte aos protocolos ...I.... pode
fazer uso do REST. Uma de suas principais vantagens é o aproveitamento da infraestrutura web
existente, mas a baixa segurança é seu principal ponto fraco. Em situações em que não se faz
necessária alta padronização e alta segurança essa tecnologia funciona bem. Os web services
RESTful expõem recursos para seus clientes, que são identificados através de ...II... . A
manipulação dos recursos se dá através de operações básicas como ...III... .
www.estrategiaconcursos.com.br 152
Comentários:
Gabarito: C
27. (CESPE – 2012 – TJ/RO - Analista de Sistemas – Letra D) Representational state transfer
(REST), que utiliza o WSDL como linguagem de descrição de serviços, é uma forma de
implementação de SOA na web.
Comentários:
Observem outra diferença importante! No SOAP, existe uma especificação que deve ser seguida para
todas as requisições/respostas – trata-se do WSDL. No REST, não existia nenhuma especificação.
Hoje em dia, podemos utilizar o WSDL2 ou WADL para descrever um serviço. Bacana? Agora
percebam a complexidade que é enviar uma mensagem no SOAP x REST! Vejam o overhead que traz
o envelope...
Conforme vimos em aula, não se utiliza WSDL. Pode-se utilizar o WSDL2 ou WADL.
www.estrategiaconcursos.com.br 152
Gabarito: E
28. (FGV – 2015 – DPE/RO - Analista de Sistemas) A REST (Representational State Transfer, em
português Transferência de Estado Representacional) dá ênfase:
Comentários:
Em teoria, é possível que uma aplicação RESTful seja construída utilizando qualquer infraestrutura
de rede ou protocolo de transporte. Na prática, aplicações RESTful levam vantagem ao utilizar
características e recursos da web e o protocolo HTTP (e seus métodos/verbos: GET, POST, PUT,
DELETE). Grosso modo, esses métodos servem respectivamente para recuperar, inserir, atualizar e
deletar um recurso.
Gabarito: A
29. (CESPE – 2017 – TRE/PE - Analista de Sistemas) REST (Representational State Transfer) é:
www.estrategiaconcursos.com.br 152
c) uma linguagem web voltada a definição de predicados que se apliquem a classes de objetos
e de interações em um modelo UML.
Comentários:
Pessoal, essa questão tem quatro itens que não fazem o menor sentido, logo vamos comentar
direto o primeiro item. Notem só o nosso dilema! Eu falei para vocês diversas vezes que o REST é
um Estilo Arquitetural. O gabarito da questão afirma que REST é um Estilo de Desenvolvimento.
Ora, na minha opinião, questão errada e ponto final! Simples assim...
Porééééééém esse item foi retirado diretamente da última versão do Sommerville (9ª Ed.) e ele
afirma exatamente assim:
“REST é um estilo de desenvolvimento baseado em interação simples de cliente /servidor e que usa o
protocolo HTTP. REST é baseado na ideia de recurso identificável, o qual possui uma URI. Todas as
www.estrategiaconcursos.com.br 152
interações com recursos são baseadas em HTTP POST, GET, PUT e DELETE. Atualmente é muito
usado para implementar web services de baixo overhead”.
O que isso significa? Isso significa que, a partir de agora, vamos ter que considerar o REST – pelo
menos no contexto de provas de concurso – também como um Estilo de Desenvolvimento. Eu
discordo veementemente, não vejo o menor sentido nessa afirmação. Porém, contudo, todavia,
entretanto, se o Sommerville diz, vira referência! Bacana?
Gabarito: A
ACERTEI ERREI
www.estrategiaconcursos.com.br 152
1. (CESPE - 2013 - CNJ - Técnico Judiciário - Programação de Sistemas) Uma das formas de
comunicação para encapsular dados transferidos no formato XML para aplicações serviço web
(Webservice) é o SOAP (Simple Object Access Protocol).
4. (CESPE - 2013 - TRE-MS - Analista Judiciário - Análise de Sistemas) No que se refere a SOA
e webservices, assinale a opção correta.
a) O WS-Security propõe uma série de extensões para aprimorar a segurança dos web services
no UDDI e no WSDL. Por questão de compatibilidade, essas extensões não afetam os
cabeçalhos do envelope SOAP.
c) WSDL é descrito em formato XML e tem por única função descrever os valores e formatos
dos dados que serão intercambiados entre os sistemas.
5. (CESPE - 2011 - MEC - Gerente de Projetos) O UDDI (Universal Description Discovery and
Integration), que corresponde a um registro de web services, é dividido em páginas brancas,
amarelas e verdes, nas quais são prestadas aos clientes informações sobre a empresa, os
serviços por ela oferecidos e as especificações WSDL desses serviços.
www.estrategiaconcursos.com.br 152
9. (CESPE - 2011 - PREVIC - Analista de Tecnologia da Informação) Web Services são sistemas
embasados na Web que oferecem serviços gerais para aplicações remotas, não requerendo
interações imediatas de usuários finais.
10. (CESPE - 2010 - MPU - Técnico de Informática) A descrição de um web service é feita
utilizando-se WSDL (Web Services Description Language), que é uma linguagem embasada
em RPC (Remote Procedure Call) e UDDI (Universal Description Discovery and Integration),
com a qual se descreve a forma de acesso dos serviços e seus parâmetros de entrada e de
saída.
11. (CESPE - 2008 - TRT - 5ª Região (BA) - Analista Judiciário - Tecnologia da Informação) O
UDDI é uma especificação técnica que tem como objetivo descrever, descobrir e integrar web
services; é embasado na tecnologia XML, que fornece uma plataforma neutra de dados e
permite descrever relações hierárquicas de modo natural.
12. (CESPE - 2008 - STJ - Analista Judiciário - Tecnologia da Informação) O serviço UDDI
fornece uma interface para publicar e atualizar informações acerca de serviços web;
possibilita pesquisar descrições WSDL pelo nome; provê uma interface que possibilita
www.estrategiaconcursos.com.br 152
executar consultas de modo a recuperar uma entidade que corresponda a uma chave ou
recuperar entidades que correspondam a um conjunto de critérios de busca.
13. (CESPE - 2008 - STJ - Analista Judiciário - Tecnologia da Informação) O WSDL separa a
parte abstrata de uma descrição de serviço da parte concreta; nessa descrição, a parte
concreta contém as definições de tipos usados pelo serviço e a parte abstrata especifica como
e onde o serviço pode ser contatado. Os documentos WSDL podem ser acessados via um
serviço de diretório como o UDDI; as definições WSDL podem ser geradas a partir de
definições de interfaces escritas em outras linguagens.
14. (CESPE - 2008 - STJ - Analista Judiciário - Tecnologia da Informação) O SOAP encapsula
mensagens que podem ser transmitidas via HTTP; permite o modelo de interação cliente-
servidor; define como usar XML para representar mensagens de requisição e resposta. Um
documento XML é transportado no corpo de uma mensagem SOAP; no modelo cliente-
servidor, o corpo de uma mensagem SOAP pode conter uma requisição, mas não uma
resposta.
15. (CESPE - 2008 - TRT - 5ª Região (BA) - Analista Judiciário - Tecnologia da Informação) No
SOA, os web services permitem que os aplicativos se comuniquem entre si de modo
independente da plataforma e da linguagem de programação. Os web services utilizam WSDL
para descrever interfaces de aplicativos na linguagem XML.
16. (CESPE - 2008 - TRT - 5ª Região (BA) - Analista Judiciário - Tecnologia da Informação) Na
visão do SOA, XML e WSDL são padrões abertos que permitem que os serviços se
comuniquem de maneira homogênea, independentemente da plataforma de hardware, do
sistema operacional e da linguagem de programação nos quais o serviço está implementado.
17. (CESPE - 2009 - ANATEL - Analista de Sistemas) Os três padrões fundamentais que
possibilitam comunicações entre web services são: simple object access protocol (SOAP) —
protocolo que define uma organização para a troca estruturada de dados entre web services;
web services description language (WSDL) — protocolo que define como as interfaces dos
web services podem ser representadas; universal description, discovery and integration
(UDDI) — padrão de descoberta que define como são organizadas as informações de
descrição do serviço, permitindo que os solicitantes descubram os serviços. Um desses
padrões não utiliza a XML (extensible mark-up language).
www.estrategiaconcursos.com.br 152
18. (CESPE - 2009 – CEHAP/PB - Analista de Sistemas – Letra D) São padrões de Web services
o SOAP, o WSDL e o UDDI, todos baseados em HTTP.
19. (CESPE - 2009 - INMETRO - Analista de Sistemas) Na SOA, a descrição do serviço é mantida
em um repositório WSDL, em formato UDDI (universal description, Discovery and
integration).
20. (CESPE - 2009 - ANTAQ - Analista de Sistemas) Nos serviços web, clientes e servidores,
direta ou indiretamente, podem acessar documentos UDDI completos por meio de seus URIs
(uniform resource identifier), usando um serviço de diretório, tal como o WSDL.
21. (CESPE - 2009 – TCE/TO - Analista de Sistemas) Acerca da arquitetura orientada ao serviço
(SOA), assinale a opção incorreta.
e) Nos web services, utiliza-se SOAP sobre HTTP para se realizar a comunicação entre os
serviços.
www.estrategiaconcursos.com.br 152
23. (CESPE - 2010 - INMETRO - Analista de Sistemas) Em um sistema que adere a uma
arquitetura orientada a serviços (SOA), vários elementos da arquitetura estabelecem
comunicações entre si, e recomenda-se que adotem vários padrões e recursos para
comunicação, como HTTP (hypertext transfer protocol), WSDL (Web Services Description
Language), SOAP (Single Object Acess Protocol), WS-BPEL (Web Services – Business
Processes Execution Language), UDDI (Universal Description, Discover and Integration) e
XML (eXtensible Markup Language), entre outros. Assinale a opção que formula relação
correta entre esses padrões e (ou) recursos.
a) Um documento escrito na linguagem WSDL adota formato com base na linguagem XML e
seu uso depende da existência do serviço UDDI.
b) UDDI é um protocolo para definição das interfaces de serviços ofertadas por um objeto que
presta serviços em uma arquitetura orientada a serviços.
e) HTTP, WSDL, UDDI, SOAP, WS-BPEL e SOA são tecnologias para a produção de
documentos digitais que adotam o XML como formato padronizado.
24. (CESPE - 2010 - MPU - Analista de Sistemas) A descrição de um web service é feita utilizando-
se WSDL (Web Services Description Language), que é uma linguagem embasada em RPC
(Remote Procedure Call) e UDDI (Universal Description Discovery and Integration), com a qual
se descreve a forma de acesso dos serviços e seus parâmetros de entrada e de saída.
25. (CESPE - 2010 – TRE/MT - Analista de Sistemas) Com relação a web services, assinale a
opção correta.
b) SOAP (Simple Object Access Protocol) é um protocolo com base em HTML que permite
troca de informações entre aplicações em um ambiente distribuído.
www.estrategiaconcursos.com.br 152
d) A linguagem WSDL (Web Services Description Language) é utilizada para descrever web
services.
e) Segundo o W3C (World Wide Web Consortium), web services são apropriados somente
para aplicações em que componentes de um sistema distribuído são executados em
plataformas semelhantes de um mesmo fornecedor.
26. (CESPE - 2011 – MEC - Analista de Sistemas) Web Service é uma solução lógica que oferece
a possibilidade de recuperar informações remotamente por meio de cloud computing. Esse
serviço utiliza a definição WSDL em um ou mais XML Schemas, que são armazenados na
UDDI.
27. (CESPE - 2012 – PEFO/CE- Analista de Sistemas) SOAP é um protocolo leve destinado à
troca de informações estruturadas em um ambiente distribuído e descentralizado. Uma
mensagem SOAP, por exemplo, é um documento XML composto de três partes obrigatórias:
envelope, cabeçalho e corpo.
28. (CESPE - 2009 - ANTAQ - Analista de Sistemas) Web services é um tipo de arquitetura de
sistema distribuído que se caracteriza pela disponibilidade de serviços abstratos na Logical
View, que se orienta pela troca de mensagens entre requisitantes e provedores,
independentemente das suas plataformas de trabalho via XML.
29. (CESPE - 2012 – TJ/RO - Analista de Sistemas) Acerca de SOA e web services, assinale a
opção correta.
a) Web service é projetado para operar dados entre máquinas, em redes de computadores,
mediante a linguagem UDDI.
www.estrategiaconcursos.com.br 152
d) Representational state transfer (REST), que utiliza o WSDL como linguagem de descrição
de serviços, é uma forma de implementação de SOA na web.
30. (CESPE - 2013 – CNJ - Analista de Sistemas) Um dos elementos de uma mensagem SOAP é
o corpo (body), no qual devem estar contidas as informações de erro e status.
31. (CESPE - 2013 – ANTT – Analista de Sistemas) Web Services provêm um meio padrão para
interoperação entre diferentes aplicativos de software, que podem ser executados em uma
variedade de plataformas e(ou) frameworks.
33. (CESPE - 2013 – TCE/RO – Analista de Sistemas) O SOAP permite a troca de mensagens
estruturadas em ambiente distribuído e descentralizado, com o uso de tecnologias XML.
Essas mensagens podem ser trocadas por uma variedade de protocolos subjacentes como,
por exemplo, o HTTP.
34. (CESPE - 2013 – SERPRO – Analista de Sistemas) A comunicação entre sistemas clientes e
servidores para troca de mensagens pode ser realizada por meio de SOAP (simple object
access protocol), que é um protocolo para troca de informações estruturadas independente
de linguagem de programação.
35. (CESPE - 2013 – CNJ – Analista de Sistemas) Uma das formas de comunicação para
encapsular dados transferidos no formato XML para aplicações serviço web (webservice) é o
SOAP (simple object access protocol).
www.estrategiaconcursos.com.br 152
36. (CESPE - 2012 – MPE/PI – Analista de Sistemas) Em web services, utiliza-se o protocolo
SOAP (simple object access protocol) para a comunicação entre os serviços.
37. (CESPE - 2016 – TCE/PR – Analista de Sistemas) Em um web service, o termo namespace
representa o nome do elemento principal do maior nível hierárquico em um documento XML
utilizado para troca de mensagens.
38. (CESPE - 2009 - ANTAQ - Analista de Sistemas) Em serviços web, o SOAP pode ser
transportado por protocolos como REST, HTTP, SMTP e JMS.
39. (CESPE – 2017 – SE/DF – Analista de Sistemas) 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.
a) WS – Transaction é um padrão de suporte que garante que uma mensagem seja entregue
uma vez e apenas uma vez.
d) WSDL (web service definition language) na SOA para Web é uma linguagem utilizada como
padrão para troca de mensagens e para definição de componentes de web services.
www.estrategiaconcursos.com.br 152
e) WS – realiable messaging é um padrão SOA que define como as informações devem ser
representadas em uma mensagem SOAP.
42. (CESPE – 2017 – TRE/BA - Analista de Sistemas) No que se refere a web services, assinale a
opção correta.
a) As solicitações e respostas XML trafegam no protocolo HTTP, não sendo possível utilizá-las
nos protocolos FTP e SMTP.
b) Um dos componentes de um Web Service SOAP (Simple Object Access Protocol) é a UDDI
(Universal Description, Discovery and Integration), a qual é um arquivo do tipo XML que
descreve detalhadamente um Web Service, especificando como deve ser o formato de
entrada e saída de cada operação.
c) As duas formas de envio de mensagem para que um cliente possa efetuar solicitações a um
Web Service são One-Way Messaging e Request-Response Messaging.
43. (CESPE – 2013 – TRE/MS - Analista de Sistemas) O WS-Security propõe uma série de
extensões para aprimorar a segurança dos web services no UDDI e no WSDL. Por questão de
compatibilidade, essas extensões não afetam os cabeçalhos do envelope SOAP.
www.estrategiaconcursos.com.br 152
45. (CESPE - 2018 – STM – Técnico em Programação) O SOAP é um tipo de modelo de dados
XML elaborado para facilitar a inserção de campos HTML em páginas web.
WEB SERVICES
1. (FCC - 2012 - TJ-PE - Analista Judiciário - Análise de Sistemas) Sobre SOA e tecnologias
relacionadas, é correto afirmar:
a) Na arquitetura SOA, Serviços Web são disponibilizados usando XML, WSDL, SOAP e UDDI,
tecnologias estas que habilitam a implementação e desenvolvimento da arquitetura.
b) Como grande parte das aplicações SOA são construídas por WML Web Services, o uso do
estado de sessão é grande.
d) WSDL refere-se a um documento escrito em XML que descreve um serviço, mas não
especifica como acessá-lo.
www.estrategiaconcursos.com.br 152
II. Outros sistemas interagem com esse serviço por meio de mensagens no protocolo SOAP,
tipicamente enviadas por HTTP.
a) I, II e III.
b) I e II, apenas.
c) II, apenas.
d) I e III, apenas.
e) II e III, apenas.
3. (FCC - 2011 - TRT - 23ª REGIÃO (MT) - Técnico Judiciário - Tecnologia da Informação) Em
termos de tecnologias utilizadas em Web Services, a representação e estruturação dos dados
nas mensagens recebidas/enviadas são realizadas por (I) uma linguagem específica; (II) as
chamadas às operações, incluindo os parâmetros de entrada/saída, são codificadas por um
protocolo específico; (III) os serviços e suas mensagens, independentemente dos formatos de
mensagem e dos protocolos de rede envolvidos são descritos usando outra linguagem
específica; (IV) o processo de publicação/pesquisa/descoberta de Web Services também
utiliza um protocolo específico.
www.estrategiaconcursos.com.br 152
a) Foram criados para construir aplicações que são vistas como serviços na internet.
a) WSDL.
b) SOA.
c) SOAP.
d) UDDI.
e) TCP.
a) SOAP.
b) XML.
c) WML.
d) WSDL.
e) UML.
7. (FCC - 2012 - TST - Analista Judiciário - Análise de Sistemas) Os Web Services possibilitam
que aplicações desenvolvidas em diferentes plataformas se comuniquem através de troca de
mensagens. Os Web Services compatíveis com o SOAP:
www.estrategiaconcursos.com.br 152
b) são compatíveis com Chamadas de Procedimento Remoto (RPC) e recebem objetos das
tecnologias DCOM e CORBA, sendo livres de bloqueios por firewalls.
c) não são recomendados pelo W3C, ou seja, não possuem a funcionalidade de realizar troca
de mensagens na linguagem WSDL.
d) são implementados, em muitos casos, utilizando servidores FTP para serem compatíveis
com a maioria dos Web Services.
a) XML-RPC.
b) XHTML.
c) SOAP.
d) HTTP.
e) WSDL
www.estrategiaconcursos.com.br 152
a) O objetivo do WSDL é publicar e recuperar web services e suas principais partes são
Registro e Descoberta.
b) Podem ser publicados através de WSDL, que é um formato utilizado para seu
armazenamento em repositórios disponíveis na Internet.
c) As mensagens trocadas são formatadas no protocolo HTTP que provê uma forma padrão
para estruturar mensagens XML.
d) Antes que as mensagens SOAP sejam trocadas, documentos UDDI descrevem quais dados
serão trocados, e como estes dados serão organizados nas mensagens HTTP.
e) O WSDL serve para descrever o quê um web service pode fazer, onde ele está e como
invocá-lo.
10. (FCC - 2011 - TRT - 23ª REGIÃO (MT) - Analista Judiciário - Tecnologia da Informação)
Compõem os elementos da infraestrutura de Web Services XML, EXCETO:
www.estrategiaconcursos.com.br 152
11. (FCC - 2011 - TRT - 4ª REGIÃO (RS) - Analista Judiciário - Tecnologia da Informação)
Especificação desenvolvida pelo World Wide Web Consortium, que permite descrever os Web
Services segundo um formato XML. É extensível para permitir a descrição dos serviços e suas
mensagens, independentemente dos formatos de mensagem e dos protocolos de rede
utilizados. Trata-se de
a) SOAP.
b) WSDL.
c) UDDI.
d) SamL.
e) Ws-i.
12. (FCC - 2010 - MPE-RN - Analista de Tecnologia da Informação - Suporte Técnico) Para
enviar uma mensagem a um determinado Web Service, o cliente acessa o documento que
contém a descrição do serviço e, em seguida, constrói a mensagem, passando os tipos de
dados corretos, de acordo com a definição encontrada no documento; Web Service valida a
mensagem conforme as informações contidas no documento. Esse documento é o:
13. (FCC - 2009 - SEFAZ-SP - Agente Fiscal de Rendas - Tecnologia da Informação - Prova 3)
Uma vantagem que o Web Service oferece:
I. em relação à empresa que desenvolve uma DLL é que não precisa distribuí-lo para todos os
clientes, pois estará armazenado em um único lugar de onde será acessado.
Curso Regular de Desenvolvimento de Software 134
www.estrategiaconcursos.com.br 152
II. é o acesso a ele sempre por meio de http, mas internamente existe uma string XML que
está empacotada em um protocolo SOAP (Simple Object Access Protocol).
III. é ser transparente para o Firewall de uma empresa, pois, como é uma string XML, é
interpretado como um arquivo "texto", não precisando pedir autorização do Firewall para
entrar.
a) I, II e III.
b) I e II, apenas.
c) I e III, apenas.
d) II e III, apenas.
e) II, apenas.
14. (FCC - 2009 - TJ-SE - Analista Judiciário - Tecnologia da Informação) Considere dois dos
fundamentos que possibilitam a comunicação entre Web services:
São, respectivamente,
a) HTTP e XML.
b) SOAP e WSDL.
c) SOAP e XSL.
d) DOM e COM+.
www.estrategiaconcursos.com.br 152
e) COMM e HTML.
15. (FCC - 2009 - TJ-SE - Analista Judiciário - Tecnologia da Informação) No âmbito dos Web
Services, é um padrão que define como as informações de descrição de serviços usadas para
descobri-los podem ser organizadas. Trata-se de:
a) UDDI.
b) SOA.
c) WebApp.
d) Javascript.
e) DML.
16. (FCC - 2009 - TRT - 16ª REGIÃO (MA) - Técnico Judiciário - Tecnologia da Informação) Uma
solução utilizada na integração de aplicações Web e que compatibiliza a comunicação entre
plataformas diferentes por meio de uma linguagem de marcação estendida, padrão universal,
é conhecida por:
a) Web Services.
b) Browser.
d) Orientação a objetos.
e) Arquitetura cliente-servidor.
17. (FCC - 2009 - TJ-PA - Analista Judiciário - Tecnologia da Informação) No âmbito dos Web
Services, o protocolo padrão OASIS que especifica um método para descoberta de diretórios
de serviços é o:
www.estrategiaconcursos.com.br 152
a) HTTP.
b) SOAP.
c) WSDL.
d) UDDI.
e) DOM/XML.
18. (FCC - 2008 - MPE-RS - Técnico em Informática - Área Sistemas) NÃO é uma informação
requerida para invocar um serviço de Web e encapsulada pelo WSDL na forma de um
documento XML:
a) O local do serviço.
19. (FCC - 2012 - TRE-SP - Analista Judiciário - Análise de Sistemas) Com relação ao SOAP,
analise:
II. Header: É um cabeçalho que carrega informações adicionais, como por exemplo, se a
mensagem deve ser processada por um determinado nó intermediário. Deve ser o primeiro
elemento do Envelope.
III. Body: Contém o payload, ou a informação a ser transportada para o seu destino final.
www.estrategiaconcursos.com.br 152
a) I e II, apenas.
b) I e III, apenas.
c) I, II e III, apenas.
20. (FCC - 2010 - TRE-RS - Analista Judiciário - Analista de Sistemas Suporte) SOAP é:
b) II e III, somente.
c) I e IV, somente.
www.estrategiaconcursos.com.br 152
a) root.
b) body.
c) envelope.
d) fault.
e) header.
22. (FGV – 2008 – Senado Federal – Analista de Sistemas) Web Service representa uma solução
utilizada na integração de sistemas e na comunicação entre aplicações diferentes e que possui
entre suas características as possibilidades:
Para a construção das bases de um Web Service por padrão, o protocolo e a linguagem são:
a) UDDI e XML.
b) SOAP e XML.
c) UDDI e WSDL.
d) UDDI e DHTML.
e) SOAP e DHTML.
23. (FGV – 2010 – ARE – Analista de Sistemas) Web Service representa um termo utilizado na
integração de sistemas e na comunicação entre aplicações diferentes e que possui entre suas
características as possibilidades de:
IV. aplicações enviarem e receberem dados por meio de uma linguagem em formato
padronizado.
www.estrategiaconcursos.com.br 152
Para a construção das bases de um Web Service, por padrão a linguagem é conhecida como
XML e o protocolo pela sigla:
a) SOAP.
b) UDDI.
c) HTTPS.
d) SCHEMA.
e) XPOINTER.
24. (FGV – 2008 – Senado Federal – Analista de Sistemas) Considere as assertivas a seguir sobre
as relações entre SOAP, WSDL e UDDI:
a) somente I.
b) somente I e II.
c) somente I e III.
d) somente II e III.
e) I, II e III.
De acordo com o enfoque do World Wide Web Consortium - W3C, as mensagens SOAP são
documentos baseados na seguinte linguagem:
a) WSDL
b) XML
c) JAVASCRIPT
d) AJAX
e) XSLT
www.estrategiaconcursos.com.br 152
26. (FGV – 2015 – TCE/SE – Analista de Sistemas) Uma mensagem no protocolo SOAP (simple
object access protocol) é um documento XML contendo os seguintes elementos:
27. (ESAF - 2016 – ANAC – Analista de Sistemas) São tecnologias essenciais para Web Services:
1. SOAP
2. WSDL
3. Service Description (Descrição do Serviço)
4. Biding Operation
www.estrategiaconcursos.com.br 152
( ) Contém a descrição processável por máquina das mensagens que são trocadas por um
Serviço (Web Service)
a) 1, 2, 4 e 3.
b) 3, 1, 4 e 2.
c) 4, 1, 3 e 2.
d) 3, 2, 1 e 4.
e) 4, 2, 1 e 3.
30. (FGV - 2018 – COMPESA - Analista de Tecnologia da Informação) Com relação a segurança
em Web Services, analise as afirmativas a seguir.
II. A especificação WS-Security define como anexar cabeçalhos XML Signature e XML
Encryption a mensagens SOAP.
III. O SAML (Security Assertion Markup Language) é uma infraestrutura baseada em XML para
autenticação e autorização entre duas entidades: um Provedor de Serviços e um Provedor de
Identidade.
www.estrategiaconcursos.com.br 152
a) I, somente
b) II, somente
c) III, somente
d) I e II, somente.
e) I, II e III.
www.estrategiaconcursos.com.br 152
1. (CESPE - 2011 – MEC - Analista de Sistemas) Um web service pode ser desenvolvido,
também, com o uso de REST, que utiliza o protocolo HTTP para comunicação entre emissor
e destinatário, e o SOAP, para encapsular as mensagens trafegadas.
2. (CESPE - 2016 – TCE/SC - Analista de Sistemas) A JAX-RS 2.0 fornece APIs portáteis para o
desenvolvimento de aplicações Web em conformidade com os princípios do estilo
arquitetônico REST.
4. (CESPE - 2015 – MEC - Analista de Sistemas) Entre as restrições da REST está a interface
uniforme, a qual requer que um serviço ofereça várias operações e aguarde a solicitação
dessas operações pelo servidor.
I. REST é um protocolo para troca de mensagens entre componentes de uma aplicação web.
Curso Regular de Desenvolvimento de Software 144
www.estrategiaconcursos.com.br 152
II. REST é uma arquitetura, onde cada aplicação é um conjunto de recursos sobre os quais
podemos realizar ações.
III. Os formatos dos arquivos utilizados numa aplicação que segue REST são JSON, XML ou
YAML.
a) Apenas I.
b) Apenas II.
c) Apenas III.
d) Apenas I e III.
e) Apenas II e III.
7. (CESPE - 2016 – MEC - Analista de Sistemas) A respeito dos conceitos de web services e
REST, assinale a opção correta.
b) Pode-se utilizar qualquer meio de transporte existente para o envio de uma requisição,
incluindo HTTP, SMTP e TCP.
e) As chamadas às URIs (uniform resource indicator) são feitas por meio de métodos HTTP,
os quais indicam para o serviço a ação a ser realizada com o recurso.
www.estrategiaconcursos.com.br 152
a) REST e WS-*
b) SOAP e WSDL
c) RPC e RMI
d) SGML e HTML
e) B2B e B2C
11. (CESPE – 2013 – STF - Analista de Sistemas) A World Wide Web (WWW) é a maior
implementação de um sistema em conformidade com a arquitetura REST.
12. (CESPE – 2013 – BACEN - Analista de Sistemas) O estilo arquitetural REST define um
conjunto de restrições para uma aplicação, como, por exemplo, utilização de arquitetura par-
www.estrategiaconcursos.com.br 152
13. (CESPE – 2014 – ANTAQ - Analista de Sistemas) Em arquiteturas REST, nenhum contexto
de cliente pode ser mantido em servidor.
14. (CESPE – 2016 – FUNPRESP - Analista de Sistemas) Conexões REST devem conter todas as
informações necessárias para que a conexão seja completada.
15. (CESPE – 2013 – SERPRO - Analista de Sistemas) Um web service pode ocorrer sobre o HTTP
(hypertext transfer protocol), utilizando-se os serviços RESTfull (representational state
transfer).
16. (CESPE – 2015 – TJDFT - Analista de Sistemas) Em um Web Service RESTful, cada método
é identificado por uma URL única. Assim, quando o servidor recebe uma solicitação, ele
identifica de forma inequívoca a operação que será executada.
17. (COPEVE-UFAL – 2012 – ALGÁS - Analista de Sistemas – ITEM IV) REST é uma técnica de
engenharia de software utilizada no desenvolvimento de sistemas hipermídia distribuídos e
adequada para a Web.
18. (CESPE – 2014 – ANATEL - Analista de Sistemas) REST é uma técnica de engenharia de
software para sistemas hipermídia distribuídos. De acordo com essa técnica, o estado da
informação deve ser mantido no cliente, e o servidor não deve guardar o estado da
comunicação de nenhum cliente que se comunique com o servidor, além de uma única
requisição.
19. (CESPE – 2013 – STF - Analista de Sistemas) A REST (Representational State Transfer),
protocolo de comunicação embasado em XML, permite a comunicação de mensagens entre
aplicações por meio de qualquer protocolo de comunicação em rede. Normalmente, esse
protocolo é utilizado na integração de sistemas legados.
www.estrategiaconcursos.com.br 152
20. (CESPE – 2015 – FUB - Analista de Sistemas) Em REST, os conectores precisam reter o
estado das aplicações entre as requisições, visto que eles dependem de informações de
requisições que as antecederam para entender determinada requisição.
21. (CESPE – 2011 – MEC - Analista de Sistemas) Um web service pode ser desenvolvido,
também, com o uso de REST, que utiliza o protocolo HTTP para comunicação entre emissor
e destinatário, e o SOAP, para encapsular as mensagens trafegadas.
22. (CESPE – 2010 – MPU - Analista de Sistemas) REST (Representationals State Transfer) é uma
tecnologia que está sendo utilizada em web services, como substituta das tecnologias SOAP
(Simple Object Access Protocol) e WSDL.
23. (CESPE – 2013 – MPU - Analista de Sistemas) Web services é um método de comunicação
entre serviços na Web que aderem estritamente ao XML, como é o caso de serviços cuja
comunicação é baseada na interface da arquitetura REST.
24. (CESPE – 2010 – TCU - Analista de Sistemas) Uma equipe de desenvolvimento de software
recebeu a incumbência de desenvolver um sistema com as características apresentadas a
seguir.
O líder da equipe iniciou, então, um extenso processo de coleta de dados com o objetivo de
identificar as condições limitantes da solução a ser desenvolvida e tomar decisões
arquiteturais e tecnológicas que impactarão várias características funcionais e não funcionais
do sistema, ao longo de seu ciclo de vida. A partir dessa coleta, o líder deverá apresentar à
equipe um conjunto de informações e de decisões. Com relação às diferentes arquiteturas e
tecnologias que, se escolhidas, impactarão as características do sistema descrito no texto,
julgue o item:
www.estrategiaconcursos.com.br 152
26. (FCC – 2014 – CM/SP - Analista de Sistemas) Pela sua simplicidade e facilidade de
entendimento, praticamente qualquer cliente ou servidor com suporte aos protocolos ...I.... pode
fazer uso do REST. Uma de suas principais vantagens é o aproveitamento da infraestrutura web
existente, mas a baixa segurança é seu principal ponto fraco. Em situações em que não se faz
necessária alta padronização e alta segurança essa tecnologia funciona bem. Os web services
RESTful expõem recursos para seus clientes, que são identificados através de ...II... . A
manipulação dos recursos se dá através de operações básicas como ...III... .
27. (CESPE – 2012 – TJ/RO - Analista de Sistemas – Letra D) Representational state transfer
(REST), que utiliza o WSDL como linguagem de descrição de serviços, é uma forma de
implementação de SOA na web.
28. (FGV – 2015 – DPE/RO - Analista de Sistemas) A REST (Representational State Transfer, em
português Transferência de Estado Representacional) dá ênfase:
www.estrategiaconcursos.com.br 152
29. (CESPE – 2017 – TRE/PE - Analista de Sistemas) REST (Representational State Transfer) é:
c) uma linguagem web voltada a definição de predicados que se apliquem a classes de objetos
e de interações em um modelo UML.
www.estrategiaconcursos.com.br 152
GABARITO
1 2 3 4 5 6 7 8 9 10
C E C B C E E E C E
11 12 13 14 15 16 17 18 19 20
C C E E E C E E E E
21 22 23 24 25 26 27 28 29 30
B C C E D E E E B E
31 32 33 34 35 36 37 38 39 40
C C C C C C E X E C
41 42 43 44 45 46 47 48 49 50
B C E C E
1 2 3 4 5 6 7 8 9 10
A A B E C D A E E E
11 12 13 14 15 16 17 18 19 20
B E A B A A D E B C
21 22 23 24 25 26 27 28 29 30
C B A A B D E C X E
www.estrategiaconcursos.com.br 152
1 2 3 4 5 6 7 8 9 10
E C E E E E E C D A
11 12 13 14 15 16 17 18 19 20
C E C C X C C C E E
21 22 23 24 25 26 27 28 29 30
E E E E C C E A A
www.estrategiaconcursos.com.br 152