Buscar

Aula 14 - Profs Pedro Freitas e Raphael Lacerda

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 153 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 153 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 153 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

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
Aula 14 - Profs. Pedro Freitas e
Raphael Lacerda
26 de Abril de 2021
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 1 
152 
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 
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 
 
 
 
 
 
 
 
 
 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 2 
152 
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. 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 3 
152 
A disponibilização de um serviço ocorre por meio de um contrato, que é uma interface que 
disponibiliza suas funcionalidades, com uma infraestrutura leve e desacoplada de plataforma que 
facilita a integração em diferentes tecnologias. Esta tecnologia possibilita que novas aplicações 
possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas 
diferentes sejam compatíveis. 
 
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. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 4 
152 
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 é definidaatravé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. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 5 
152 
O WS-* é composto atualmente por diversas especificações: Segurança (Ex: WS-Security, WS-
Trust, WS-Encryption, WS-SecureConversation); Políticas (Ex: WS-Policy, WS-
PolicyAssertions); Processos de Negócio (Ex: WS-CDL, WS-BPEL); entre outros. Galera, são 
dezenas de especificações de diversos tipos – não vale a pena ver todos, vamos ver por 
curiosidade apenas alguns deles: 
 
 
▪ WS-Security: esta especificação define como anexar uma assinatura digital, usar criptografia e 
usar tokens de segurança em mensagens SOAP. 
▪ WS-Policy: esta especificação define o idioma utilizado para descrever limitações de segurança 
e a política de intermediários ou nós de extremidade. 
▪ WS-Trust: essa especificação define uma estrutura para modelos confiáveis para estabelecer a 
confiança entre os serviços web. 
▪ WS-Privacy: essa especificação define um modelo de como expressar uma política de 
privacidade para um serviço web e um solicitante. 
▪ WS-SecureConversation: essa especificação define como trocar e estabelecer um contexto 
assegurado, que deriva de chaves de sessão entre os serviços web. 
▪ WS-Authorization: essa especificação define as políticas de autorização para um serviço web 
(web service). 
 
Nessa aula, vamos nos ater aos Web Services de Primeira Geração! Utilizar serviços através da 
rota dos Web Services basicamente envolve três categorias de participantes: Provedor de 
Serviço, Solicitante do Serviço e Agente de Serviço (em inglês, Service Provider, Service 
Requester e Service Broker) – basta lembrar do modelo arquitetônico triangular (Find-Bind-
Execute). 
 
Um provedor de serviços seria, por exemplo, uma indústria, negócio ou empresa, capaz de criar e 
fornecer serviços baseados em software. Do mesmo modo, um solicitante de serviços seria 
uma empresa ou um negócio que gostaria de usar o serviço. Por outro lado, o agente seria um 
lugar, entidade ou sistema, que ajuda o solicitante de serviços a descobrir o provedor de serviços. 
 
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 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 6 
152 
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 
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... 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
==1c090b==
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 7 
152 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 8 
152 
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. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 9 
152 
 
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: 
 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 10 
152 
▪ 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! 
 
 
 
 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 11 
152 
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. 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 12 
152 
O Web Service, quando recebe esta mensagem, valida-a conforme as informações contidas 
no documento WSDL. A partir daí, o serviço remoto sabe como tratar e processar a mensagem 
e como responder ao cliente. O WSDL possui um elemento-raiz do documento chamado 
Description, que se trata de um contêiner de duas categorias de alto nível: WSDL 2.0 e Type 
System. 
 
O WSDL 2.0 é formado pelos componentes Interface, Binding e Service; já o Type System é 
formado pelos componentes Element Declaration e Type Definition. O Element Declarations 
é um conjunto de declarações de elementos, como definido por um XML Schema. Já o Type 
Definitions é um conjunto de definições de tipos de dados – ele é obrigatório (Não confundam 
com o elemento <types>). 
 
COMPONENTE DESCRIÇÃO 
 
