Você está na página 1de 153

Aula 14 - Profs.

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

Web Services ................................................................................................................................ 2

SIMPLE OBJECT ACCESS PROTOCOL (SOAP) ............................................................................ 8

Web Services Description Language (WSDL) ..............................................................................11

Universal Description, Discobery and Integration ...................................................................... 15

Especificação de metadados e webservices ............................................................................... 19

WS-SECURITY (WSS) ................................................................................................................. 24

1837323
Exercícios Web Services e SOA .................................................................................................. 26

REST .......................................................................................................................................... 85

Exercícios REST .......................................................................................................................... 94

Lista de exercícios Webservices e SOA ..................................................................................... 120

Lista de exercícios REST ........................................................................................................... 144

GABARITO ................................................................................................................................ 151

Curso Regular de Desenvolvimento de Software 1

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

WEB SERVICES

Com a evolução das redes de computadores, surgiram as aplicações distribuídas.


Inicialmente, todo o processamento era centralizado em apenas um servidor. Com o
surgimento dos middlewares, o processamento começou a ser distribuído entre vários servidores.
Com o avanço da internet e dos protocolos de comunicação, surgiram os Web Services com a
missão de integrar sistemas heterogêneos.

Web Services são componentes de aplicativos baseados em XML, autocontidos e autodescritivos,


que se comunicam usando protocolos abertos. Eles podem ser descobertos com UDDI (veremos
adiante!) e ser utilizados por outras aplicações. O XML é o formato de mensagem adotado pela
W3C para troca de informações entre aplicações distribuídas. Vamos ver mais detalhes...

Eles são autocontidos, na medida em que não necessitam ou dependem de outros


componentes para existir – eles se bastam. Além disso, eles são considerados autodescritivos,
tendo em vista que não necessitam de informações externas para expor suas funcionalidades. Por
fim, eles utilizam protocolos abertos, i.e., não-proprietários – protocolos padrões da internet.

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.

Curso Regular de Desenvolvimento de Software 2

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Um Web Service é um sistema de software projetado para permitir interoperabilidade na


interação entre máquinas através de uma rede. É descrito através de uma interface padronizada
que disponibiliza um serviço em uma rede de computadores, geralmente a Internet. Uma vez
descrito na forma padrão e catalogado, o serviço se torna um componente de software
totalmente reutilizável.

Isso permite a interoperabilidade entre aplicações e plataformas heterogêneas. Eles


representam parte da lógica de negócio, executando em sistemas remotos que os hospedam
e os mantêm distribuídos. Podem ser acessados através de protocolos padronizados da internet.
Essa comunicação permite que qualquer aplicação que utilize estes protocolos acesse e utilize
serviços sem conhecer a implementação.

1. Web Services realizam apenas chamadas síncronas?


Não, um cliente pode invocá-lo de forma síncrona e assíncrona.
Possibilitar chamadas assíncronas é a chave para permitir sistemas
fracamente acoplados.
2. Web Services são baseados em HTML?
Não, eles são baseados em XML (para representação e transporte de
dados). Nesse último caso, ele elimina qualquer dependência com rede
e sistema operacional.
3. Web Services possuem fraco ou forte acoplamento?
Eles são fracamente acoplados. A interface de um serviço web pode
mudar durante o tempo sem comprometer a habilidade do cliente de
interagir com o serviço.
4. Web Services são independentes de tecnologia?
Sim, eles são independentes de plataforma, sistema operacional,
arquitetura de processador, linguagem de programação, entre outros.
Curso Regular de Desenvolvimento de Software 3

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

5. Web Services possuem granularidade fina ou grossa?


Eles possuem granularidade grossa, provendo uma maneira natural de
definir serviços que acessam a quantidade correta de lógica de negócio.

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:

▪ Web Services de Primeira Geração:

É 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.

▪ Web Services de Segunda Geraçã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

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

As interações entre o provedor e o agente são basicamente a publicação dos serviços. A


interação entre o solicitador e o agente é a tarefa de pesquisar os serviços e os provedores de
Curso Regular de Desenvolvimento de Software 5

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

serviços. Finalmente, a interação entre o provedor e o solicitante é chamada de vínculo (em


inglês, bind). De acordo com Schneider, algumas das vantagens de se utilizar Web Services são:

▪ Permite utilizar as regras de negócio através da rede;


▪ Baixo custo de comunicação (Internet);
▪ Conecta aplicações de diferentes fornecedores;
▪ Protocolo padronizado (SOAP/WSDL/UDDI);
▪ Permite publicação automática (UDDI).

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:

SOAP (SIMPLE/SINGLE OBJECT ACCESS PROTOCOL)


Baseado em XML, define uma organização para troca estruturada de dados entre Web
Services.
WSDL (WEB SERVICES DESCRIPTION LANGUAGE)
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.

Eu preciso da atenção de vocês agora! É possível implementar serviços 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 serviços apenas aqueles que
implementam SOAP, UDDI e WSDL. Não sejam muito rigorosos com isso...

Curso Regular de Desenvolvimento de Software 6

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

Curso Regular de Desenvolvimento de Software 7

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

SIMPLE OBJECT ACCESS PROTOCOL (SOAP)

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.

SOAP é um protocolo projetado para invocar aplicações remotas em um ambiente


independente de plataforma, linguagem de programação, entre outros. Ele é, portanto, um
padrão normalmente aceito para se utilizar com Web Services. Mas, professor, ele é o único? Não!
Veremos mais adiante... não se preocupem com isso nesse momento.

Bem, o que se pretende é garantir a interoperabilidade e intercomunicação entre diferentes


sistemas, através da utilização de uma linguagem (XML) e de um mecanismo de transporte
(HTTP). Pessoal, é obrigatório utilizar esse protocolo de transporte? Não! Pode-se usar qualquer
um, no entanto esse é o mais comumente utilizado no mercado atualmente.

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.

Curso Regular de Desenvolvimento de Software 8

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

Galera, os elementos filhos imediatos do cabeçalho são chamados de blocos de cabeçalho.


Um bloco de cabeçalhos é um elemento XML definido pelo aplicativo e representa um
agrupamento lógicos de dados que pode ser direcionado em nós SOAP que podem ser
encontrados no caminho de uma mensagem de um remetente para um receptor final. Bacana?

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:

Curso Regular de Desenvolvimento de Software 9

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

▪ Envelope (Envolope):

Trata-se do elemento-raiz do documento XML – identifica o documento XML como uma


mensagem SOAP. Ele funciona como um recipiente que contém os demais elementos da
mensagem (Ex: Header, Body, etc). Ele possui dois atributos: namespace, que define o Envelope
como um Envelope SOAP; e encodingStyle, que define os tipos de dados utilizados em um
documento. É obrigatório!

▪ Cabeçalho (Header):

Ele carrega informações adicionais específicas para a aplicação, como Autenticação,


Autorização, Pagamento, etc. Ele pode, por exemplo, especificar assinatura digital para serviços
protegidos por senha. Podem ser definidos vários cabeçalhos. Ele é opcional, mas – caso seja
utilizado – deve ser o primeiro elemento do Envelope. Ele tem três atributos: mustUnderstand,
actor e encodingStyle.

▪ 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!

Curso Regular de Desenvolvimento de Software 10

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

WEB SERVICES DESCRIPTION LANGUAGE (WSDL)

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.

Curso Regular de Desenvolvimento de Software 11

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Curso Regular de Desenvolvimento de Software 12

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

Galera, esses três componentes acima são


componentes de alto nível que são também
elementos.

Há também o elemento <types>, que define


tipos de dados que serão utilizados nas
mensagens e operações.

Há também o elemento <operation>, que se


encontra dentro do elemento <interface> e
descreve as ações suportadas por um serviço.

O WSDL separa a descrição de um serviço em duas perspectivas: Abstrata e Concreta! A


perspectiva abstrata trata da interface do serviço. Em outras palavras, ela descreve o que o serviço
faz – seus tipos, suas operações, suas entradas, suas saídas, suas mensagens fault, entre outros –
, porém sem dizer como o serviço faz o seu trabalho nem mesmo como acessar esse serviço.

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?

Trata-se de separação de preocupações! A vantagem é que, caso a implementação do serviço seja


modificada por alguma razão, a parte abstrata pode continuar a ser disponibilizada sem
problemas – e até reutilizada para diversas implementações diferentes. Podemos ver, na
imagem acima, os elementos que compõem as perspectivas concretas e abstratas em ambas
as versões da linguagem.

Curso Regular de Desenvolvimento de Software 13

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

SOLICIT-RESPONSE A operação pode enviar uma requisição e esperará por uma


resposta.
NOTIFICATION A operação pode enviar uma mensagem, mas não esperará por uma
resposta.

Curso Regular de Desenvolvimento de Software 14

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

UNIVERSAL DESCRIPTION, DISCOBERY AND INTEGRATION

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:

Curso Regular de Desenvolvimento de Software 15

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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 Amarelas contêm uma classificação do serviço ou negócio disponíveis baseado em


taxonomias padronizadas (Ex: SIC, NAICS, UNSPSC). Como cada organização pode fornecer
uma série de serviços, pode haver várias páginas amarelas (cada uma descrevendo um serviço)
associadas a uma página branca (dando informações gerais sobre o negócio).

As Páginas Amarelas usam os esquemas de categorização industrial mais aceitos no mercado,


códigos de indústria, códigos de produtos, códigos de identificação comerciais e similares para
tornar mais fácil para as empresas procurarem por meio de listas e encontrarem exatamente o
que elas desejam. As Páginas Amarelas fornecem mais detalhes sobre a empresa.

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.

Curso Regular de Desenvolvimento de Software 16

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

A Especificação UDDI fornece duas interfaces importantes: Publisher Interface e Inquiry


Interface. A primeira interface define dezesseis operações para que um provedor de serviços
possa gerenciar e publicar informações sobre um determinado serviço web. Já a segunda
interface define dez operações de busca de registro e informações específicas de registros.

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.

Curso Regular de Desenvolvimento de Software 17

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Curso Regular de Desenvolvimento de Software 18

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

ESPECIFICAÇÃO DE METADADOS E WEBSERVICES

Os professores e pesquisadores de países em desenvolvimento, que contam com recursos


escassos para a manutenção de suas Universidades e Instituições de Pesquisa, têm dificuldade
de acesso à literatura científica tradicional de sua área, sob a forma de periódicos, muitas vezes
altamente especializados e com assinaturas caras (quem se graduou em faculdade pública sabe
disso!).

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.