interface 
Esse componente descreve sequências de mensagens que um serviço envia 
e/ou recebe. Ele o faz agrupando mensagens relacionadas em operações (é 
o antigo <portType>). Interface → Operações → Mensagensbinding 
Esse componente descreve o formato de mensagens e protocolos de 
transmissão que podem ser usados para definir um endpoint. Ele define 
detalhes de implementação necessários para acessar um serviço. 
 
service 
Esse componente descreve um conjunto de endpoints em uma 
implementação particular do serviço que é fornecido. Endpoints são lugares 
alternativos em que serviços são fornecidos. 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 13 
152 
 
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. 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 14 
152 
De acordo com George Coulouris, os documentos WSDL completos podem ser acessados por 
meio de seus URIs por clientes e servidores, direta ou indiretamente, por intermédio de um 
serviço de diretório como o UDDI. Estão disponíveis ferramentas para gerar definições WSDL 
a partir de informações fornecidas por meio de uma interface gráfica com o usuário. 
 
Elas fazem isso ao eliminar a necessidade de envolvimento dos usuários com os detalhes 
complexos e com a estrutura do WSDL. As definições WSDL também podem ser geradas a partir 
de definições de interface escritas em outras linguagens, como JAX-RPC. Ele não define 
características não-funcionais do serviço (Ex: tempo de resposta, escalabilidade, segurança). 
Ademais, define quatro tipos de operações: 
 
TIPO DEFINIÇÃO 
ONE-WAY A operação pode receber uma mensagem, mas não retornará uma 
resposta. 
REQUEST-RESPONSE A operação pode receber uma requisição e retornará uma resposta. 
 
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. 
 
 
 
 
 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 15 
152 
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: 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 16 
152 
 
 
As Páginas Brancas contêm informações gerais sobre a organização que está oferecendo o 
serviço, tais como: nome do negócio e descrição do negócio (de preferência, em diversas línguas). 
Utilizando essas informações, é possível encontrar algum serviço sobre o qual já se pode 
conhecer algumas informações. Há também informações de contato do negócio (Ex: Endereço, 
Telefone, Fax, Identificadores). 
 
As Páginas 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. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
InformáticaAvançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 17 
152 
 
 
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. 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 18 
152 
O Binding Template é um conjunto de descrições técnicas dos Web Services representados por 
uma estrutura de serviços de negócio – ele indica, por exemplo, como se conecta ao serviço. Por 
fim, o tModel representa um modelo técnico, i.e., uma maneira de descrever os vários 
negócios, serviços, estruturas de template e informações externas (Ex: WSDL) armazenados 
dentro de um Registro UDDI. 
 
 
 
 
 
 
 
 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 19 
152 
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. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 20 
152 
 
Com os recursos oferecidos pela iniciativa, é possível melhorar significativamente a precisão das 
consultas eletrônicas e reduzir o tempo de procura, graças ao compartilhamento de informações 
(metadados) entre os participantes da iniciativa. A interoperabilidade entre bases de dados tem 
o objetivo de promover o acesso simultâneo aos dados contidos nestes repositórios de forma 
a maximizar a pesquisa. 
 
O protocolo OAI-PMH (Open Archives Initiative Protocol for Metadata Harvesting) vem se 
consolidando como a base para a interoperabilidade entre bibliotecas e repositórios digitais 
acadêmicos e científicos no mundo todo. Através do OAI-PMH, é possível proporcionar 
visibilidade e integração de informações (metadados), com custos acessíveis à realidade de 
países em desenvolvimento, como o Brasil. 
 
Então, vamos lá! Em 1999, surgiu a Open Archives Initiative (OAI), que buscava desenvolver e 
promover soluções de interoperabilidade que facilitassem uma disseminação eficiente de 
conteúdo. Para tal, foi criado um protocolo aberto, independente de conteúdo, chamado OAI-
PMH que faz com que participantes da iniciativa possam compartilhar seus metadados. 
 