A falta de padrões para disponibilização e pesquisa de informações científicas na Internet


levou à criação da Iniciativa Open Archives (Arquivos Abertos) e ao desenvolvimento de um
protocolo com o intuito de oferecer simplicidade e eficiência na tarefa de unificar as consultas a
bases de dados científicas e/ou acadêmicas.

Curso Regular de Desenvolvimento de Software 19

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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).

Os provedores de dados mantêm repositórios de documentos digitais que implementam o


protocolo OAI-PMH como forma de expor os metadados de seus documentos. Já os provedores
de serviços oferecem buscas a estes metadados ou outros serviços que visam agregar valor à
iniciativa. Galera, esse protocolo trata de um conceito muito importante chamado Harvesting.

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?

Curso Regular de Desenvolvimento de Software 20

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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).

Existe outra abordagem chamada Federação (Federation). Trata-se de um mecanismo de busca


paralela, síncrona e simultânea sobre múltiplas fontes, i.e., o usuário faz uma pesquisa, que é
distribuída para motores de busca que participam da federação. Ele, então, agrega os resultados
que são recebidos dos motores para apresentar ao usuário. Vamos ver a imagem abaixo para
entender as diferenças:

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.

Curso Regular de Desenvolvimento de Software 21

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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ções de web services são ocasionalmente chamadas coletivamente de WS- *, embora


não haja um único conjunto de especificações que seja contemplada consistentemente por
ela, não existe um conjunto específico para eles. Para citar algumas dessas especificações: WS-
Addressing, WS-Discovery, WS-Federation, WS-Policy, WS-Security e WS-Trust.

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.

WS-Federation Define mecanismos para disparar realms de segurança para


intermediar informações sobre identidade, atributos de identidade
e autenticação.
WS-Policy Permite que web services utilizem XML para advertir sobre suas
políticas (de qualidade, segurança, etc) e também para que clientes
possam especificar suas políticas.
WS-Security Especifica como integridade e confidencialidade podem ser
aplicadas em mensagens e permitir a comunicação com vários
formatos de token de segurança.

Curso Regular de Desenvolvimento de Software 22

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

WS-Trust Provê extensões ao WS-Security, especificamente para lidar com


emissão, renovação e validação de tokens de segurança.

Curso Regular de Desenvolvimento de Software 23

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Sobre o HTTP, é possível autenticar o remetente, assinar a mensagem e criptografar os dados.


Em outras palavras, o remetente é conhecido, o destinatário pode confirmar a integridade e
a mensagem se mantém confidencial. No entanto, nem sempre se utiliza esse protocolo; além
disso, ele possui diversas limitações quando a mensagem passa por diversos pontos.

O Protocolo HTTP só oferece segurança ponto-a-ponto! Muitas vezes, é necessário segurança


fim-a-fim. Ademais, pode ser necessária mais de uma chave de criptografia ao longo da rota
percorrida e domínios de segurança podem ser cruzados. Logo, para soluções mais complexas,
esse protocolo não satisfaz todos os requisitos de segurança.

O WS-Security utiliza diversos padrões e especificações de segurança pré-existentes. Ora,


para que reinventar a roda? Vamos utilizar o que já existe e está consolidado e evitar definir soluções
de segurança novas! Pode-se utilizar Kerberos e X.509 para fornecer autenticação; XML-
Encryption e XML-Signature para fornecer criptografia e assinatura do conteúdo das mensagens
XML.

O que de fato faz o WS-Security? Ele agrupa um conjunto de especificações em um framework


a ser embutido em uma Mensagem SOAP! Ele é utilizado para estender os mecanismos do
Protocolo SOAP para fornecer segurança (confidencialidade, integridade e não-repúdio) fim-a-
fim. Além das especificações citadas, ele também se associa ao WS-Privacy, WS-Test, WS-Policy,
WS-Trust, ID-WSD, TAS3, etc.

2
Eventualmente, pode rodar sobre outros protocolos (tais como: JMS e SMTP).
Curso Regular de Desenvolvimento de Software 24

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

O WS-Privacy determinará de que forma os Web Services serão adotados e implementados.


O WS-Policy define como os recursos e restrições das normas de segurança poderão ser
expressados. Por fim, o WS-Trust descreve um modelo para que se obtenha um relacionamento
de confiança, tanto direto, quanto por meio de agentes (incluindo terceiros e intermediários).

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?

O WS-Security define um Header SOAP para carregar dados relacionados à segurança. A


especificação diz: “This header contains security information for an intended recipiente”. Se for
utilizado o XML-Signature, o header pode conter informações que expressam como a mensagem
foi assinada, a chave utilizada e o valor resultante da assinatura.

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.

Curso Regular de Desenvolvimento de Software 25

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

EXERCÍCIOS WEB SERVICES E SOA

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

2. (CESPE - 2013 - CNJ - Técnico Judiciário - Programação de Sistemas) A linguagem WSDL é


utilizada para descrever web services limitadas ao tipo request-response.

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.

Curso Regular de Desenvolvimento de Software 26

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

SOLICIT-RESPONSE A operação pode enviar uma requisição e esperará por uma


resposta.
NOTIFICATION A operação pode enviar uma mensagem, mas não esperará por
uma resposta.

Conforme vimos em aula, não está limitada ao tipo request-response – existem quatri tipos
diferentes de operações.

Gabarito: E

3. (CESPE - 2013 - CNJ - Técnico Judiciário - Programação de Sistemas) Nos registros de


negócio UDDI, a descrição da forma de acesso aos web services é um procedimento contido
nas páginas verdes (green pages).

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.

Curso Regular de Desenvolvimento de Software 27

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

b) UDDI é um serviço de diretório em que é possível registrar e localizar web services.

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.

d) SOAP é um protocolo do tipo statefull, independente de sistema operacional, embasado


em troca de mensagem one-way e projetado para ser simples e extensível por meio de
tecnologia XML.

e) SOA é uma arquitetura de desenvolvimento cujo objetivo é criar módulos funcionais


denominados serviços, fortemente acoplados e independentes de plataforma. É embasada
em XML e incentiva reutilização de código e interoperabilidades entre 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.

Curso Regular de Desenvolvimento de Software 28

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

(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

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

Curso Regular de Desenvolvimento de Software 30

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

6. (CESPE - 2011 - BRB - Analista de Tecnologia da Informação) Na estrutura de um


documento WSDL, o elemento <portType> descreve os tipos de dados usados por um web
service.

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

7. (CESPE - 2011 - CBM-DF - Oficial Bombeiro Militar Complementar - Informática) Embora


não tenha publicação automática, um web service permite a utilização das regras de negócio
através da rede e conecta aplicações de diferentes fornecedores.

Comentários:

As interações entre o provedor e o agente são basicamente a publicação dos serviços. A


interação entre o solicitador e o agente é a tarefa de pesquisar os serviços e os provedores de serviços.
Finalmente, a interação entre o provedor e o solicitante é chamada de vínculo (em inglês, bind). De
acordo com Schneider, algumas das vantagens de se utilizar Web Services são:

Permite utilizar as regras de negócio através da rede;

Baixo custo de comunicação (Internet);

Curso Regular de Desenvolvimento de Software 31

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

Conecta aplicações de diferentes fornecedores;

Protocolo padronizado (SOAP/WSDL/UDDI);

Permite publicação automática (UDDI).

Conforme vimos em aula, ele permite a publicação automática.

Gabarito: E

8. (CESPE - 2011 - PREVIC - Analista de Tecnologia da Informação) No WSDL (Web Services


Definition Language), é prescrito o leiaute de banco de dados com descrições de serviços, por
meio das quais os clientes de web service podem procurar serviços relevantes.

Comentários:

SOAP (SIMPLE/SINGLE OBJECT ACCESS PROTOCOL)


Baseado em XML, define uma organização para troca estruturada de dados entre Web
Services.
WSDL (WEB SERVICES DESCRIPTION LANGUAGE)
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.

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

Curso Regular de Desenvolvimento de Software 32

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

Curso Regular de Desenvolvimento de Software 33

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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!

Curso Regular de Desenvolvimento de Software 34

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

A Especificação UDDI fornece duas interfaces importantes: Publisher Interface e Inquiry


Interface. A primeira interface define dezesseis operações para que um provedor de serviços possa
gerenciar e publicar informações sobre um determinado serviço web. Já a segunda interface define
dez operações de busca de registro e informações específicas de registros.

Conforme vimos em aula, a questão trata das interfaces: Publisher e Inquiry.

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:

Curso Regular de Desenvolvimento de Software 35

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

O WSDL separa a descrição de um serviço em duas perspectivas: Abstrata e Concreta! A


perspectiva abstrata trata da interface do serviço. Em outras palavras, ela descreve o que o serviço
faz – seus tipos, suas operações, suas entradas, suas saídas, suas mensagens fault, entre outros –,
porém sem dizer como o serviço faz o seu trabalho nem mesmo como acessar esse serviço.

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:

Curso Regular de Desenvolvimento de Software 36

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

WSDL (WEB SERVICES DESCRIPTION LANGUAGE)


Baseado em XML, define como as interfaces dos Web Services podem ser
representadas.

Galera, nós vimos insistentemente que a arquitetura orientada a serviços é independente de


implementação e tecnologia. Em outras palavras, há diversas modelos arquitetônicos de
implementação de uma arquitetura orientada a serviços. Veremos agora algumas formas de
implementar essa arquitetura em uma organização. Vamos começar pelo modelo mais primitivo...

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

Curso Regular de Desenvolvimento de Software 37

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

Galera, nós vimos insistentemente que a arquitetura orientada a serviços é independente de


implementação e tecnologia. Em outras palavras, há diversas modelos arquitetônicos de
implementação de uma arquitetura orientada a serviços. Veremos agora algumas formas de
implementar essa arquitetura em uma organização. Vamos começar pelo modelo mais primitivo...

Conforme vimos em aula, é realmente independente de tecnologia (plataforma de hardware,


sistema operacional, linguagem de programação, entre outros).

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).

Curso Regular de Desenvolvimento de Software 38

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Conforme vimos em aula, todos esses padrões utilizam XML!

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:

SOAP (SIMPLE/SINGLE OBJECT ACCESS PROTOCOL)


Baseado em XML, define uma organização para troca estruturada de dados entre Web
Services.
WSDL (WEB SERVICES DESCRIPTION LANGUAGE)
Curso Regular de Desenvolvimento de Software 39

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Conforme vimos em aula, todos são baseados em XML!

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:

Conforme vimos em aula, a descrição é mantida em um repositório UDDI, em formado WSDL.

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.

Curso Regular de Desenvolvimento de Software 40

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Conforme vimos em aula, a questão inverteu os conceitos.

Gabarito: E

21. (CESPE - 2009 – TCE/TO - Analista de Sistemas) Acerca da arquitetura orientada ao serviço
(SOA), assinale a opção incorreta.

a) Os principais conceitos do SOA são a visibilidade, a interação e os efeitos.

b) Na programação orientada a objetos, o foco está no empacotamento de dados com


operações, enquanto que, no SOA, o foco central é a interface entre as aplicações.

c) O SOA se constitui na base mais viável para o desenvolvimento de sistemas de grande


escala.

d) O UDDI (universal description, discovery, and integration) é um protocolo para descrever


componentes de serviços web disponíveis.

e) Nos web services, utiliza-se SOAP sobre HTTP para se realizar a comunicação entre os
serviços.

Comentários:

Curso Regular de Desenvolvimento de Software 41

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

O Modelo de Referência do SOA apresenta, a partir da perspectiva dinâmica de serviço, três


conceitos-chaves dessa arquitetura: a visibilidade entre provedores de serviços e consumidores; a
interação entre eles; e os efeitos no mundo real da interação com um serviço. Existem outros
conceitos fundamentais, esses são conceitos relacionados à dinâmica dos serviços.

(a) Conforme vimos em aula, a questão está perfeita.

(b) De acordo com o Modelo de Referência OASIS/SOA: “Diferentemente do paradigma de


Programação Orientada a Objeto, onde o foco está no empacotamento de dados com operações, o
foco central da Arquitetura Orientada a Serviço é a tarefa ou função de negócio – obtendo alguma
coisa feita”.

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.

Curso Regular de Desenvolvimento de Software 42

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

22. (CESPE - 2009 - ANTAQ - Analista de Sistemas) Um componente importante da arquitetura


de serviços web é formado por um serviço de diretório que armazena descrições de serviços.
Esse serviço deve obedecer ao padrão UDDI (universal description, discovery and integration).

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.

Conforme vimos em aula, a questão está perfeita.

Curso Regular de Desenvolvimento de Software 43

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

c) Um documento SOAP é formado por um envelope e uma mensagem, sendo escrito em


aderência a esquemas definidos na linguagem XML e transportado usualmente em
mensagens HTTP.

d) WS-BPEL é uma notação para a representação abstrata de arquiteturas orientadas a


serviço, independente de plataforma e tecnologias de suporte.

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

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Conforme vimos em aula, ela é embasada em XML.

Gabarito: E

25. (CESPE - 2010 – TRE/MT - Analista de Sistemas) Com relação a web services, assinale a
opção correta.

a) As arquiteturas de aplicação de web services são arquiteturas firmemente acopladas, nas


quais as ligações entre serviços não podem mudar durante a execução.

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.

Curso Regular de Desenvolvimento de Software 45

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

c) UDDI (Universal Description, Discovery and Integration) é um diretório para


armazenamento de informações a respeito de web sevices. Essas informações são descritas
em SOAP.

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:

Curso Regular de Desenvolvimento de Software 46

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

Ele carrega informações adicionais específicas para a aplicação, como Autenticação,


Autorização, Pagamento, etc. Ele pode, por exemplo, especificar assinatura digital para serviços
protegidos por senha. Podem ser definidos vários cabeçalhos. Ele é opcional, mas – caso seja utilizado
– deve ser o primeiro elemento do Envelope. Ele tem três atributos: mustUnderstand, actor e
encodingStyle.

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

Curso Regular de Desenvolvimento de Software 47

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

b) No caso de implementação de web service, o contrato de serviço entre os agentes


envolvidos na aplicação pode possuir múltiplos esquemas XML (XML schema), com regras
como políticas de nível de serviço acordado (SLA).

c) Acoplamento forte, um princípio dos serviços do SOA, possibilita maior compatibilidade de


comunicação em ambientes heterogêneos, mediante o uso de XML na troca de dados.

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.

Curso Regular de Desenvolvimento de Software 48

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

e) SOA é um aplicativo que segue as recomendações definidas na arquitetura web service.

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

Curso Regular de Desenvolvimento de Software 49

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

4. Web Services são independentes de tecnologia?


Sim, eles são independentes de plataforma, sistema operacional, arquitetura de
processador, linguagem de programação, entre outros.

Conforme vimos em aula, a questão está perfeita.

Gabarito: C

32. (CESPE - 2015 – MPOG/ATI – Analista de Sistemas) As informações relativas a formato de


protocolo e mensagem são associadas às operações (elementos operation) por meio de
elementos binding.

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.

Conforme vimos em aula, as informações relativas à formato de mensagens e protocolos de


transmissão são associadas às operações por meio do bindind.

Curso Regular de Desenvolvimento de Software 50

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

SOAP é um protocolo projetado para invocar aplicações remotas em um ambiente independente


de plataforma, linguagem de programação, entre outros. Ele é, portanto, um padrão normalmente
aceito para se utilizar com Web Services. Mas, professor, ele é o único? Não! Veremos mais adiante...
não se preocupem com isso nesse momento.

Bem, o que se pretende é garantir a interoperabilidade e intercomunicação entre diferentes


sistemas, através da utilização de uma linguagem (XML) e de um mecanismo de transporte
(HTTP). Pessoal, é obrigatório utilizar esse protocolo de transporte? Não! Pode-se usar qualquer um,
no entanto esse é o mais comumente utilizado no mercado atualmente.

Conforme vimos em aula, a questão está perfeita.

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.

Curso Regular de Desenvolvimento de Software 51

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

SOAP é um protocolo projetado para invocar aplicações remotas em um ambiente independente


de plataforma, linguagem de programação, entre outros. Ele é, portanto, um padrão normalmente
aceito para se utilizar com Web Services. Mas, professor, ele é o único? Não! Veremos mais adiante...
não se preocupem com isso nesse momento.

Conforme vimos em aula, a questão está perfeita.

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.

Conforme vimos em aula, a questão está perfeita.

Curso Regular de Desenvolvimento de Software 52

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Conforme vimos em aula, a questão está perfeita!

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.

Curso Regular de Desenvolvimento de Software 53

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

Curso Regular de Desenvolvimento de Software 54

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

40. (CESPE – 2017 – SE/DF – Analista de Sistemas) Por oferecerem um framework de


comunicação com base em contratos de serviços fisicamente desacoplados, os web services
permitem que um contrato de serviços seja totalmente padronizado, independentemente de
sua implementação.

Comentários:

Um Web Service é um sistema de software projetado para permitir interoperabilidade na interação


entre máquinas através de uma rede. É descrito através de uma interface padronizada que
disponibiliza um serviço em uma rede de computadores, geralmente a Internet. Uma vez descrito
na forma padrão e catalogado, o serviço se torna um componente de software totalmente
reutilizável.

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

Curso Regular de Desenvolvimento de Software 55

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

41. (CESPE – 2017 – TRE/PE – Analista de Sistemas) A respeito de arquitetura orientada a


serviços (SOA), assinale a opção correta.

a) WS – Transaction é um padrão de suporte que garante que uma mensagem seja entregue
uma vez e apenas uma vez.

b) Trata-se de uma forma de desenvolvimento de sistemas distribuídos cujos componentes


são serviços autônomos, executados em computadores geograficamente distribuídos.

c) Um serviço na SOA é agnóstico, ou seja, dependente da aplicação que o utiliza.

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:

(a) Errado, esse é o WS-Reliable Messaging. O WS-Transaction é uma especificação que


apresenta como as transações através de serviços distribuídos devem ser coordenadas,
garantindo quem uma transação seja atômica, i.e., uma transação é executada integralmente
com sucesso ou é completamente abortada; (b) Correto. Questão retirada da última edição do
Sommerville e que, a princípio, eu discordo. SOA não é uma forma de desenvolvimento, mas já
que foi o Sommerville que disse, a partir de agora passaremos a considerar como referência; (c)
Errado, ele é independente da aplicação que o utiliza, i.e., agnóstico; (d) Errado, WSDL é um
padrão para a definição de interface de serviço; (e) Errado, esse é o WS-Adressing.

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.

Curso Regular de Desenvolvimento de Software 56

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

d) O WSDL (Web Services Description Language) é uma linguagem para o desenvolvimento


de Web Services similar ao XML.

e) Os Web Services permitem a integração de sistemas, todavia dependem da linguagem de


programação sob a qual tenham sido desenvolvidos e do sistema operacional do computador
onde esses sistemas forem executados.

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

43. (CESPE - 2013 - TRE-MS - Analista Judiciário - Análise de Sistemas – 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.

Curso Regular de Desenvolvimento de Software 57

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

44. (CESPE – 2013 – SERPRO – Analista de Sistemas) Os serviços embasados em colheita


automática de metadados (harvesting) são assíncronos e menos sofisticados que os providos
pelas federações, sendo a sobrecarga sobre os participantes consideravelmente menor.

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.

Conforme vimos em aula, Harvesting é assíncrono e menos sofisticado que Federation – e a


sobrecarga sobre os participantes é menor.

Gabarito: C

Curso Regular de Desenvolvimento de Software 58

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Curso Regular de Desenvolvimento de Software 59

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

b) Como grande parte das aplicações SOA são construídas por WML Web Services, o uso do
estado de sessão é grande.

c) Poucas aplicações orientadas a serviços atuais utilizam como protocolo de comunicação o


SOAP, que é um protocolo baseado em XML com suporte à conexão.

d) WSDL refere-se a um documento escrito em XML que descreve um serviço, mas não
especifica como acessá-lo.

e) BPEL é uma linguagem de programação para especificação de processos de negócios que


envolvam Web Services. Utiliza apenas a técnica de coreografia para fazer a composição de
serviços.

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

2. (FCC - 2012 - TJ-PE - Técnico Judiciário - Programador de Computador) No tocante a


arquitetura orientada a serviços, mais especificamente a serviços web (webservices),
considere:

I. Estes serviços proporcionam um padrão de interoperação entre aplicações, podendo ser


executados em várias plataformas.

Curso Regular de Desenvolvimento de Software 60

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