Lembrando que metadados são dados sobre dados, isto é, informações que descrevem 
informações dos registros dos repositórios (similar a um dicionário) – no caso, documentos 
eletrônicos. Para tal, ele segue um padrão que contém, entre outros, título, autor, resumo, 
palavras-chaves, etc. Os participantes da Iniciativa são divididos em Provedores de Dados (DP) e 
Provedores de Serviços (SP). 
 
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? 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
CursoRegular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 21 
152 
 
Provedores de Serviços (SP) realizam periodicamente uma busca a Provedores de Dados (DP) – 
registrados em uma lista na OAI – para colher metadados para exibição sob a forma de consultas 
efetuadas pelos usuários. Essa busca pode ser geral ou baseada em alguns critérios, tais como 
Date-Based (baseados em data) ou Set-Based (baseados em conjuntos). 
 
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. 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 22 
152 
Como a busca é executada em uma cópia local dos metadados, resultados podem ser 
retornados com baixíssima latência. Além disso, como o harvesting é feito periodicamente, 
mesmo que qualquer biblioteca esteja indisponível, ainda é possível buscar seus metadados. 
Quanto à especificação de web services, existem diversas categorias de especificações diferentes. 
 
Estas especificações estão em diferentes graus de maturidade e são mantidas ou apoiadas por 
vários órgãos e entidades de normatização. Esta variedade de especificações é a estrutura básica 
de web services estabelecido pelos padrões de primeira geração representada por WSDL, SOAP e 
UDDI. As especificações podem se complementar, se sobrepor e competir umas com as 
outras. 
 
Especificaçõ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. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 23 
152 
WS-Trust Provê extensões ao WS-Security, especificamente para lidar com 
emissão, renovação e validação de tokens de segurança. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 24 
152 
WS-SECURITY (WSS) 
 
Vamos lá! Pensem comigo: eu falei alguma vez sobre segurança de Web Services? Não, porque o 
Protocolo SOAP não prevê a proteção de mensagens, deixando essa tarefa para 
especificações estendidas! Ora, mas SOAP é um protocolo que roda (na maioria dos casos2) sobre 
o protocolo HTTP! É verdade, você tem razão! Ele é utilizado para troca de mensagens entre dois 
nós. 
 
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). 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 25 
152 
 
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çaem 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. 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 26 
152 
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-
RESPONSE 
A operação pode receber uma requisição e retornará uma 
resposta. 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 27 
152 
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. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 28 
152 
 
a) O WS-Security propõe uma série de extensões para aprimorar a segurança dos web services 
no UDDI e no WSDL. Por questão de compatibilidade, essas extensões não afetam os 
cabeçalhos do envelope SOAP. 
 
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. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 29 
152 
 
(c) Conforme vimos em aula, ele descreve o serviço, especifica como acessá-los e seus métodos e 
operações disponíveis. 
 
Nós não dissemos ainda se SOAP é um protocolo Stateful ou Stateless, mas antes de descobrir, 
temos que saber o que são esses conceitos. Stateful significa que o servidor armazena informações 
sobre o cliente e as utiliza em diversas requisições. Stateless é justamente o contrário, i.e., o estado 
do serviço não é persistido entre requisições subsequentes. O HTTP e o SOAP, por default, são 
protocolos stateless. 
 
(d) Conforme vimos em aula, SOAP é – por default – stateless. Além disso, a questão escreveu 
statefull, em vez de stateful. Ele realmente é independente de sistema operacional, mas pode 
realizar trocas de mensagens de diversas maneiras – sendo o tipo Request-Response muito mais 
comum que o tipo One-Way. 
 
Agora que já sabemos o que é uma arquitetura e o que é um serviço, podemos juntá-los! A OASIS3 
define Arquitetura Orientada a Serviços como um paradigma para organização e utilização de 
recursos distribuídos que estão sob o controle de diferentes domínios proprietários, permitindo 
que funcionalidades implementadas sejam disponibilizadas na forma de serviços fracamente 
acoplados. 
 
(e) Conforme vimos em aula, não é uma arquitetura de desenvolvimento – é uma arquitetura 
corporativa. Além disso, serviços devem ser fracamente acoplados. 
 