II. Outros sistemas interagem com esse serviço por meio de mensagens no protocolo SOAP,
tipicamente enviadas por HTTP.

III. O objetivo deste serviço é proporcionar alguma funcionalidade em favor de seu


proprietário (pessoa ou organização).

Está correto o que se afirma em:

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:

I – Correto. Ele é multiplataforma e interoperável; II – Correto. A troca de mensagens é por meio


do Protocolo SOAP que é enviado por meio do Protocolo HTTP; III – Correto. No entanto, eu
considero errada. O objetivo principal é proporcionar alguma funcionalidade. Se é em favor do
proprietário ou de um consumidor, na minha opinião, é irrelevante.

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.

Os itens I, II, III e IV, referem-se, respectivamente, a:

a) CSS, SNMP, WSDL e FDDI.


b) XML, SOAP, WSDL e UDDI.
Curso Regular de Desenvolvimento de Software 61

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

c) HTML, UDP, REST e FDDI.


d) XML, SNMP, REST e UDDI.
e) CSS, XHTML, RUBY e UDPP.

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

4. (FCC - 2011 - INFRAERO - Analista de Sistemas - Rede e Suporte) Em relação a Web


services, é INCORRETO afirmar:

a) Foram criados para construir aplicações que são vistas como serviços na internet.

b) Nada mais são do que chamada de métodos usando XML.

c) Independem de plataforma e de linguagem de programação.

d) O serviço Web services inexiste sem o protocolo SOAP.

e) As funções publicação, pesquisa e descoberta são providas pelo WSDL.

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.

Curso Regular de Desenvolvimento de Software 62

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

Gabarito: E

5. (FCC - 2010 - MPE-RN - Analista de Tecnologia da Informação - Engenharia de Software)


Protocolo leve para a troca de documentos XML por meio de uma conexão básica de
transporte. Aceita transações sobre objetos distribuídos em um ambiente baseado na Web,
definindo como as RPCs e as respostas podem ser representadas dentro de mensagens. Trata-
se de:

a) WSDL.
b) SOA.
c) SOAP.
d) UDDI.
e) TCP.

Comentários:

Fácil, né?! SOAP!

Gabarito: C

6. (FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário - Tecnologia da Informação) Grande


parte das implementações de Service-Oriented Architecture (SOA) utilizam web services.
Neles, os serviços são descritos em linguagem denominada:

a) SOAP.
b) XML.
c) WML.
d) WSDL.
e) UML.

Curso Regular de Desenvolvimento de Software 63

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

Comentários:

Fácil, né?! WSDL.

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:

a) permitem a troca de mensagens através de arquivos no formato WSDL sobre o protocolo


HTTP, permitindo que diferentes programas se comuniquem através da Internet.

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.

e) trocam mensagens através de arquivos HTML, possibilitando que qualquer tipo de


aplicação se comunique com outros Web Services.

Comentários:

Curso Regular de Desenvolvimento de Software 64

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

8. (FCC - 2012 - TRE-SP - Técnico Judiciário - Programação de Sistemas) O formato XML


utilizado para descrever os serviços de Web services, especificando como acessá-los, e quais
as operações ou métodos que estão disponíveis, é chamado de:

a) XML-RPC.

b) XHTML.

c) SOAP.

d) HTTP.

e) WSDL

Comentários:

Fácil, né?! WSDL.

Gabarito: E

9. (FCC - 2012 - TJ-PE - Técnico Judiciário - Programador de Computador) No que se refere


aos web services, é correto afirmar:

Curso Regular de Desenvolvimento de Software 65

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

a) Directory, mecanismo para localizar os serviços na Web.

b) Discovery, solicita descoberta de documento.


Curso Regular de Desenvolvimento de Software 66

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

c) Description, descrição dos serviços para definição de como usá-los.

d) Wire format, solicita o serviço e recebe a resposta.

e) Relationship, relacionamento entre os usuários, corretores e fornecedores de serviços.

Comentários:

Opa... Relationship, não!

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:

Tranquilo, não?! WSDL!

Curso Regular de Desenvolvimento de Software 67

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

a) SAML (Security Assertion Markup Language).

b) UDDI (Universal Description Discovery and Integration).

c) XHTML (eXtensible Hypertext Markup Language).

d) XML (eXtensible Markup Language).

e) WSDL (Web Service Description Language).

Comentários:

Já contaram quantas questões pedem apenas a descrição?! Pois é, mais uma!

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.

Curso Regular de Desenvolvimento de Software 68

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Está correto o que consta em:

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.

Detalhes sobre o segundo item: essa questão foi retirada de https://msdn.microsoft.com/pt-


br/library/cc564893.aspx.

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)".

Curso Regular de Desenvolvimento de Software 69

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

Protocolo que define:

I. uma organização para a troca estruturada de dados entre Web services;


II. como as interfaces dos Web services podem ser representadas.

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.

Curso Regular de Desenvolvimento de Software 70

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

Mais uma que bastava saber a descrição.

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.

c) Domain Name System.


Curso Regular de Desenvolvimento de Software 71

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

d) Orientação a objetos.

e) Arquitetura cliente-servidor.

Comentários:

É a definição de Web Services.

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:

Bem, UDDI não é um protocolo! Mas é a FCC, então ignoremos.

Gabarito: D

Curso Regular de Desenvolvimento de Software 72

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

b) As operações que o serviço apoia.

c) Os parâmetros que o serviço espera.

d) Os detalhes das mensagens do serviço.

e) Os meios para publicar e localizar o serviço.

Comentários:

Opa, meios para publicar e localizar um serviço se trata do UDDI.

Gabarito: E

19. (FCC - 2012 - TRE-SP - Analista Judiciário - Análise de Sistemas) Com relação ao SOAP,
analise:

I. Envelope: É o elemento raiz do documento XML. Pode conter declarações de namespaces


e também atributos adicionais como o que define o estilo de codificação (encoding style).

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.

IV. Fault: Contém as informações dos erros ocorridos no envio da mensagem.

Curso Regular de Desenvolvimento de Software 73

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

São elementos obrigatórios em uma mensagem SOAP o que consta em:

a) I e II, apenas.

b) I e III, apenas.

c) I, II e III, apenas.

d) II, III e IV, apenas.

e) I, II, III e IV.

Comentários:

São elementos obrigatórios apenas Envelope e Body.

Gabarito: B

20. (FCC - 2010 - TRE-RS - Analista Judiciário - Analista de Sistemas Suporte) SOAP é:

I. um protocolo de comunicação leve destinado a troca de informações estruturadas em um


ambiente distribuído.

II. dependente de plataforma e linguagem de programação.

III. baseado em XHML.

IV. uma recomendação da W3C.

Está correto o que consta em:

a) III e IV, somente.


Curso Regular de Desenvolvimento de Software 74

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

b) II e III, somente.

c) I e IV, somente.

d) II, III e IV, somente.

e) I, II, III e IV.

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

21. (FCC - 2008 - MPE-RS - Técnico em Informática - Área Sistemas) A identificação do


documento XML, como uma mensagem SOAP, está contida no elemento da estrutura SOAP
denominado:

a) root.
b) body.
c) envelope.

d) fault.

e) header.

Comentários:

A identificação consta do elemento raiz, i.e., Envelope.

Curso Regular de Desenvolvimento de Software 75

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

- da interação de novas aplicações com as já existentes;


- da compatibilidade de sistemas desenvolvidos em plataformas diferentes;
- de as chamadas às operações, incluindo os parâmetros de entrada/saída, serem codificadas
em um determinado protocolo;
- de as 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, 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:

Conforme vimos em aula, o protocolo é o SOAP e a linguagem é o XML.

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:

I. interação de novas aplicações com as já existentes.

II. compatibilizar sistemas desenvolvidos em plataformas diferentes.

III. serem codificadas em um determinado protocolo, incluindo os parâmetros de


entrada/saída.
Curso Regular de Desenvolvimento de Software 76

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

Conforme vimos em aula, o protocolo é o SOAP!

Gabarito: A

24. (FGV – 2008 – Senado Federal – Analista de Sistemas) Considere as assertivas a seguir sobre
as relações entre SOAP, WSDL e UDDI:

I. UDDI é um diretório de serviços web descrito por WSDL.


II. WSDL pode ser usado para descrever serviços SOAP.
III. O UDDI é um diretório de descrições SOAP.

As assertivas corretas são:

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:

Curso Regular de Desenvolvimento de Software 77

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

(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

25. (FGV – 2010 – ARE/AP – Analista de Sistemas) Originalmente SOAP representava um


protocolo para troca de informações estruturadas em uma plataforma descentralizada e
distribuída, utilizando tecnologias baseadas em um determinada linguagem. Foi importante
para o desenvolvimento de aplicações para permitiram a comunicação via Internet entre
programas, empregando o Remote Procedure Calls (RPC) entre objetos como DCOM e
CORBA.

Atualmente, SOAP provê um caminho de comunicação entre aplicações "rodando" em


diferentes sistemas operacionais, com diferentes tecnologias e linguagens de programação.

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:

a) Identification, Environment, Data, Procedure;


b) Constant, Type, Variable, Description;
Curso Regular de Desenvolvimento de Software 78

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

c) Header, Contents, Adendum, Fault;


d) Envelope, Header, Body, Fault;
e) Prologue, Directory, Contents, Epilogue.

Comentários:

Envelope (Envolope):

Trata-se do elemento-raiz do documento XML – identifica o documento XML como uma


mensagem SOAP. Ele funciona como um recipiente que contém os demais elementos da mensagem
(Ex: Header, Body, etc). Ele possui dois atributos: namespace, que define o Envelope como um
Envelope SOAP; e encodingStyle, que define os tipos de dados utilizados em um documento. É
obrigatório!

Cabeçalho (Header):

Ele carrega informações adicionais específicas para a aplicação, como Autenticação,


Autorização, Pagamento, etc. Ele pode, por exemplo, especificar assinatura digital para serviços
protegidos por senha. Podem ser definidos vários cabeçalhos. Ele é opcional, mas – caso seja utilizado
– deve ser o primeiro elemento do Envelope. Ele tem três atributos: mustUnderstand, actor e
encodingStyle.

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!

Conforme vimos em aula, trata-se do Envelope, Header, Body e Fault.

Gabarito: D

Curso Regular de Desenvolvimento de Software 79

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

27. (ESAF - 2016 – ANAC – Analista de Sistemas) São tecnologias essenciais para Web Services:

a) Protocolo HSTP. XML. SIP. WSDL. UMDI.


b) Protocolo HTTP. RML. SOAP. WDLL. UDDI.
c) Protocolo TC/IP. XML. SORP. WSDL. UDTS.
d) Protocolo HTIP. XDL. SO2AP. WSDD. UDDI.
e) Protocolo HTTP. XML. SOAP. WSDL. UDDI.

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.

Conforme vimos em aula, trata-se do HTTP, XML, SOAP, WSDL e UDDI.

Gabarito: E

28. (FCC - 2012 – Metrô/SP - Analista de Sistemas – A) WS-Security, um conjunto de padrões


que apoiam a proteção de web services, incluindo padrões que especificam a definição de
políticas de proteção e padrões que cobrem o uso de assinaturas digitais.

Comentários:

Curso Regular de Desenvolvimento de Software 80

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

Perfeito! Trata-se do WS-Policy e XML-Signature.

Gabarito: C

29. (FGV - 2018 – COMPESA - Analista de Tecnologia da Informação) Relacione os conceitos


listados a seguir, definidos nas especificações sobre Web Services publicadas pela W3C, às
suas respectivas definições ou características

1. SOAP
2. WSDL
3. Service Description (Descrição do Serviço)
4. Biding Operation

( ) Descreve o(s) formato(s) de mensagem e protocolo(s) de interação(ões) associados a uma


operação de interface para um endpoint específico.

( ) É um protocolo baseado em XML que consiste em três partes: um envelope; um conjunto


de regras de codificação para expressar instâncias de tipos de dados definidos pelo aplicativo;
e uma convenção para representar chamadas e respostas de procedimentos remotos.

( ) Contém a descrição processável por máquina das mensagens que são trocadas por um
Serviço (Web Service)

( ) É um documento XML que contém um conjunto de definições para descrever ou localizar


um Serviço Web (Web Service).

Assinale a opção que mostra a relação correta, segundo a ordem apresentada.

a) 1, 2, 4 e 3.

Curso Regular de Desenvolvimento de Software 81

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

I. A confidencialidade dos dados é implementada através do criptografia XML (conforme


definido na especificação XML Encryption da W3C).

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.

Está correto o que se afirma em:


Curso Regular de Desenvolvimento de Software 82

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

a) I, somente

b) II, somente

c) III, somente

d) I e II, somente.

e) I, II e III.

Comentários:

O WS-Security utiliza diversos padrões e especificações de segurança pré-existentes. Ora, para


que reinventar a roda? Vamos utilizar o que já existe e está consolidado e evitar definir soluções de
segurança novas! Pode-se utilizar Kerberos e X.509 para fornecer autenticação; XML-Encryption e
XML-Signature para fornecer criptografia e assinatura do conteúdo das mensagens XML.

O que de fato faz o WS-Security? Ele agrupa um conjunto de especificações em um framework a


ser embutido em uma Mensagem SOAP! Ele é utilizado para estender os mecanismos do Protocolo
SOAP para fornecer segurança (confidencialidade, integridade e não-repúdio) fim-a-fim. Além das
especificações citadas, ele também se associa ao WS-Privacy, WS-Test, WS-Policy, WS-Trust, ID-
WSD, TAS3, etc.

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

Curso Regular de Desenvolvimento de Software 83

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

ACERTEI ERREI

Curso Regular de Desenvolvimento de Software 84

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

Vamos encontrar: “(...) expressão utilizada com o fim de classificar


períodos da história da arquitetura de acordo com suas caraterísticas
formais, técnicas e materiais”. Observem que esse conceito possui
diversas restrições quanto à forma, à técnica e aos materiais. Por
meio dessas restrições, podemos identificar se determinada
construção segue o estilo arquitetônico barroco, etrusco,
bizantino, renascentista, etc. Então, caso vocês já tenham ido à
Catedral de Notre-Dame, em Paris, devem ter percebido que se
trata de uma construção de estilo arquitetural gótico (com suas
gárgulas e seus vitrais).

Ficou mais fácil de entender agora? Essas restrições são correspondentes às


tecnologias/protocolos e ajudam a diferenciar uma arquitetura de um estilo arquitetural.
Professor, mas o que é o REST? REST significa REpresentational State Transfer e se trata de um
estilo arquitetural para projetar aplicações de rede distribuídas. Agora, sim, vamos falar mais a
fundo sobre o assunto da nossa aula...

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:

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
Cliente/Servidor responsabilidades em dois ambientes.

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

Curso Regular de Desenvolvimento de Software 87

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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).

Múltiplas camadas hierárquicas, como gateways, firewalls e proxies


podem existir entre o cliente e o servidor. As camadas podem ser
adicionadas, modificadas, reordenadas, ou removidas de forma
transparente para melhorar a escalabilidade – deve ser fácil, então,
manipular camadas (tornando o sistema mais flexível).
Sistema em
Camadas
O cliente nunca deve chamar diretamente o servidor da aplicação sem
antes passar por um intermediador (Ex: Balanceador de Carga). Isso
garante que o cliente se preocupe apenas com a comunicação com o
intermediador e o intermediador fique responsável por distribuir as
requisições aos servidores.

Respostas do servidor devem ser declaradas como cacheable ou


noncacheable. Isso permite que o cliente ou seus componentes
Cache
intermediários armazenem em cache respostas e reutilizem-nas para
pedidos posteriores. Isto reduz a carga no servidor e ajuda a melhorar o
desempenho.

Curso Regular de Desenvolvimento de Software 88

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Todas as interações entre cliente, servidor e componentes


intermediários são baseadas na uniformidade de suas interfaces. Isso
simplifica a arquitetura geral, visto que componentes podem evoluir de
forma independente à medida que implementem o que foi acordado
em contrato.
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.

Esse princípio é opcional, na medida em que não faz parte da


arquitetura em si. Ele trata da possibilidade de clientes poderem
estender suas funcionalidades através do download e execução do
código sob demanda. Exemplos incluem scripts Javascript, Applets
Java, Silverlight, e assim por diante.
Código sob
Demanda
Em outras palavras, permite que o cliente possa executar algum código
sob demanda, ou seja, estender parte da lógica do servidor para o
cliente, seja através de applets ou scripts. Assim, diferentes clientes
podem se comportar de maneiras específicas mesmo que utilizando
exatamente os mesmos serviços providos pelo servidor.

Curso Regular de Desenvolvimento de Software 89

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Bem, há um conceito fundamental em REST chamado Recurso (ou Resource). Um recurso é


qualquer coisa que possa ser acessada ou manipulada. Exemplos de recursos incluem vídeos,
entradas de blog, perfis de usuário, imagens, e até mesmo coisas tangíveis, tais como pessoas ou
dispositivos. Os recursos são tipicamente relacionados com outros recursos.

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

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

Professor, o formato de representação da informação no SOAP é o XML – qual é o formato de


representação no REST? Bem, excelente pergunta! Os recursos devolvidos aos clientes podem
ter 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!

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?

Em sua implementação alternativa, desenvolvem-se Web Services utilizando os métodos do


Protocolo HTTP e, em geral, com a Linguagem JSON – no Java, essa especificação foi
denominada JAX-RS (Java API for Restful Web Services), presente a partir do Java EE 6. Cada
Curso Regular de Desenvolvimento de Software 91

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

Curso Regular de Desenvolvimento de Software 92

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

informações. Já o SOAP é aquele cara mais pomposo e equipado


que sai de terno, gravata e maleta para trocar informações. Quem
é o melhor, professor? Isso não existe, cada um é adequado para
um contexto.

SOAP REST

[SIMPLE OBJECT ACCESS PROTOCOL] [REPRESENTATIONAL STATE TRANSFER]

- É um protocolo de comunicação. - É um estilo arquitetural ou uma técnica de


engenharia de software.

- Utiliza um Envelope (Cabeçalho + Corpo) - Utiliza os recursos oferecidos nativamente


enviado por HTTP (FTP, SMT, etc) para pelo HTTP (apesar de poder utilizar outros
transmitir dados. protocolos).
- Suporta somente o formato XML. - Suporta XML, JSON, YAML, TXT, etc

- Apresenta desempenho e escalabilidade - Apresenta desempenho e escalabilidade


menor, devido ao alto overhead. maior, devido ao baixo overhead.

- Não permite fazer Caching. - Permite fazer Caching.

- JavaScript pode chamar SOAP, mas é - JavaScript pode facilmente chamar REST.
difícil de implementar.

Curso Regular de Desenvolvimento de Software 93

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

3. (CESGRANRIO - 2007 – REFAP/AS - Analista de Sistemas) O estilo arquitetural REST


(Representational State Transfer) para WEB tem como característica:

a) permitir o uso de RPC diretamente sobre SSL, para aplicações seguras.


b) acelerar a transferência do FTP com a implementação de cache.
c) combater o SPAM, utilizando redes neurais como técnica de aprendizagem.
d) usar SOAP para interoperabilidade entre sistemas heterogêneos.
e) utilizar os métodos HTTP: GET, POST, PUT e DELETE.

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:

Curso Regular de Desenvolvimento de Software 95

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

Todas as interações entre cliente, servidor e componentes intermediários são


baseadas na uniformidade de suas interfaces. Isso simplifica a arquitetura geral, visto
que componentes podem evoluir de forma independente à medida que implementem o
que foi acordado em contrato.

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.

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

5. (CESPE - 2015 – MEC - Analista de Sistemas) A fim de implementar serviços em REST,


recomenda-se utilizar os WSDL já existentes com mínima alteração do cabeçalho,
informando somente que o protocolo a ser utilizado é o REST.

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.

Curso Regular de Desenvolvimento de Software 96

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

Quem utiliza WSDL é o estilo arquitetural WS-*. O estilo arquitetural REST utiliza o protocolo
HTTP.

Gabarito: E

6. (MPE/RS - 2012 – MPE/RS - Analista de Sistemas) Considere as seguintes afirmações a


respeito de REST (Representational State Transfer).

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.

Quais estão corretas?

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.

Professor, o formato de representação da informação no SOAP é o XML – qual é o formato de


representação no REST? Bem, excelente pergunta! Os recursos devolvidos aos clientes podem ter

Curso Regular de Desenvolvimento de Software 97

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

a) O método POST é utilizado na atualização de um recurso existente.

b) Pode-se utilizar qualquer meio de transporte existente para o envio de uma requisição,
incluindo HTTP, SMTP e TCP.