Gabarito: B 
 
 
3 OASIS (Organization for the Advancement of Structured Information Standards) é um 
consórcio global que conduz o desenvolvimento, convergência e adoção de padrões para e-
business e web services. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 -Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 30 
152 
5. (CESPE - 2011 - MEC - Gerente de Projetos) O UDDI (Universal Description Discovery and 
Integration), que corresponde a um registro de web services, é dividido em páginas brancas, 
amarelas e verdes, nas quais são prestadas aos clientes informações sobre a empresa, os 
serviços por ela oferecidos e as especificações WSDL desses serviços. 
 
Comentários: 
 
 
 
O UDDI descobre serviços por meio de registries, que são repositórios logicamente centralizados e 
fisicamente distribuídos que contêm documentos descritores dos dados do negócio. As informações 
capturadas no contexto do UDDI são classificadas em três categorias principais: Páginas Brancas, 
Páginas Verdes ou Páginas Amarelas, como mostra a imagem abaixo com seus respectivos 
exemplos: 
 
Conforme vimos em aula, a questão trata respectivamente das páginas brancas, amarelas e 
verdes. 
 
Gabarito: C 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 31 
152 
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); 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 32 
152 
 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 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 33 
152 
 
9. (CESPE - 2011 - PREVIC - Analista de Tecnologia da Informação) Web Services são sistemas 
embasados na Web que oferecem serviços gerais para aplicações remotas, não requerendo 
interações imediatas de usuários finais. 
 
Comentários: 
 
Sabemos que Web Services são sistemas embasados na web que oferecem serviços gerais para 
aplicações remotas, não requerendo interações imediatas de usuários finais – em geral a interação é 
máquina-máquina ou aplicação-aplicação. Além da definição, é bom saber a descrição dos três 
padrões fundamentais que possibilitam as comunicações, isso sozinho resolve uma pancada de 
questões: 
 
Conforme vimos em aula, a maioria das aplicações são desenvolvidas para interagir com usuários; 
o usuário entra ou procura um dado por meio de uma interface e a aplicação responde à entrada 
do usuário. Um Web Service faz mais ou menos a mesma coisa, no entanto ele se comunica 
máquina à máquina ou aplicação à aplicação - em geral, não se tem interação direta do usuário 
com o Web Service. Logo, não se exige interação imediata de usuários finais. 
 
Gabarito: C 
 
10. (CESPE - 2010 - MPU - Técnico de Informática) A descrição de um web service é feita 
utilizando-se WSDL (Web Services Description Language), que é uma linguagem embasada 
em RPC (Remote Procedure Call) e UDDI (Universal Description Discovery and Integration), 
com a qual se descreve a forma de acesso dos serviços e seus parâmetros de entrada e de 
saída. 
 
Comentários: 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 34 
152 
Entre outras utilizações, SOAP foi desenhado para encapsular e transportar Chamadas RPC e, 
para isto, utiliza-se dos recursos e flexibilidade do XML, sob HTTP. Por meio do RPC, pode-se 
acessar os serviços de um objeto localizado em um outro ponto da rede, através de uma chamada 
local a este objeto. Cada chamada ou requisição exige uma resposta. 
 
Conforme vimos em aula, esse item não faz o menor sentido! WSDL é uma linguagem de 
descrição – quem realiza Chamadas RPC é o SOAP. 
 
Gabarito: E 
 
11. (CESPE - 2008 - TRT - 5ª Região (BA) - Analista Judiciário - Tecnologia da Informação) O 
UDDI é uma especificação técnica que tem como objetivo descrever, descobrir e integrar web 
services; é embasado na tecnologia XML, que fornece uma plataforma neutra de dados e 
permite descrever relações hierárquicas de modo natural. 
 
Comentários: 
 
O QUE É UDDI? 
Trata-se de uma especificação técnica que tem como objetivo descrever, descobrir e 
integrar Web Services. 
 