c) O modelo REST impõe restrições ao formato da mensagem.

d) Ao desenvolver uma aplicação, o recurso é transferido pela rede.

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.

Curso Regular de Desenvolvimento de Software 98

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

(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).

Professor, o formato de representação da informação no SOAP é o XML – qual é o formato de


representação no REST? Bem, excelente pergunta! Os recursos devolvidos aos clientes podem ter
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!

(c) Conforme vimos em aula, não há restrições ao formato da mensagem.

(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.

Bem, há um conceito fundamental em REST chamado Recurso (ou Resource). Um recurso é


qualquer coisa que possa ser acessada ou manipulada. Exemplos de recursos incluem vídeos,
entradas de blog, perfis de usuário, imagens, e até mesmo coisas tangíveis, tais como pessoas ou
dispositivos. Os recursos são tipicamente relacionados com outros recursos.

(e) Conforme vimos em aula, a questão está impecável. Percebam que ela não limita o uso ao
HTTP – apenas o menciona.

Curso Regular de Desenvolvimento de Software 99

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

Gabarito: E

8. (CESPE - 2015 – TRE/MT - Analista de Sistemas) Acerca de REST (representational state


transfer), assinale a opção correta.

a) O protocolo REST utiliza SOAP e XML.

b) REST utiliza recurso não identificável baseado em PUT e GET.

c) REST pode ser utilizado para implementar WebServices de baixo overhead.

d) Embora opcionalmente, um recurso REST pode conter uma URI.

e) REST consiste em um estilo de desenvolvimento baseado em complexa interação


cliente/servidor.

Comentários:

Professor, o formato de representação da informação no SOAP é o XML – qual é o formato de


representação no REST? Bem, excelente pergunta! Os recursos devolvidos aos clientes podem ter
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!

(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).

Curso Regular de Desenvolvimento de Software 100

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

(d) Conforme vimos em aula, é obrigatório ter uma URI.

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.

Curso Regular de Desenvolvimento de Software 101

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

(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

9. (CESPE - 2016– TRE/PI - Analista de Sistemas) Acerca de REST (Representational State


Transfer), assinale a opção correta.

a) Na implementação do REST, todos os recursos devem responder a todos os métodos.

b) O método GET permite obter e alterar o estado atual de um recurso.

c) O método EXPUNGE permite excluir um recurso.

d) A arquitetura de comunicação entre aplicações baseia-se em um modelo rígido de recursos


e localizações.

e) O método MODIFY permite alterar um 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.

(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,

Curso Regular de Desenvolvimento de Software 102

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

esse método não existe. Portanto, para mim, essa questão deveria ter sido anulada, mas o
gabarito é Letra D.

Gabarito: D

10. (CESGRANRIO - 2008 – PETROBRÁS - Analista de Sistemas) A interoperabilidade entre


aplicações nos dias atuais é fortemente baseada no uso de web services. Duas abordagens
arquiteturais distintas para o projeto e implementação de web services têm-se firmado no
cenário de tecnologia. São elas:

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?

Conforme vimos diversas vezes em aula, trata-se de WS-* e REST.

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.

Curso Regular de Desenvolvimento de Software 103

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

Curso Regular de Desenvolvimento de Software 104

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

que o sistema seja escalável. Em outras palavras, busca-se separar a arquitetura e


responsabilidades em dois ambientes.

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).

Curso Regular de Desenvolvimento de Software 105

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Curso Regular de Desenvolvimento de Software 106

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

Curso Regular de Desenvolvimento de Software 108

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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).

Curso Regular de Desenvolvimento de Software 109

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

Curso Regular de Desenvolvimento de Software 110

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

Curso Regular de Desenvolvimento de Software 111

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

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 informações. Já o SOAP é aquele cara mais pomposo e
equipado que sai de terno, gravata e maleta para trocar informações.
Quem é o melhor, professor? Isso não existe, cada um é adequado
para um contexto.

Conforme vimos em aula, não há um melhor! Além disso, REST não


substitui SOAP – são tecnologias concorrentes e cada um é utilizado em seu contexto.

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:

Professor, o formato de representação da informação no SOAP é o XML – qual é o formato de


representação no REST? Bem, excelente pergunta! Os recursos devolvidos aos clientes podem ter

Curso Regular de Desenvolvimento de Software 112

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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!

Conforme vimos em aula, o REST não utiliza estritamente o XML!

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 sistema deverá ser integrado, interoperável, portável e seguro.


- O sistema deverá apoiar tanto o processamento online, quanto o suporte a decisão e gestão
de conteúdos.
- O sistema deverá ser embasado na plataforma JEE (Java enterprise edition) v.6, envolvendo
servlets, JSP (Java server pages), Ajax, JSF (Java server faces) 2.0, Hibernate 3.5, SOA e web
services.

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:

O estilo de arquitetura de software denominado REST (representational state transfer)


demanda mais recursos computacionais que o modelo de desenvolvimento de sistemas
embasado em SOAP (single object access protocol), por isso não é recomendável a adoção do
padrão REST de arquitetura de software no desenvolvimento do sistema em questão.

Comentários:

Curso Regular de Desenvolvimento de Software 113

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

25. (CESPE – 2015 – MEC - Analista de Sistemas) As principais características do REST


(representationl state transfer) são interface uniforme, stateless e cache.

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

Curso Regular de Desenvolvimento de Software 114

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Todas as interações entre cliente, servidor e componentes intermediários são baseadas na


uniformidade de suas interfaces. Isso simplifica a arquitetura geral, visto que componentes
podem evoluir de forma independente à medida que implementem o que foi acordado em
contrato.

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.

Conforme vimos em aula, são realmente essas três características/restrições.

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... .

As lacunas I, II e III são, correta e respectivamente, preenchidas por:


Curso Regular de Desenvolvimento de Software 115

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

a) TCP/IP - caches - PUT, GET, POST e DELETE


b) XML/JSON/RSS/Atom - URIs - CRUD stateless: Create, Read, Update, Delete
c) HTTP/HTTPS - URIs - PUT, GET, POST e DELETE
d) XML/JSON/RSS/Atom - URLs - CRUD stateless: Create, Read, Update, Delete
e) HTTP/HTTPS - caches - CRUD stateless: Create, Read, Update, Delete

Comentários:

Pela sua simplicidade e facilidade de entendimento, praticamente qualquer cliente ou servidor


com suporte aos protocolos HTTP/HTTPS pode fazer uso do REST. Os web services RESTful
expõem recursos para seus clientes, que são identificados através de URIs. A manipulação dos
recursos se dá através de operações básicas como PUT, GET, POST, DELETE.

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.

Curso Regular de Desenvolvimento de Software 116

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

a) na multiplicidade de representação de recursos, utilizando apenas os métodos padrão do


protocolo HTTP (GET, POST, PUT, DELETE, etc);

b) na multiplicidade de representação de métodos, utilizando apenas os recursos padrão do


protocolo HTTP (GET, POST, PUT, DELETE, etc);

c) em utilizar o protocolo SOAP sobre o protocolo HTTP;

d) na segurança por meio do protocolo HTTPS 2.0;

e) na integração baseada em troca de mensagens assíncronas por meio de web-sockets.

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.

Conforme vimos em aula, a ênfase se dá na multiplicidade de representações de recursos,


utilizando apenas os métodos padrão do protocolo HTTP (GET, POST, PUT, DELETE, etc).
Lembrem-se do que significa REST: Representational State Transfer – portanto, há um foco
grande na representação!

Gabarito: A

29. (CESPE – 2017 – TRE/PE - Analista de Sistemas) REST (Representational State Transfer) é:

Curso Regular de Desenvolvimento de Software 117

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

a) um estilo de desenvolvimento que utiliza o protocolo HTTP e se baseia na interação simples


entre cliente e servidor.

b) um software de infraestrutura em um sistema distribuído que auxilia no gerenciamento de


interações entre entidades distribuídas em serviços web.

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.

d) uma linguagem de programação com tipos dinâmicos, voltada principalmente para


desenvolvimento de aplicações web.

e) um modelo de desenvolvimento de software estruturado e organizado como um conjunto


de classes de objeto e de relações entre essas classes.

Comentários:

Ficou mais fácil de entender agora? Essas restrições são correspondentes às


tecnologias/protocolos e ajudam a diferenciar uma arquitetura de um estilo arquitetural.
Professor, mas o que é o REST? REST significa REpresentational State Transfer e se trata de um estilo
arquitetural para projetar aplicações de rede distribuídas. Agora, sim, vamos falar mais a fundo sobre
o assunto da nossa aula...

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

Curso Regular de Desenvolvimento de Software 118

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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

Curso Regular de Desenvolvimento de Software 119

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

LISTA DE EXERCÍCIOS WEBSERVICES E SOA

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).

2. (CESPE - 2013 - CNJ - Técnico Judiciário - Programação de Sistemas) A linguagem WSDL é


utilizada para descrever web services limitadas ao tipo request-response.

3. (CESPE - 2013 - CNJ - Técnico Judiciário - Programação de Sistemas) Nos registros de


negócio UDDI, a descrição da forma de acesso aos web services é um procedimento contido
nas páginas verdes (green pages).

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.

b) UDDI é um serviço de diretório em que é possível registrar e localizar web services.

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.

d) SOAP é um protocolo do tipo statefull, independente de sistema operacional, embasado


em troca de mensagem one-way e projetado para ser simples e extensível por meio de
tecnologia XML.

e) SOA é uma arquitetura de desenvolvimento cujo objetivo é criar módulos funcionais


denominados serviços, fortemente acoplados e independentes de plataforma. É embasada
em XML e incentiva reutilização de código e interoperabilidades entre 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.

Curso Regular de Desenvolvimento de Software 120

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

6. (CESPE - 2011 - BRB - Analista de Tecnologia da Informação) Na estrutura de um


documento WSDL, o elemento <portType> descreve os tipos de dados usados por um web
service.

7. (CESPE - 2011 - CBM-DF - Oficial Bombeiro Militar Complementar - Informática) Embora


não tenha publicação automática, um web service permite a utilização das regras de negócio
através da rede e conecta aplicações de diferentes fornecedores.

8. (CESPE - 2011 - PREVIC - Analista de Tecnologia da Informação) No WSDL (Web Services


Definition Language), é prescrito o leiaute de banco de dados com descrições de serviços, por
meio das quais os clientes de web service podem procurar serviços relevantes.

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

Curso Regular de Desenvolvimento de Software 121

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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).

Curso Regular de Desenvolvimento de Software 122

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

a) Os principais conceitos do SOA são a visibilidade, a interação e os efeitos.

b) Na programação orientada a objetos, o foco está no empacotamento de dados com


operações, enquanto que, no SOA, o foco central é a interface entre as aplicações.

c) O SOA se constitui na base mais viável para o desenvolvimento de sistemas de grande


escala.

d) O UDDI (universal description, discovery, and integration) é um protocolo para descrever


componentes de serviços web disponíveis.

e) Nos web services, utiliza-se SOAP sobre HTTP para se realizar a comunicação entre os
serviços.

22. (CESPE - 2009 - ANTAQ - Analista de Sistemas) Um componente importante da arquitetura


de serviços web é formado por um serviço de diretório que armazena descrições de serviços.
Esse serviço deve obedecer ao padrão UDDI (universal description, discovery and integration).

Curso Regular de Desenvolvimento de Software 123

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

c) Um documento SOAP é formado por um envelope e uma mensagem, sendo escrito em


aderência a esquemas definidos na linguagem XML e transportado usualmente em
mensagens HTTP.

d) WS-BPEL é uma notação para a representação abstrata de arquiteturas orientadas a


serviço, independente de plataforma e tecnologias de suporte.

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.

a) As arquiteturas de aplicação de web services são arquiteturas firmemente acopladas, nas


quais as ligações entre serviços não podem mudar durante a execução.

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.

Curso Regular de Desenvolvimento de Software 124

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

c) UDDI (Universal Description, Discovery and Integration) é um diretório para


armazenamento de informações a respeito de web sevices. Essas informações são descritas
em SOAP.

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.

b) No caso de implementação de web service, o contrato de serviço entre os agentes


envolvidos na aplicação pode possuir múltiplos esquemas XML (XML schema), com regras
como políticas de nível de serviço acordado (SLA).

Curso Regular de Desenvolvimento de Software 125

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

c) Acoplamento forte, um princípio dos serviços do SOA, possibilita maior compatibilidade de


comunicação em ambientes heterogêneos, mediante o uso de XML na troca de dados.

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.

e) SOA é um aplicativo que segue as recomendações definidas na arquitetura web service.

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.

32. (CESPE - 2015 – MPOG/ATI – Analista de Sistemas) As informações relativas a formato de


protocolo e mensagem são associadas às operações (elementos operation) por meio de
elementos binding.

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).

Curso Regular de Desenvolvimento de Software 126

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

40. (CESPE – 2017 – SE/DF – Analista de Sistemas) Por oferecerem um framework de


comunicação com base em contratos de serviços fisicamente desacoplados, os web services
permitem que um contrato de serviços seja totalmente padronizado, independentemente de
sua implementação.

41. (CESPE – 2017 – TRE/PE – Analista de Sistemas) A respeito de arquitetura orientada a


serviços (SOA), assinale a opção correta.

a) WS – Transaction é um padrão de suporte que garante que uma mensagem seja entregue
uma vez e apenas uma vez.

b) Trata-se de uma forma de desenvolvimento de sistemas distribuídos cujos componentes


são serviços autônomos, executados em computadores geograficamente distribuídos.

c) Um serviço na SOA é agnóstico, ou seja, dependente da aplicação que o utiliza.

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.

Curso Regular de Desenvolvimento de Software 127

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

d) O WSDL (Web Services Description Language) é uma linguagem para o desenvolvimento


de Web Services similar ao XML.

e) Os Web Services permitem a integração de sistemas, todavia dependem da linguagem de


programação sob a qual tenham sido desenvolvidos e do sistema operacional do computador
onde esses sistemas forem executados.

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.

44. (CESPE – 2013 – SERPRO – Analista de Sistemas) Os serviços embasados em colheita


automática de metadados (harvesting) são assíncronos e menos sofisticados que os providos
pelas federações, sendo a sobrecarga sobre os participantes consideravelmente menor.

Curso Regular de Desenvolvimento de Software 128

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

LISTA DE EXERCÍCIOS COMENTADOS (DIVERSAS BANCAS)

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.

c) Poucas aplicações orientadas a serviços atuais utilizam como protocolo de comunicação o


SOAP, que é um protocolo baseado em XML com suporte à conexão.

d) WSDL refere-se a um documento escrito em XML que descreve um serviço, mas não
especifica como acessá-lo.

e) BPEL é uma linguagem de programação para especificação de processos de negócios que


envolvam Web Services. Utiliza apenas a técnica de coreografia para fazer a composição de
serviços.

Curso Regular de Desenvolvimento de Software 129

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

2. (FCC - 2012 - TJ-PE - Técnico Judiciário - Programador de Computador) No tocante a


arquitetura orientada a serviços, mais especificamente a serviços web (webservices),
considere:

I. Estes serviços proporcionam um padrão de interoperação entre aplicações, podendo ser


executados em várias plataformas.

II. Outros sistemas interagem com esse serviço por meio de mensagens no protocolo SOAP,
tipicamente enviadas por HTTP.

III. O objetivo deste serviço é proporcionar alguma funcionalidade em favor de seu


proprietário (pessoa ou organização).

Está correto o que se afirma em:

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.

Os itens I, II, III e IV, referem-se, respectivamente, a:

a) CSS, SNMP, WSDL e FDDI.


b) XML, SOAP, WSDL e UDDI.
c) HTML, UDP, REST e FDDI.
d) XML, SNMP, REST e UDDI.
e) CSS, XHTML, RUBY e UDPP.

Curso Regular de Desenvolvimento de Software 130

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

4. (FCC - 2011 - INFRAERO - Analista de Sistemas - Rede e Suporte) Em relação a Web


services, é INCORRETO afirmar:

a) Foram criados para construir aplicações que são vistas como serviços na internet.

b) Nada mais são do que chamada de métodos usando XML.

c) Independem de plataforma e de linguagem de programação.

d) O serviço Web services inexiste sem o protocolo SOAP.

e) As funções publicação, pesquisa e descoberta são providas pelo WSDL.

5. (FCC - 2010 - MPE-RN - Analista de Tecnologia da Informação - Engenharia de Software)


Protocolo leve para a troca de documentos XML por meio de uma conexão básica de
transporte. Aceita transações sobre objetos distribuídos em um ambiente baseado na Web,
definindo como as RPCs e as respostas podem ser representadas dentro de mensagens. Trata-
se de:

a) WSDL.
b) SOA.
c) SOAP.
d) UDDI.
e) TCP.

6. (FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário - Tecnologia da Informação) Grande


parte das implementações de Service-Oriented Architecture (SOA) utilizam web services.
Neles, os serviços são descritos em linguagem denominada:

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:

Curso Regular de Desenvolvimento de Software 131

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

a) permitem a troca de mensagens através de arquivos no formato WSDL sobre o protocolo


HTTP, permitindo que diferentes programas se comuniquem através da Internet.

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.

e) trocam mensagens através de arquivos HTML, possibilitando que qualquer tipo de


aplicação se comunique com outros Web Services.

8. (FCC - 2012 - TRE-SP - Técnico Judiciário - Programação de Sistemas) O formato XML


utilizado para descrever os serviços de Web services, especificando como acessá-los, e quais
as operações ou métodos que estão disponíveis, é chamado de:

a) XML-RPC.

b) XHTML.

c) SOAP.

d) HTTP.

e) WSDL

Curso Regular de Desenvolvimento de Software 132

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

9. (FCC - 2012 - TJ-PE - Técnico Judiciário - Programador de Computador) No que se refere


aos web services, é correto afirmar:

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:

a) Directory, mecanismo para localizar os serviços na Web.

b) Discovery, solicita descoberta de documento.

c) Description, descrição dos serviços para definição de como usá-los.

d) Wire format, solicita o serviço e recebe a resposta.

e) Relationship, relacionamento entre os usuários, corretores e fornecedores de serviços.

Curso Regular de Desenvolvimento de Software 133

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

a) SAML (Security Assertion Markup Language).

b) UDDI (Universal Description Discovery and Integration).

c) XHTML (eXtensible Hypertext Markup Language).

d) XML (eXtensible Markup Language).

e) WSDL (Web Service Description Language).

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

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Está correto o que consta em:

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:

Protocolo que define:

I. uma organização para a troca estruturada de dados entre Web services;


II. como as interfaces dos Web services podem ser representadas.

São, respectivamente,

a) HTTP e XML.

b) SOAP e WSDL.

c) SOAP e XSL.

d) DOM e COM+.

Curso Regular de Desenvolvimento de Software 135

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

c) Domain Name System.

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:

Curso Regular de Desenvolvimento de Software 136

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

b) As operações que o serviço apoia.

c) Os parâmetros que o serviço espera.

d) Os detalhes das mensagens do serviço.

e) Os meios para publicar e localizar o serviço.

19. (FCC - 2012 - TRE-SP - Analista Judiciário - Análise de Sistemas) Com relação ao SOAP,
analise:

I. Envelope: É o elemento raiz do documento XML. Pode conter declarações de namespaces


e também atributos adicionais como o que define o estilo de codificação (encoding style).

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.

IV. Fault: Contém as informações dos erros ocorridos no envio da mensagem.

São elementos obrigatórios em uma mensagem SOAP o que consta em:

Curso Regular de Desenvolvimento de Software 137

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

a) I e II, apenas.

b) I e III, apenas.

c) I, II e III, apenas.

d) II, III e IV, apenas.

e) I, II, III e IV.

20. (FCC - 2010 - TRE-RS - Analista Judiciário - Analista de Sistemas Suporte) SOAP é:

I. um protocolo de comunicação leve destinado a troca de informações estruturadas em um


ambiente distribuído.

II. dependente de plataforma e linguagem de programação.

III. baseado em XHML.

IV. uma recomendação da W3C.

Está correto o que consta em:

a) III e IV, somente.

b) II e III, somente.

c) I e IV, somente.

d) II, III e IV, somente.

e) I, II, III e IV.

21. (FCC - 2008 - MPE-RS - Técnico em Informática - Área Sistemas) A identificação do


documento XML, como uma mensagem SOAP, está contida no elemento da estrutura SOAP
denominado:
Curso Regular de Desenvolvimento de Software 138

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

da interação de novas aplicações com as já existentes;