Pessoal, não confundam uma coisa: WSDL não fica efetivamente no UDDI, mas lá existem 
referências para ele! Ok? A UDDI 3.0.2 (versão mais recente) possui um Modelo de Informação 
Estruturada: Core Data Structure. Ele é composto por uma estrutura hierárquica formada por: 
Entidade de Negócio (Business Entity), Serviço de Negócio (Business Service), Template de 
Ligação (Binding Template) etModel. 
 
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! 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 35 
152 
 
Gabarito: C 
 
12. (CESPE - 2008 - STJ - Analista Judiciário - Tecnologia da Informação) O serviço UDDI 
fornece uma interface para publicar e atualizar informações acerca de serviços web; 
possibilita pesquisar descrições WSDL pelo nome; provê uma interface que possibilita 
executar consultas de modo a recuperar uma entidade que corresponda a uma chave ou 
recuperar entidades que correspondam a um conjunto de critérios de busca. 
 
Comentários: 
 
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: 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 36 
152 
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: 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 37 
152 
 
SOAP encapsula mensagens que podem ser transmitidas via HTTP? Sim, assim como outros 
protocolos de comunicação. Permite o modelo de interação cliente-servidor? Define como usar XML 
para representar mensagens de requisição e resposta? Sim, utiliza um paradigma de 
requisição/resposta, típico de aplicacões cliente-servidor. Um documento XML é transportado no 
corpo de uma mensagem SOAP? Sim, ele encapsula um documento XML. O corpo de uma 
mensagem SOAP pode conter uma requisição, mas não uma resposta? Não, entre outras 
utilizações, SOAP foi desenhado para encapsular em e transportar em seu corpo chamadas de 
RPC, que faz uma requisição e exige uma resposta. 
 
Gabarito: E 
 
15. (CESPE - 2008 - TRT - 5ª Região (BA) - Analista Judiciário - Tecnologia da Informação) No 
SOA, os web services permitem que os aplicativos se comuniquem entre si de modo 
independente da plataforma e da linguagem de programação. Os web services utilizam WSDL 
para descrever interfaces de aplicativos na linguagem XML. 
 
Comentários: 
 
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 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 38 
152 
services utilizam WSDL para descrever interfaces de aplicativos na linguagem XML? Sim, porque 
WSDL é escrito em XML. Logo, a questão está correta! A banca voltou atrás? Não :( 
 
Gabarito: E 
 
16. (CESPE - 2008 - TRT - 5ª Região (BA) - Analista Judiciário - Tecnologia da Informação) Na 
visão do SOA, XML e WSDL são padrões abertos que permitem que os serviços se 
comuniquem de maneira homogênea, independentemente da plataforma de hardware, do 
sistema operacional e da linguagem de programação nosquais 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). 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 39 
152 
 
Comentários: 
 
O QUE É SOAP? 
Trata-se de um protocolo que define uma organização para a troca estruturada de dados 
entre Web Services. 
 
O QUE É WSDL? 
Trata-se de um protocolo baseado em XML para troca de informações em ambientes 
distribuídos e descentralizados (Sim, alguns o consideram um protocolo!). 
 
O QUE É UDDI? 
Trata-se de um padrão de descoberta que define como são organizadas as informações de 
descrição do serviço, permitindo que os solicitantes descubram os serviços. 
 
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) 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 40 
152 
Baseado em XML, define como as interfaces dos Web Services podem ser 
representadas. 
UDDI (UNIVERSAL DESCRIPTION, DISCOVERY AND INTEGRATION): 
Baseado em XML, trata-se do padrão de descobrimento que define como as 
informações podem ser organizadas. 
 
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. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 41 
152 
 
Comentários: 
 
De acordo com George Coulouris, os documentos WSDL completos podem ser acessados por meio de 
seus URIs por clientes e servidores, direta ou indiretamente, por intermédio de um serviço de diretório 
como o UDDI. Estão disponíveis ferramentas para gerar definições WSDL a partir de 
informações fornecidas por meio de uma interface gráfica com o usuário. 
 
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: 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 14 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 42 
152 
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

Outros materiais