da compatibilidade de sistemas desenvolvidos em plataformas diferentes;
de as chamadas às operações, incluindo os parâmetros de entrada/saída, serem codificadas
em um determinado protocolo;
de as 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, 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:

I. interação de novas aplicações com as já existentes.

II. compatibilizar sistemas desenvolvidos em plataformas diferentes.

III. serem codificadas em um determinado protocolo, incluindo os parâmetros de


entrada/saída.

IV. aplicações enviarem e receberem dados por meio de uma linguagem em formato
padronizado.

Curso Regular de Desenvolvimento de Software 139

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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:

I. UDDI é um diretório de serviços web descrito por WSDL.


II. WSDL pode ser usado para descrever serviços SOAP.
III. O UDDI é um diretório de descrições SOAP.

As assertivas corretas são:

a) somente I.
b) somente I e II.
c) somente I e III.
d) somente II e III.
e) I, II e III.

25. (FGV – 2010 – ARE/AP – Analista de Sistemas) Originalmente SOAP representava um


protocolo para troca de informações estruturadas em uma plataforma descentralizada e
distribuída, utilizando tecnologias baseadas em um determinada linguagem. Foi importante
para o desenvolvimento de aplicações para permitiram a comunicação via Internet entre
programas, empregando o Remote Procedure Calls (RPC) entre objetos como DCOM e
CORBA.

Atualmente, SOAP provê um caminho de comunicação entre aplicações "rodando" em


diferentes sistemas operacionais, com diferentes tecnologias e linguagens de programação.

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

Curso Regular de Desenvolvimento de Software 140

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

26. (FGV – 2015 – TCE/SE – Analista de Sistemas) Uma mensagem no protocolo SOAP (simple
object access protocol) é um documento XML contendo os seguintes elementos:

a) Identification, Environment, Data, Procedure;


b) Constant, Type, Variable, Description;
c) Header, Contents, Adendum, Fault;
d) Envelope, Header, Body, Fault;
e) Prologue, Directory, Contents, Epilogue.

27. (ESAF - 2016 – ANAC – Analista de Sistemas) São tecnologias essenciais para Web Services:

a) Protocolo HSTP. XML. SIP. WSDL. UMDI.


b) Protocolo HTTP. RML. SOAP. WDLL. UDDI.
c) Protocolo TC/IP. XML. SORP. WSDL. UDTS.
d) Protocolo HTIP. XDL. SO2AP. WSDD. UDDI.
e) Protocolo HTTP. XML. SOAP. WSDL. UDDI.

28. (FCC - 2012 – Metrô/SP - Analista de Sistemas – A) WS-Security, um conjunto de padrões


que apoiam a proteção de web services, incluindo padrões que especificam a definição de
políticas de proteção e padrões que cobrem o uso de assinaturas digitais.

29. (FGV - 2018 – COMPESA - Analista de Tecnologia da Informação) Relacione os conceitos


listados a seguir, definidos nas especificações sobre Web Services publicadas pela W3C, às suas
respectivas definições ou características

1. SOAP
2. WSDL
3. Service Description (Descrição do Serviço)
4. Biding Operation

( ) Descreve o(s) formato(s) de mensagem e protocolo(s) de interação(ões) associados a uma


operação de interface para um endpoint específico.

( ) É um protocolo baseado em XML que consiste em três partes: um envelope; um conjunto


de regras de codificação para expressar instâncias de tipos de dados definidos pelo aplicativo;
e uma convenção para representar chamadas e respostas de procedimentos remotos.

Curso Regular de Desenvolvimento de Software 141

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

( ) Contém a descrição processável por máquina das mensagens que são trocadas por um
Serviço (Web Service)

( ) É um documento XML que contém um conjunto de definições para descrever ou localizar


um Serviço Web (Web Service).

Assinale a opção que mostra a relação correta, segundo a ordem apresentada.

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.

I. A confidencialidade dos dados é implementada através do criptografia XML (conforme


definido na especificação XML Encryption da W3C).

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.

Curso Regular de Desenvolvimento de Software 142

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

Está correto o que se afirma em:

a) I, somente

b) II, somente

c) III, somente

d) I e II, somente.

e) I, II e III.

Curso Regular de Desenvolvimento de Software 143

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

LISTA DE 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.

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.

3. (CESGRANRIO - 2007 – REFAP/AS - Analista de Sistemas) O estilo arquitetural REST


(Representational State Transfer) para WEB tem como característica:

a) permitir o uso de RPC diretamente sobre SSL, para aplicações seguras.


b) acelerar a transferência do FTP com a implementação de cache.
c) combater o SPAM, utilizando redes neurais como técnica de aprendizagem.
d) usar SOAP para interoperabilidade entre sistemas heterogêneos.
e) utilizar os métodos HTTP: GET, POST, PUT e DELETE.

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.

5. (CESPE - 2015 – MEC - Analista de Sistemas) A fim de implementar serviços em REST,


recomenda-se utilizar os WSDL já existentes com mínima alteração do cabeçalho,
informando somente que o protocolo a ser utilizado é o REST.

6. (MPE/RS - 2012 – MPE/RS - Analista de Sistemas) Considere as seguintes afirmações a


respeito de REST (Representational State Transfer).

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

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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.

Quais estão corretas?

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.

a) O método POST é utilizado na atualização de um recurso existente.

b) Pode-se utilizar qualquer meio de transporte existente para o envio de uma requisição,
incluindo HTTP, SMTP e TCP.

c) O modelo REST impõe restrições ao formato da mensagem.

d) Ao desenvolver uma aplicação, o recurso é transferido pela rede.

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.

8. (CESPE - 2015 – TRE/MT - Analista de Sistemas) Acerca de REST (representational state


transfer), assinale a opção correta.

a) O protocolo REST utiliza SOAP e XML.

b) REST utiliza recurso não identificável baseado em PUT e GET.

c) REST pode ser utilizado para implementar WebServices de baixo overhead.

Curso Regular de Desenvolvimento de Software 145

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

d) Embora opcionalmente, um recurso REST pode conter uma URI.

e) REST consiste em um estilo de desenvolvimento baseado em complexa interação


cliente/servidor.

9. (CESPE - 2016– TRE/PI - Analista de Sistemas) Acerca de REST (Representational State


Transfer), assinale a opção correta.

a) Na implementação do REST, todos os recursos devem responder a todos os métodos.

b) O método GET permite obter e alterar o estado atual de um recurso.

c) O método EXPUNGE permite excluir um recurso.

d) A arquitetura de comunicação entre aplicações baseia-se em um modelo rígido de recursos


e localizações.

e) O método MODIFY permite alterar um recurso.

10. (CESGRANRIO - 2008 – PETROBRÁS - Analista de Sistemas) A interoperabilidade entre


aplicações nos dias atuais é fortemente baseada no uso de web services. Duas abordagens
arquiteturais distintas para o projeto e implementação de web services têm-se firmado no
cenário de tecnologia. São elas:

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-

Curso Regular de Desenvolvimento de Software 146

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

a-par, manutenção de informações de estado, não uso de cache no cliente e apresentação de


uma interface uniforme.

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.

Curso Regular de Desenvolvimento de Software 147

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

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 sistema deverá ser integrado, interoperável, portável e seguro.


- O sistema deverá apoiar tanto o processamento online, quanto o suporte a decisão e gestão
de conteúdos.
- O sistema deverá ser embasado na plataforma JEE (Java enterprise edition) v.6, envolvendo
servlets, JSP (Java server pages), Ajax, JSF (Java server faces) 2.0, Hibernate 3.5, SOA e web
services.

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:

Curso Regular de Desenvolvimento de Software 148

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

O estilo de arquitetura de software denominado REST (representational state transfer)


demanda mais recursos computacionais que o modelo de desenvolvimento de sistemas
embasado em SOAP (single object access protocol), por isso não é recomendável a adoção do
padrão REST de arquitetura de software no desenvolvimento do sistema em questão.

25. (CESPE – 2015 – MEC - Analista de Sistemas) As principais características do REST


(representationl state transfer) são interface uniforme, stateless e cache.

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... .

As lacunas I, II e III são, correta e respectivamente, preenchidas por:

a) TCP/IP - caches - PUT, GET, POST e DELETE


b) XML/JSON/RSS/Atom - URIs - CRUD stateless: Create, Read, Update, Delete
c) HTTP/HTTPS - URIs - PUT, GET, POST e DELETE
d) XML/JSON/RSS/Atom - URLs - CRUD stateless: Create, Read, Update, Delete
e) HTTP/HTTPS - caches - CRUD stateless: Create, Read, Update, Delete

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:

a) na multiplicidade de representação de recursos, utilizando apenas os métodos padrão do


protocolo HTTP (GET, POST, PUT, DELETE, etc);

Curso Regular de Desenvolvimento de Software 149

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

b) na multiplicidade de representação de métodos, utilizando apenas os recursos padrão do


protocolo HTTP (GET, POST, PUT, DELETE, etc);

c) em utilizar o protocolo SOAP sobre o protocolo HTTP;

d) na segurança por meio do protocolo HTTPS 2.0;

e) na integração baseada em troca de mensagens assíncronas por meio de web-sockets.

29. (CESPE – 2017 – TRE/PE - Analista de Sistemas) REST (Representational State Transfer) é:

a) um estilo de desenvolvimento que utiliza o protocolo HTTP e se baseia na interação simples


entre cliente e servidor.

b) um software de infraestrutura em um sistema distribuído que auxilia no gerenciamento de


interações entre entidades distribuídas em serviços web.

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.

d) uma linguagem de programação com tipos dinâmicos, voltada principalmente para


desenvolvimento de aplicações web.

e) um modelo de desenvolvimento de software estruturado e organizado como um conjunto


de classes de objeto e de relações entre essas classes.

Curso Regular de Desenvolvimento de Software 150

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

GABARITO

GABARITO DOS EXERCÍCIOS COMENTADOS (CESPE)


WEB SERVICES

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

GABARITO DOS EXERCÍCIOS COMENTADOS (DIVERSAS BANCAS)


WEB SERVICES

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

Curso Regular de Desenvolvimento de Software 151

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

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
1837323

GABARITO DOS EXERCÍCIOS COMENTADOS (DIVERSAS BANCAS)


REST

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

Curso Regular de Desenvolvimento de Software 152

www.estrategiaconcursos.com.br 152

Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital


www.estrategiaconcursos.com.br

00774823100 - Juliana Souza Ferreira

Você também pode gostar