Buscar

Web Services: Conceitos e Funcionalidades

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 42 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 42 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 42 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aula 32 (Profs Diego
Carvalho e Fernando
Pedrosa)
Concursos da Área Fiscal - Curso Básico
de Tecnologia da Informação - 2023
Autor:
Fernando Pedrosa Lopes , Thiago
Rodrigues Cavalcanti, Erick
Muzart Fonseca dos Santos,
Paolla Ramos e Silva , Diego
Carvalho, Renato da Costa, Equipe
Informática e TI
12 de Junho de 2023
https://t.me/kakashi_copiador
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Índice
..............................................................................................................................................................................................1) WS e REST 3
..............................................................................................................................................................................................2) Questões Comentadas - WS e REST - Multibancas 25
..............................................................................................................................................................................................3) Lista de Questões - WS e REST - Multibancas 35
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
2
42
WEB SERVICES 
Conceitos Básicos 
INCIDÊNCIA EM PROVA: média 
 
Como esse é um tema mais técnico, eu vou precisar fazer uma grande contextualização para que 
o assunto faça sentido para vocês. Quando começaram a surgir as primeiras redes de 
computadores, o processamento de dados era centralizado em poucos servidores que não se 
comunicavam entre si. Com o passar do tempo, foram surgindo redes em todo lugar – tanto 
pública quanto privada –, formando esse emaranhado de redes que existem atualmente. 
 
Essas redes começaram a se comunicar e as aplicações que hospedadas em poucos servidores 
passaram a ser hospedadas de forma distribuída em vários servidores – surgiram, então, as 
aplicações distribuídas. Ora, aplicações diferentes dentro de uma mesma organização 
precisavam se comunicar, assim como aplicações de organizações diferentes. Para resolver esse 
problema, surgiram os Web Services (Serviços Web). 
 
Os web services têm a missão de fazer a integração sistemas heterogêneos. Como assim, 
professor? Softwares são desenvolvidos com linguagens de programação diferentes (Ex: Java, 
Python, C, Go, JavaScript), para arquiteturas diferentes (Ex: x86, x64), para sistemas 
operacionais (Ex: Windows, Linux, MacOS), para dispositivos diferentes (Ex: Desktop, Mobile), 
entre outros. Ora, como fazer tudo isso se comunicar? Por meio dos Web Services! 
 
Agora vamos destrinchar esse ponto: o que é um serviço no contexto de engenharia de software? 
Trata-se de um mecanismo que permite acessar um conjunto de recursos, no qual o acesso é 
fornecido por meio de uma interface descrita e exercitada consistentemente de acordo com 
restrições e políticas especificadas pela descrição do serviço. Professor, eu não compreendi uma 
palavra do que você disse! Calma, aos poucos isso vai fazer sentido! Vamos ver outras definições: 
 
Definições de Web Services 
Web Services tratam da disponibilização de um serviço pela internet que pode ser acessado em qualquer lugar. 
 
Web Services são componentes de aplicativos baseados em XML, autocontidos e autodescritivos, que se 
comunicam usando protocolos abertos. 
Web Services são uma interface que descreve uma coleção de operações que são acessíveis pela rede através 
de mensagens XML padronizadas. 
Web Services tratam essencialmente da interoperabilidade entre programas e aplicações – especialmente 
quando eles usam linguagens, ferramentas ou plataformas diferentes. 
Web Services são um sistema de software projetado para permitir interoperabilidade na interação entre 
máquinas através de uma rede. 
Web Services são componentes de software com baixo fator de acoplamento, utilizado por meio de padrões de 
internet. 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
3
42
Web Services representam 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. 
Web Services são soluções utilizadas na integração de sistemas e na comunicação entre aplicações diferentes, 
permitindo que elas enviem e recebam dados. 
 
Web Services são, portanto, componentes de software que permitem a integração de 
aplicações distribuídas desenvolvidas com tecnologias heterogêneas, por meio do 
fornecimento de serviços de baixo acoplamento, protocolos abertos e interfaces bem definidas 
a fim de garantir a comunicação e interoperabilidade no envio e recebimento de dados entre 
máquinas dispostas em redes de computadores. 
 
CARACTERÍSTICA DESCRIÇÃO 
WEB SERVICES SÃO 
AUTOCONTIDOS 
Isso significa que eles não necessitam ou dependem de outros componentes 
para ter uma existência própria. 
Web services são 
autodescritivos 
Isso significa que eles não necessitam de informações externas para expor suas 
funcionalidades. 
Web Services utilizam 
protocolos abertos 
Isso significa que os protocolos não são de propriedade de nenhuma 
organização, são apenas protocolos padrões da internet. 
Web services são fracamente 
acoplados 
Isso significa que a interface do serviço pode mudar sem comprometer a 
capacidade do cliente de interagir com o serviço. 
Web services são 
independentes de tecnologia 
Isso significa que eles são independentes de plataforma, sistema operacional, 
arquitetura de processador, linguagem de programação, entre outros. 
 
Galera, vamos agora fazer uma comparação para ficar mais claro! Há alguns meses, eu (cliente 
de serviço) decidi mudar de operadora de celular (provedor de serviço). Eu fui até o shopping 
mais próximo, entrei na loja específica, escolhi o plano que se adequava às minhas necessidades 
e fui assinar o contrato de serviço. O que é um contrato? É um documento que formaliza um 
acordo entre duas ou mais partes. Qual era o acordo que eu estava firmando? 
 
No meu caso, eu pagaria mensalmente uma quantia em reais todo dia 10. Em troca, eles me 
ofereceriam o serviço de ligações ilimitadas e um pacote de internet. É claro que o contrato tem 
várias outras especificações em relação ao objeto, à prestação do serviço, aos direitos e deveres, 
à contestação de débitos, à suspensão da prestação do serviço, ao extravio do chip, à vigência, à 
rescisão, ao atendimento ao cliente, entre outros. 
 
Agora vejam que a ideia aqui é semelhante: web service é um serviço! Vocês se lembram da 
definição de serviço? Trata-se de um mecanismo que permite acessar um conjunto de recursos, 
no qual o acesso é fornecido por meio de uma interface descrita e exercitada consistentemente 
de acordo com restrições e políticas especificadas pela descrição do serviço. Viram como é 
semelhante ao serviço da operadora de celular? 
 
Ela oferece um mecanismo que permite acessar um conjunto de recursos (ligações e internet), 
no qual o acesso é fornecido por meio de uma interface descrita e exercitada consistentemente 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
4
42
de acordo com restrições e políticas especificadas pela descrição do serviço (contrato).A 
disponibilização de um serviço ocorre por meio de um contrato, que é uma interface padronizada 
que disponibiliza suas funcionalidades. 
 
Qual é a grande vantagem da interface, professor? Galera, a interface permite que dois ou mais 
sistemas se comuniquem de forma transparente, isto é, sem se preocupar com detalhes de 
implementação. Vamos voltar à metáfora: quando eu assino o contrato (interface) com a 
operadora celular, ela não quer saber o que eu vou ter que fazer para pagar o valor mensal e eu 
não quero saber o que ela vai ter que fazer para oferecer o serviço de telefonia e internet móvel. 
 
O que importa para mim é o serviço sendo prestado conforme as condições do contrato e o que 
importa para ela é receber a grana mensalmente na data acordada. É semelhante com os 
serviços web: quando um provedor oferece um serviço a um cliente, o cliente não está nem 
aí para como o serviço será implementado – ele só quer consumir o serviço da forma como 
está descrito em sua interface e ponto final. Essa é a beleza dos serviços web... 
 
Bem, vamos ver um exemplo de Web Service? Vamos! Eu escolhi ver os dados abertos da Câmara 
dos Deputados. Quem quiser acessá-los, acesse o link a seguir: 
 
https://www2.camara.leg.br/transparencia/dados-abertos/dados-abertos-legislativo/webservices/deputados 
 
Notem que essa página apresenta um Web Service! Logo, ela deve possuir uma interface 
(contrato) que define os serviços que são oferecidos por meio de métodos: 
 
 
 
Nesse contexto, nós somos clientes de serviços e a página é o provedor de serviço. Que serviços 
ela oferece? Ela permite listar os deputados em exercício; listar detalhes dos deputados com 
histórico de participação em comissões, períodos de exercício, filiações partidárias e lideranças; 
listar os deputados líderes e vice-líderes em exercício das bancadas dos partidos; listar os 
partidos com representação; e listar os blocos parlamentares. 
 
Professor, como eu faço efetivamente para utilizar esses serviços? Eu preciso saber o endpoint do 
serviço (URL). Notem que a página informa o endereço do endpoint: 
 
 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
5
42
 
Esse endpoint exibe todos os serviços oferecidos, mas é possível acessar cada um 
individualmente. Como, Diego? Basta utilizar os nomes dos métodos exibidos anteriormente: 
 
https://www.camara.leg.br/SitCamaraWS/Deputados.asmx/ObterDeputados 
 
O endereço acima contém ao final o método ObterDeputados, que lista todos os deputados 
dessa casa legislativa. Se eu acessar os detalhes do contrato, vou encontrar algo assim: 
 
 
 
Acima está uma espécie de contrato do Web Service. Como assim, Diego? Ele está dizendo que, 
se eu acessar esse serviço web por meio do endereço apresentado anteriormente (sem nenhum 
parâmetro), ele me retornará a lista de todos os deputados em exercício com diversos dados dos 
deputados, tais como Nome, Matrícula, Sexo, UF, Partido, Gabinete, Anexo, Telefone, E-Mail, 
etc. Vamos fazer um experimento? Testem aí no navegador de vocês – o resultado será algo assim: 
 
 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
6
42
 
O resultado veio em formato XML (formato de dados adotado pela W3C para troca de 
informações entre aplicações distribuídas). Note que ele trouxe diversos dados da deputada 
Benedita Souza da Silva Sampaio. Agora notem: eu (cliente) cumpri a minha parte e fiz uma 
requisição web respeitando o formato do endereço do endpoint e ele fez a parte dele me 
retornando uma resposta que respeita o formato acordado no contrato. Coisa linda, não é? 
 
Vamos fazer um teste um pouco mais complexo agora! Se eu mudar o finalzinho do endereço 
anterior para ObterDetalhesDeputado, eu consigo listar histórico de participações, etc. 
 
https://www.camara.leg.br/SitCamaraWS/Deputados.asmx/ObterDetalhesDeputado 
 
No entanto, vendo os detalhes do contrato desse método, é possível verificar que ele permite 
receber alguns parâmetros de entrada para filtrar os resultados de saída. Vejamos: 
 
 
 
Ela permite inserir o identificador do deputado e o número de sua legislatura para filtrar os 
detalhes do deputado com histórico de participação em comissões, períodos de exercícios, 
filiações partidárias e lideranças. Para visualizar os dados detalhados da deputada Benedita 
Souza da Silva Sampaio, eu vou inserir o seu identificador de cadastro (73701) e o número da 
legislatura (55) – ambos os dados estavam no resultado do serviço web visto anteriormente. 
 
O resultado é apresentado a seguir: é apresentado e-mail, profissão, data de nascimento, estado, 
sexo, partido e, além disso, é mostrado o histórico de quais comissões ela participou nessa 
legislatura (Ex: CREDN – Comissão de Relações Exteriores e de Defesa Nacional – Entrada em 
15/04/2015 e saída em 02/02/2016). Caso eu não informe o parâmetro da legislatura, será 
retornado o histórico de todas as legislaturas de que a deputada participou. 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
7
42
 
 
Está ficando mais claro? Vocês viram que há um contrato que define a interface do serviço web 
disponível e que, caso o cliente faça a requisição do serviço por meio da sintaxe correta do 
endereço de seu endpoint, serão retornadas as informações exatamente de acordo com o que 
estava descrito no contrato. Professor, eu achei muito feio esse formato de saída das informações 
dos web services... 
 
Galera, o formato XML é utilizado para representar e transportar dados de forma que possa 
ser lido tanto por máquinas quanto por humanos. Perceba que a ideia desse formato não é 
exibir uma saída visualmente bonitinha – é simplesmente representar e transportar os dados. 
Aliás, agora vem a grande sacada: caso uma aplicação queira se integrar com as aplicações da 
Câmara dos Deputados, ela poderá fazê-lo por meio por meio de Web Service! Como é, Diego? 
 
Imagine que eu crie uma ONG (Organização Não-Governamental) cujo intuito é fiscalizar o 
trabalho dos deputados federais. Para facilitar o trabalho dos fiscais que eu contratei para a 
minha ONG, seria interessante desenvolver uma aplicação de software. Além disso, é óbvio que 
a minha aplicação deveria ter acesso aos dados oficiais da Câmara dos Deputados! O que eu 
poderia fazer para realizar essa integração? 
 
Eu poderia entrar em contato com área de tecnologia da Câmara dos Deputados e perguntar 
quais tecnologias são utilizadas para fazer a programação, qual é o sistema gerenciador de banco 
de dados utilizado, quais eram os dados disponíveis, entre outros. Para quê? Para tentar fazer 
com que a minha aplicação (que eventualmente pode ser feita utilizando tecnologias diferentes) 
se comunique de forma compatível com a aplicação dessa casa legislativa. 
 
Vamos supor que, por um milagre do destino, eu consiga fazer toda essa integração entre os 
sistemas! O que aconteceria se eventualmente eles mudassem alguma tecnologia? E se eles 
mudassem a implementação do sistema? E se eles mudassem de sistema gerenciador de banco de 
dados? E se eles mudassem o formato de armazenamento dos dados? Tudo isso poderia impactarde forma negativa a integração e a comunicação entre os dois sistemas. 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
8
42
 
O ideal, portanto, seria fazer a integração dos sistemas por meio de um Web Service. A utilização 
de serviços web permite que todas essas mudanças ocorram indiscriminadamente desde que 
a interface (contrato) permaneça a mesma. Como é, Diego? É isso mesmo! A Câmara dos 
Deputados pode fazer a alteração que quiser: se ela mantiver a interface imutável, meu sistema 
sequer vai perceber que houve mudanças – será transparente para ele. 
 
Essa é a grande sacada dos serviços web: aplicações distribuídas que foram desenvolvidas com 
tecnologias completamente diferentes podem ser comunicar por meio de serviços de baixo 
acoplamento, protocolos abertos e interfaces bem definidas. Clientes enviam requisições com 
informações bem definidas e recebem respostas também bem definidas de forma síncrona ou 
assíncrona. E mais: uma vez descrito, padronizado e catalogado, o serviço se torna reutilizável. 
 
Vejam que bacana: o serviço web permite a interoperabilidade entre aplicações distribuídas, não 
é necessário conhecer sua implementação, possibilita a comunicação com novas aplicações ou 
também com aplicações legadas, é reutilizável e independente de tecnologia, utiliza protocolos 
padronizados e padrões abertos (não proprietários), melhora a usabilidade, possui baixo 
acoplamento, reduz os custos, não requer a interação de usuários finais1, entre outros. 
 
 
 
1 Há implementações de Web Services que tratam da interação máquina-máquina ou aplicação-aplicação – sem a obrigatoriedade de interferência 
humana. 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
9
42
Arquitetura de Web Services 
INCIDÊNCIA EM PROVA: média 
 
A arquitetura de Web Services envolve basicamente três categorias de participantes: Provedor 
de Serviço (Service Provider), Solicitante do Serviço (Service Requester) e Agente de Serviço 
(Service Broker). Quem é o provedor de serviço? É qualquer aplicação que forneça serviços web. 
Quem é o solicitante do serviço? É qualquer aplicação que deseje utilizar serviços web. E quem é o 
agente de serviço? É qualquer aplicação que faça a intermediação entre provedor e solicitante. 
 
Quem aí já investiu na bolsa de valores? Para você comprar ou vender ações, é necessário ter 
acesso a um Home Broker! O que é isso? É um sistema que atua na intermediação da compra e 
venda de valores mobiliários de investidores. Por exemplo: eu uso o Home Broker para fazer uma 
oferta de compra de uma ação e outro investidor também o utiliza para fazer uma oferta de 
venda. Se nossas ofertas forem compatíveis, o negócio é fechado! 
 
Com os serviços web, ocorre de maneira bastante semelhante! Um Service Broker faz a 
intermediação entre o Service Provider e o Service Requester. O fornecedor de serviços publica os 
seus serviços disponíveis no agente de serviços e o solicitante pesquisa por serviços que o 
satisfaçam. É importante destacar que quando um fornecedor e um solicitante entram em 
acordo, ocorre o que chamamos de Bind (Vínculo). 
 
Paradigma SOAP 
 
Galera, agora vamos começar a falar de termos mais técnicos! Uma das formas de realizar a 
comunicação entre serviços web é por meio de três padrões fundamentais: 
 
PADRÕES DESCRIÇÃO 
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. 
 
Professor, há outras maneiras de implementar serviços web? Sim, existem outras tecnologias e 
paradigmas – os principais são os Paradigmas SOAP e REST! Vamos iniciar falando sobre o 
primeiro, já que ele é o mais antigo. Bem, a tabelinha apresentada acima é muito muito muito 
importante – ela sozinha permite responder dezenas ou até centenas de questões de provas. 
Essa é a base para os serviços web do Paradigma SOAP. 
 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
10
42
No entanto, com o passar do tempo, começaram a surgir 
algumas lacunas de qualidade – especialmente nas áreas de 
segurança relacionadas a criptografia, assinatura digital, 
autorização, conversação, federação, políticas de 
segurança, privacidade, entre outros. Surgiram, então, 
diversas extensões para fornecer um conjunto sofisticado 
de componentes construídos para suprir essas lacunas. Esse 
conjunto de extensões de segurança ficou conhecido 
como WS-Security. 
 
Em seguida, surgiram outras especificações relacionadas a outros temas, como processos de 
negócio, mensageria, especificação de metadados, especificação de recursos, especificação de 
gerenciamento, interoperabilidade, transações, entre outros. Esse conjunto de especificações 
com suas respectivas extensões foram chamados de WS-*. O que você precisa guardar é que 
o escopo foi aumentando cada vez mais... 
 
SOAP 
INCIDÊNCIA EM PROVA: Altíssima 
 
DEFINIÇÃO DE 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 baseado em XML que define uma organização para a troca estruturada de dados 
entre Web Services. 
 
Um dos motivos que tornam os serviços web tão atrativos é o fato de serem baseados em 
tecnologias padrão. Como assim, Diego? Existe uma organização de padronização da web 
chamada W3C (WWW Consortium). Ela agrega empresas, órgãos governamentais e 
organizações independentes com a finalidade de estabelecer padrões para a criação e a 
interpretação de conteúdos para a web. 
 
Em outras palavras, essa organização recomenda um conjunto de tecnologias e formatos 
aprovados para que sistemas web possam se comunicar sem problemas. Vocês já imaginaram se 
alguém cria um componente em uma página web com uma tecnologia proprietária que eu só consigo 
acessar se eu tiver que pagar por aquela tecnologia? Complicaria toda a interação entre 
componentes web. 
 
A W3C recomenda padrões como XML, HTML, PNG, SVG, XHTML, CSS, etc – todos eles são 
abertos, logo não são de propriedade de nenhuma organização e podem ser utilizados 
livremente. Pois bem... os serviços web utilizam tecnologias padrão da internet como XML e 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
11
42
HTTP. Essas tecnologias são comumenteutilizadas para disponibilizar serviços web, podendo 
ser acessados por outras aplicações. 
 
Nesse contexto, temos o SOAP! Trata-se de um protocolo baseado na linguagem XML para a 
troca de mensagens. Ele foi projetado para invocar aplicações remotas em um ambiente 
independente de tecnologias, sendo o padrão para serviços web que utilizem o Paradigma 
SOAP. É importante destacar que XML é apenas a linguagem comum para intercomunicação 
entre diferentes sistemas, mas o protocolo utilizado para transportar a mensagem é HTTP. 
 
Professor, é obrigatório utilizar esse protocolo para envio/recebimento de informações entre serviços 
web? Não, é possível utilizar outros protocolos (Ex: SMTP), mas esse é o protocolo padrão da 
web, logo ele é o mais utilizado atualmente (inclusive em outros paradigmas). Professor, está 
começando a ficar muito abstrato e eu não estou conseguindo acompanhar! Então vamos passar 
para alguns pontos mais concretos... 
 
O que é o SOAP? É um protocolo! Para quê? Para a troca estruturada de dados entre serviços web 
em redes de computadores. Ele não é um formato? Sim, esse protocolo especifica um formato 
comum de mensagens. Baseado em quê? Baseado na linguagem XML. E o que é o XML? É uma 
linguagem de marcação que permite definir um conjunto de regras para troca de dados, podendo 
ser compreendida tanto por humanos quanto por máquinas. 
 
Vamos conhecer o tal do formato especificado pelo SOAP? O SOAP consiste basicamente dos 
elementos descritos na tabela seguinte: 
 
ELEMENTOS Situação DESCRIÇÃO 
ENVELOPE 
(ENVOLOPE) 
obrigatório 
Trata-se do elemento-raiz do documento XML. Ele identifica o documento XML 
como uma mensagem SOAP e funciona como um recipiente que contém os demais 
elementos da mensagem (Ex: Header e Body). Corresponde à descrição da 
mensagem e do que deve ser processado. 
CABEÇALHO 
(HEADER) 
OPCIONAL 
Trata-se do elemento que carrega informações adicionais específicas para a aplicação 
a fim de estender as funcionalidades das Mensagens SOAP. Desta forma, é possível 
adicionar novas funcionalidades como autenticação, criptografia, autorização, 
assinatura digital, etc. Podem ser definidos vários cabeçalhos. 
CORPO 
(BODY) 
OBRIGATÓRIO 
Trata-se do elemento que contém a carga útil (payload) da Mensagem SOAP. É aqui 
que estão as informações propriamente ditas do serviço web remetidas ao 
destinatário final da mensagem, incluindo a chamada ao procedimento ou o retorno 
de seu resultado. 
Falha 
(fault) 
Opcional 
Trata-se do elemento contido no corpo responsável por relatar possíveis erros de 
envio ou processamento de mensagens, informando localização e formato dos erros 
encontrados. Quando estiver presente deve aparecer como um elemento filho do 
elemento Body. 
 
Vamos ver como é uma Mensagem SOAP? No exemplo a seguir, temos uma requisição em que é 
chamado um procedimento chamado retornaNome, que recebe CPF como parâmetro: 
 
POST /InStock HTTP/1.1 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
12
42
Host: www.dre.ufrj.br 
Content-Type: application/soap+xml; charset=utf-8 
Content-Length: nnn 
 
<?xml version="1.0"?> 
 
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap- envelope" 
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding" xmlns:tiposns="http://www.w3.org/2001/XMLSchema"> 
 
 <soap:Header> 
 <m:atenticacao xmlns:m="http://www.dre.ufrj.br/ws/dre">21423edf69fgs</m:atenticacao> 
 </soap:Header> 
 
 <soap:Body> 
 <m:retornaNome xmlns:m="http://www.dre.ufrj.br/ws/dre"> 
 <numdre type="tiposns:int">123.456.789-00</drenum> 
 </m:retornaNome> 
 </soap:Body> 
 
</soap:Envelope> 
 
Notem que, em verde, temos o envelope; em laranjado, temos o cabeçalho (que adiciona uma 
funcionalidade de autenticação); e, em azul, temos o corpo (que recebe o CPF). E a resposta: 
 
HTTP/1.1 200 OK 
Content-Type: application/soap+xml; charset=utf-8 
Content-Length: nnn 
 
<?xml version="1.0"?> 
 
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap- envelope" 
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding" xmlns:tiposns="http://www.w3.org/2001/XMLSchema"> 
 
 <soap:Header> 
 <m:atenticacao xmlns:m="http://www.dre.ufrj.br/ws/dre">2kg469fgs</m:atenticacao> 
 </soap:Header> 
 
 <soap:Body> 
 <m:retornaNomeResponse xmlns:m="http://www.dre.ufrj.br/ws/dre"> 
 <nome type="tiposns:string">João da Silva</nome> 
 </m:retornaNomeResponse> 
 
 <soap:Fault> 
 </soap:Fault> 
 
 </soap:Body> 
 
</soap:Envelope> 
 
Notem que a resposta do serviço web retornou o nome João da Silva para o CPF informado como 
parâmetro. Vejam também que há, em amarelo, o elemento fault vazio, porque não houve 
falhas. Professor, eu preciso entender esse código em detalhe? Não, pessoal... basta saber a função 
dos quatro elementos. Vejam que não é difícil identificá-los em uma Mensagem SOAP! Você faz 
uma requisição e recebe uma resposta como resultado. 
 
WSDL 
INCIDÊNCIA EM PROVA: Altíssima 
 
DEFINIÇÃO DE 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/métodos disponíveis. 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
13
42
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 autores o consideram também como um protocolo). 
 
Vocês já pensaram de que forma um cliente de um serviço web 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 a essas questões, criou-se uma linguagem para 
padronizar as descrições das funcionalidades oferecidas por um Web Service. Trata-se de uma 
linguagem para descrição de serviços web. 
 
Baseada em XML, é utilizada para descrever um Web Service e deve, portanto, definir todas as 
suas interfaces, operações, métodos, parâmetros, esquemas de codificação, portas de 
comunicação, protocolos, formatos de mensagens, entre outros. 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. 
 
Quando um cliente deseja enviar uma requisição para um serviço web, ele obtém a descrição 
do serviço e, em seguida, constrói a mensagem de acordo com a especificação da descriçã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. O serviço web recebe a mensagem e realiza 
uma validação conforme as informações contidas no Documento WSDL. 
 
Vamos recapitular? O SOAP é o protocolo responsável por especificar a organização das 
mensagens trocadas entre o cliente e o fornecedor de serviços web, isto é, a composição da 
estrutura das mensagens. Já o WSDL é o documento que, resumidamente, descreve quais são as 
operações disponíveis em um serviço web com todasas particularidades de suas interfaces como 
métodos, parâmetros, protocolos, entre outros. Vamos aprofundar um pouco mais? 
 
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, descreve o que o serviço faz: 
parâmetros, tipos, operações, entradas, saídas, mensagens fault, 
etc. Já a perspectiva concreta trata da implementação do serviço. 
Em outras palavras, descreve como o serviço é feito: protocolos 
de comunicação, codificação de dados, localização, portas, 
endereço de rede, etc. Ela também adiciona informações sobre 
como o serviço se comunicará e quem pode alcançá-lo. 
 
Professor, qual a vantagem de fazer essa separação? A vantagem é que, caso a implementação 
(perspectiva concreta) do serviço seja modificada por alguma razão, a interface (perspectiva 
abstrata) pode continuar a ser disponibilizada sem problemas – e até reutilizada para diversas 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
14
42
implementações diferentes. Por fim, o WSDL define quatro padrões de mensagens suportadas 
para quatro tipos de operações: 
 
TIPO DEFINIÇÃO 
ONE-WAY A operação pode receber uma requisição, 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. 
 
UDDI 
INCIDÊNCIA EM PROVA: Altíssima 
 
DEFINIÇÃO DE 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. 
 
Galera, nós já sabemos que o SOAP é responsável por especificar a organização para a troca de 
mensagens entre serviços web e também sabemos que o WSDL é responsável por nos descrever 
a interface das operações disponíveis em um serviço web. Agora uma pergunta: como eu vou 
encontrar um serviço web? Aonde eu procuro? Onde eles estão? O que comem? Onde vivem? Para 
responder a essas perguntas, existe o UDDI! 
 
Quando se constrói um serviço web, ele deve ser disponibilizado em algum lugar para que seja 
acessível por diversas aplicações-cliente. O UDDI é uma especificação técnica, ou protocolo e 
um serviço de diretório onde empresas podem registrar, publicar, descrever, buscar, 
descobrir e integrar serviços web. Ele contém informações genéricas sobre a provedores de 
serviços web, implementações e metadados básicas sobre eles. 
 
Vamos testar a faixa etária dos meus alunos agora! Alguém sabe 
o que é esse livro da imagem ao lado? Galera, isso é uma lista 
telefônica. Quando o telefone fixo começou a se popularizar, 
todas as casas e empresas possuíam seus telefones. E se acabasse 
o gás na minha casa e eu precisasse ligar em uma companhia de gás 
para terminar meu almoço, jovem? Não tinha internet! Você tinha 
que pegar sua pesada lista telefônica e pesquisar nas páginas 
amarelas por empresas de gás para descobrir seu telefone. 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
15
42
 
A lista telefônica era dividida em duas partes: as páginas brancas continham os nomes e os 
números de telefone não comerciais (isto é, residenciais) e as páginas amarelas continham os 
nomes e os números de telefone comerciais (isto é, empresariais). O que isso tem a ver com a aula, 
Diego? O UDDI era basicamente uma Lista Telefônica! Ambos eram um serviço de diretório 
para registrar, publicar, descrever, buscar, descobrir e integrar telefones ou serviços web. 
 
Essa metáfora é tão óbvia que está na própria teoria dos serviços web. Como assim, professor? 
Galera, as informações capturadas no contexto do UDDI podem ser classificadas em três 
categorias principais: Páginas Brancas, Páginas Verdes ou Páginas Amarelas. No entanto, 
evidentemente aqui elas possuem um significado um pouco diferente do significado das listas 
telefônicas de antigamente... 
 
 
 
As Páginas Brancas contêm informações gerais sobre a organização que está oferecendo o 
serviço web, tais como nome 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, etc). 
 
A 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 é, Diego? 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. 
 
Professor, eu ainda não entendi! Por exemplo: UNSPSC (United Nations Standard Products and 
Services Code) é uma taxonomia de produtos e serviços para e-commerce. Ela possui um 
conjunto de códigos que permitem classificar e identificar uma organização quanto ao setor 
comercial. Sacaram? Já as Páginas Verdes contêm informações mais técnicas sobre como 
acessar um serviço web. 
 
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 e acesso ao serviço. Em geral, essas informações 
incluem uma referência para uma especificação externa e um endereço para invocar o serviço. 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
16
42
Por meio do UDDI, é possível encontrar os contados do dono do serviço web, seu setor de 
serviço, algumas informações técnicas e uma referência para o WSDL. 
 
O UDDI praticamente morreu nos últimos anos. Por que, professor? Porque não faz mais sentido 
você manter seus serviços web em um diretório específico. Qualquer pesquisa simples no 
Google permite encontrar serviços web da organização que você deseja. Eu, por exemplo, 
simplesmente escrevi web services câmara dos deputados no Google e já encontrei uma página 
contendo os serviços web fornecidos por esse órgão. 
 
 
 
Galera, um repositório de serviços web é inútil sem alguma forma de acessá-lo. O padrão UDDI 
versão 2.0 especifica duas interfaces com diversos métodos/operações para consumidores e 
provedores de serviços interagirem. Os consumidores de serviço usam a Interface de Consulta 
(Inquiry) para localizar e consultar um serviço, e os provedores de serviço usam a Interfacede Publicação (Publisher) para publicar e atualizar um serviço. 
 
Vamos agora fazer um resumão do Paradigma SOAP! Uma aplicação (Cliente/Solicitante de 
Serviço) utiliza um serviço de diretórios (Agente de Serviço) – como o UDDI – para localizar o 
serviço web oferecido por um servidor (Servidor/Fornecedor de Serviço). O UDDI fornece várias 
informações sobre o serviço web, incluindo a sua descrição por meio do WSDL. O cliente analisa 
o WSDL e envia uma Mensagem SOAP requisitando um serviço de acordo com as especificações. 
 
A mensagem é, então, enviada para o fornecedor do serviço, que interpreta a mensagem (realiza 
o parsing da mensagem) e invoca o método apropriado, passando os parâmetros fornecidos na 
mensagem. O método executado, então, retorna o resultado para o Servidor SOAP, que escreve 
uma Mensagem SOAP respondendo a requisição inicial com o resultado e envia para o Cliente 
SOAP. Por fim, este último lê a mensagem e repassa o resultado para a aplicação requisitante. 
 
Paradigma REST 
INCIDÊNCIA EM PROVA: ALTA 
 
Antes de falarmos sobre o REST, precisamos falar um pouco sobre HTTP. O HTTP (HyperText 
Transfer Protocol) é um protocolo de comunicação utilizado para transferência de 
hipertextos. O que seria um hipertexto? Trata-se de um texto que pode ser integrado a diversas 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
17
42
outras formas de informação, como imagens, sons e outras mídias, acessíveis por meio de 
hiperlinks. Dito isso, o que importa de fato para o desenvolvimento de sistemas? 
 
Bem, esse protocolo define oito métodos de requisição (também chamados de verbos) 
responsáveis por indicar a ação a ser executada para um dado recurso. Como é, Diego? Quando 
você utiliza esse protocolo, você está basicamente fazendo uma requisição de um recurso na web 
(Ex: Página Web). No entanto, esse protocolo permite fazer bem mais do que simples requisições 
de recursos. Vamos conhecer esses oito métodos: 
 
MÉTODO DESCRIÇÃO 
GET 
Esse método solicita a representação de um recurso específico. Requisições utilizando o método 
GET devem retornar apenas dados. 
HEAD 
Esse método solicita uma resposta de forma idêntica ao método GET, porém sem conter o corpo 
da resposta. 
PUT 
Esse método substitui todas as atuais representações do recurso de destino pela carga de dados da 
requisição. 
POST 
Esse método é utilizado para submeter uma entidade a um recurso específico, frequentemente 
causando uma mudança no estado do recurso ou efeitos colaterais no servidor. 
DELETE 
Esse método remove um recurso específico. 
 
TRACE 
Esse método executa um teste de chamada loop-back junto com o caminho para o recurso de 
destino. 
CONNECT 
Esse método estabelece um túnel para o servidor identificado pelo recurso de destino. 
 
OPTIONS 
Esse método é usado para descrever as opções de comunicação com o recurso de destino. 
 
PATCH 
Esse método é utilizado para aplicar modificações parciais em um recurso. 
 
 
Nosso interesse aqui está apenas nos métodos GET e POST! Notem que eu estou utilizando o 
Protocolo HTTP. Eu estou requisitando a página index.php que está hospedada no diretório 
chamado pasta do servidor cujo domínio é sitequalquer.com. Para solicitar esse recurso (página 
web), eu forneci dois parâmetros após o ponto de interrogação: nome e senha. O GET é utilizado 
para solicitar um recurso específico... 
 
http://www.sitequalquer.com/pasta/index.php?nome=Diego&senha=estrategia 
 
Já o POST é utilizado para enviar dados para um recurso, geralmente realizando alguma 
alteração. Dessa forma, GET é utilizado para leitura e POST é utilizado para criação! Ambos 
permitem o envio de parâmetros, no entanto há uma diferença fundamental entre eles: GET 
deixa os parâmetros visíveis na URL; POST esconde os parâmetros no corpo da mensagem. No 
exemplo anterior, os parâmetros estão visíveis, logo se trata de um GET. 
 
No entanto, há um risco na requisição anterior! Já notaram qual é? Como eu estou utilizando GET, 
os parâmetros estão visíveis, mas um dos parâmetros é uma senha – isso é perigosíssimo! 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
18
42
Imaginem sua senha circulando por aí entre roteadores e servidores até chegar ao destino final. 
Logo, deve-se evitar utilizar o GET quando as informações de parâmetros forem sensíveis – 
recomenda-se utiliza o POST. 
 
Lembrando que o GET é utilizado para recuperar informações (em geral, poucas) e POST é 
utilizado para enviar informações (em geral, muitas – como formulários). Agora, vamos 
examinar como as conexões seguras podem ser alcançadas. Quando a web repentinamente 
chegou ao público, ela foi utilizada apenas para páginas estáticas, mas – em pouco tempo – 
algumas empresas tiveram a ideia de usá-la para transações dinâmicas. 
 
Como assim, Diego? Uma página estática é aquela que só tem o texto com alguns links, mas que 
não possuem recursos dinâmicos que se alteram de acordo com parâmetros, login, entre outros. 
Já uma página dinâmica é como a página do Estratégia Concursos: você acessa, faz o login, vê os 
cursos em que você está matriculado, altera configurações de usabilidade, entre outros. Como 
empresas da área de finanças começaram a fazer páginas dinâmicas, surgiu uma demanda... 
 
Era necessário ter uma tecnologia para conexões mais seguras! Em 1995, a Netscape – empresa 
que dominava o mercado de navegadores web – introduziu um recurso de segurança chamado 
SSL (Secure Sockets Layer) para atender a essa demanda. O Netscape permitia, portanto, ter 
uma comunicação segura e criptografada. E a junção do SSL + HTTP resultou no HTTPS 
(atualmente, é utiliza o TLS em vez do SSL). 
 
O Protocolo SSL constrói uma conexão segura entre dois dispositivos – trata-se de uma nova 
camada colocada entre a camada de aplicação e transporte. Depois que a conexão segura é 
estabelecida, a principal tarefa da SSL é manipular a compactação e a criptografia. Galera, há 
muitos outros pontos que podem ser abordados sobre esse protocolo, mas vamos parar aqui 
porque isso tudo é só para entendermos melhor o Paradigma REST! 
 
Inicialmente, vamos falar sobre a motivação para criação do Paradigma REST! Professor, o 
Paradigma SOAP não era tudo de bom? Galera, ele realmente tinha muitas vantagens – ele 
permitia o desenvolvimento de serviços web altamente confiáveis, complexos e de 
qualidade. No entanto, como vocês devem saber, o mundo da tecnologia muda bastante de 
forma muito rápida em pouco tempo. 
 
Em 2007, começaram a se popularizar os smartphones, mas eles possuíam um baixo poder 
computacional (hoje em dia, eles são verdadeiras máquinas, mas naquela época eram bem mais 
fracos). Além disso, as redes móveis de internet ainda suportavam baixa velocidade – a 
tecnologia 3G original possuía uma velocidade máxima de download de 0.3 Mbps; o 4G atual 
suporta até 900 Mbps; e o 5G promete chegar aos 5Gbps. 
 
Em um contexto de dispositivos com baixo poder computacional e baixa velocidade de 
internet móvel, o overhead (sobrecarga) do Paradigma SOAP começou a pesar! Como assim, 
Diego? Nós vimos que uma Mensagem SOAP é composta de um Envelope com Cabeçalho, Corpo 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico deTecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
19
42
e Falhas. Além disso, ela pode conter recursos que estendem suas funcionalidades, como 
criptografia, assinatura digital, autorização, privacidade, entre outros. 
 
Vejam, portanto, que os dados em si estão no corpo da mensagem. No entanto, há diversos 
outros elementos que pesam a troca de dados. Essa foi a grande motivação para o surgimento 
de um novo paradigma mais simples e leve: Paradigma REST (REpresentational State Transfer). 
Trata-se de um estilo arquitetural ou de desenvolvimento para projetar e construir aplicações de 
rede distribuídas fracamente acopladas. Vamos conhecer as principais diferenças... 
 
 
 
Na imagem acima, temos algumas representações: o dado que deve ser transportado é 
representado por uma pessoa e o meio de transporte é o cavalo. Logo, temos que o dado 
(Pessoa) será efetivamente transportada de um ponto para outro por meio de um cavalo (HTTP). 
Além disso, temos a representação dos dois paradigmas principais: REST e SOAP. Vamos 
entender a principal diferente entre eles... 
 
No primeiro caso, se você quiser enviar um dado de um ponto para outro, você pode 
simplesmente subir no cavalo e cavalgar. No segundo caso, também temos uma pessoa e um 
cavalo, mas junto temos uma carroça. Vocês lembram que nós falamos sobre o overhead? Pois é, 
a carroça é a carga extra (sobrecarga) para transportar uma pessoa entre dois pontos. Logo, o 
segundo caso possui um peso a mais na troca de mensagens. 
 
Ambos levam uma pessoa (dado) de um Ponto A para um Ponto B por meio de um cavalo (HTTP), 
mas o primeiro é bem mais leve que o segundo. Professor, posso dizer que REST é melhor que 
SOAP? Não, tudo dependerá do contexto! Se você apenas deseja chamar um serviço leve com 
parâmetros e respostas bem diretos, utilize o REST; se você deseja passar diversos parâmetros 
compostos e aninhados com respostas complexas, utilize o SOAP. Enfim... 
 
REST é menos burocrático, tem menos overhead, suporta diversas linguagens e tem maior 
desempenho/escalabilidade. SOAP é mais burocrático, tem mais overhead, suporta apenas XML 
e tem menor desempenho/escalabilidade. Além disso, há mais uma diferença importante: no 
SOAP, existe uma especificação que deve ser seguida para todas as requisições/respostas 
(chamada WSDL); no REST, não existe nenhuma especificação obrigatória. 
 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
20
42
SOAP 
[SIMPLE OBJECT ACCESS PROTOCOL] 
REST 
[REPRESENTATIONAL STATE TRANSFER] 
É um protocolo de comunicação baseado em XML. 
 
É um estilo arquitetural ou de desenvolvimento 
independente de tecnologia. 
Utiliza um Envelope enviado por geralmente por 
HTTP para transmitir dados. 
Utiliza diretamente recursos oferecidos de forma 
nativa, em regra, pelo HTTP. 
Suporta somente recursos no formato XML. 
 
Suporta recursos no formato HTML XML, JSON, 
YAML, TXT, etc. 
Permite invocar serviços por meio de Métodos RPC 
(Remote Procedure Calls). 
Permite invocar serviços por meio da própria URI/URL. 
 
Em geral, apresenta desempenho e escalabilidade 
menor, devido ao alto overhead. 
Em geral, apresenta desempenho e escalabilidade 
maior, devido ao baixo overhead. 
Não permite fazer caching. 
 
Permite fazer caching. 
 
Requer maior largura de banda para trafegar os 
dados. 
Requer menor largura de banda para trafegar os 
dados. 
Suporta recursos da WS-Security para incrementar a 
segurança. 
Suporta apenas SSL/TLS e HTTPS para incrementar a 
segurança. 
JavaScript pode chamar SOAP, mas é de difícil de 
implementação. 
JavaScript pode facilmente chamar REST. 
 
 
Compreendidas essas diferenças, vamos ver agora outras características! Roy Fielding propôs 
seis restrições ou princípios que nós vamos ver em mais detalhes na tabela seguinte: 
 
RESTRIÇÃO OU 
PRINCÍPIO 
DESCRIÇÃO 
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 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 como a comunicação com banco de 
dados, gerenciamento de cache, log, entre outros; e o contrário também é válido, o servidor 
não se preocupa com tarefas como interface, experiência do usuário, entre outros. 
Permitindo, assim, a evolução independente das duas arquiteturas. 
Stateless 
(Sem Estado) 
A comunicação entre cliente e servidor deve ser stateless (isto é, sem guardar estado). O 
servidor não precisa lembrar do 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. 
 
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). 
Sistema em 
Camadas 
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 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
21
42
==5617c==
removidas de forma transparente para melhorar a escalabilidade – deve ser fácil, então, 
manipular camadas (tornando o sistema mais flexível). 
 
Não é recomendado que o cliente chame diretamente o servidor sem antes passar por um 
intermediador como um Balanceador de Carga (Load Balancer). 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 da melhor maneira possível. 
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 
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 e nem 
precisará ser recuperada novamente. 
Interface 
Uniforme 
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. 
 
É 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/descritivas; e hypermídia. 
Código sob 
Demanda 
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 incluemscripts Javascript, Applets Java, 
Silverlight, etc. 
 
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. 
 
Todas aplicações que siga 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, portátil, confiável e capaz de ter um desempenho 
melhor. Professor, aplicações RESTful são obrigadas a utilizar REST com HTTP? Não! 
 
Na teoria, elas podem utilizar qualquer protocolo para transferência dos dados; na prática, 
elas utilizam HTTP em quase 100% das vezes. Por que? Porque há muitas vantagens em utilizar 
características e recursos desse protocolo como seus métodos/verbos: GET, POST, etc. Por falar 
nisso, o que é um recurso? Também chamado de Resource, é qualquer coisa que possa ser 
acessada ou manipulada (Ex: páginas, vídeos, imagens, documentos, impressoras, etc). 
 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
22
42
Também é importante compreender o que é URI (Uniform Resource Identifier)! Trata-se de uma 
string (cadeia 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 permitir 
identificar – também indica como acessar um recurso (basta lembrar de endereços de sites). 
Recursos podem ser representados em JSON, HTML, XML, TXT, etc. 
 
Vamos ver um exemplo: há um serviço web que – dado o nome de uma pessoa – ele informa os 
três países mais prováveis da origem da pessoa. Vamos testar com o nome: Romario. 
 
https://api.nationalize.io/?name=romario 
 
 
 
O resultado está no formato JSON (que é bem mais simples que XML). Vamos formatá-lo para 
melhorar sua visualização: 
 
 
 
O resultado afirma que uma pessoa com nome Romário tem 50.0% de chance de ser do Brasil 
(BR); 15.0% de chance de ser da Holanda (NL); e 10.1% de chance de ser da Rússia (RU). Se 
testarmos com Klaus, retornará 28.9% de ser da Alemanha (DE); 27.2% de ser da Áustria (AT); e 
25% de ser da Dinamarca (DK). Se testarmos com Sato, retornará 97.2% de ser do Japão (JP); 
1.5% de ser da Turquia (TR); e 0.006% de ser da Itália (IT). 
 
Viram que eu coloquei o parâmetro na própria URL? Pois é, eu utilizei o Método GET do HTTP! 
Notem que eu não tive que acessar nenhum Repositório UDDI; eu não tive que usar nenhum 
envelope com cabeçalho, corpo, falhas, namespace, encoding, recursos adicionais de segurança 
– eu simplesmente utilizei diretamente os próprios recursos do HTTP para consumir um serviço 
web por meio do Paradigma REST. Mais simples, não? 
 
E se eu quiser mandar um monte de informações de um formulário enorme no corpo de uma 
requisição em formato JSON que atualize um banco de dados em um servidor? Também é possível 
e eu posso fazer tudo isso pela própria URL utilizando o Método POST! Para finalizar, eu gostaria 
de destacar o porquê desse estilo arquitetural se chamar REST (Representational State Transfer 
ou Transferência de Estado Representacional). 
 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
23
42
Basicamente isso significa que essa tecnologia permite transferir (criar, recuperar, alterar ou 
remover) o estado (também chamado de valor) de um recurso (qualquer objeto 
informacional) disponibilizado por um serviço web por meio de um formato de representação 
(Ex: JSON, XML, etc). Então, fechamos aqui a nossa aula... eu sei que se trata de um assunto 
complexo e técnico, mas vocês vão ver que os exercícios não são tão complicados. Vamos lá... 
 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
24
42
QUESTÕES COMENTADAS – DIVERSAS BANCAS 
 
1. (FGV / Prefeitura de Niterói-RJ – 2018) As tecnologias SOAP e REST são largamente 
utilizadas para troca de informações estruturadas em sistemas distribuídos. Sobre essas 
tecnologias, analise as afirmativas a seguir. 
 
I. REST pressupõe que cada solicitação do cliente ao servidor deve conter todas as 
informações necessárias para processar o pedido e não pode tirar proveito de qualquer 
contexto armazenado no servidor. 
 
II. As mensagens SOAP são documentos XML construídos especificamente para trafegar 
através do protocolo de transporte HTTP/HTTPS. 
 
III. REST é mais eficiente que o SOAP porque utiliza exclusivamente mensagens menores no 
formato JSON. 
 
Está correto o que se afirma em: 
 
a) I, apenas. 
b) II, apenas. 
c) III, apenas. 
d) I e II, apenas. 
e) I, II e III. 
 
Comentários: 
 
(I) Correto, visto que eles são autocontidos e steteless; (II) Errado, não é obrigatório utilizar HTTP 
/ HTTPS; (III) Errado, não é obrigatório utilizar JSON. 
 
Gabarito: Letra A 
 
2. (FGV / AL-RO – 2018) O padrão REST define um conjunto de restrições e propriedades 
baseado em HTTP. Sobre REST, analise as afirmativas a seguir. 
 
I. Web services que obedecem ao padrão REST precisam utilizar o formato JSON para 
encapsular os dados da resposta às requisições dos sistemas solicitantes. 
 
II. Os métodos GET, POST, PUT e DELETE do protocolo de comunicação HTTP são 
compatíveis com operações CRUD para a persistência de dados. 
 
III. O padrão REST pressupõe que requisições de um mesmo sistema solicitante são 
dependentes, permitindo manter o estado de cada solicitante durante várias solicitações. 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
25
42
 
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. 
 
Comentários: 
 
(I) Errado, não é obrigatório utilizar JSON; (II) Correto. CRUD se refere a Create (POST), Read 
(GET), Update (PUT) e Delete (DELETE); (III) Errado, ele pressupõe que são indepedentes, não 
mantendo o estado de cada solicitante durante várias solicitações (stateless). 
 
Gabarito: Letra B 
 
3. (FGV / AL-RO – 2018) SOAP é um protocolo para troca de informações estruturadas. Sobre 
a estrutura da mensagem SOAP, analise as afirmativas a seguir. 
 
I. O formato da mensagem é baseado na linguagem de marcação XML. 
II. Os elementos Header e Body são filhos obrigatórios do elemento Envelope. 
III. O elemento Fault é opcional e quando estiver presente deve aparecer como um elemento 
filho do elemento Envelope. 
 
Está correto o que se afirma em: 
 
a) I, somente. 
b) II, somente. 
c) III, somente. 
d) I e III, somente. 
e) I, II e III. 
 
Comentários: 
 
(I) Correto; (II) Errado, Header é opcional; (III) Errado,quando estiver presente deve aparecer 
como um elemento filho do elemento Body. 
 
Gabarito: Letra A 
 
4. (FGV / BANESTES – 2018) Sobre os princípios do padrão REST, analise as afirmativas a 
seguir. 
 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
26
42
I. As mensagens REST são documentos texto no formato JSON. 
 
II. REST é independente do protocolo de transporte, podendo ser implementado com HTTP, 
SMTP ou JMS. 
 
III. Serviços REST são stateless, isto é, cada solicitação deve conter todas as informações 
necessárias para ser compreendida pelo servidor. 
 
Está correto o que se afirma em: 
 
a) somente I; 
b) somente II; 
c) somente III; 
d) somente I e III; 
e) I, II e III. 
 
Comentários: 
 
(I) Errado, não são necessariamente documentos no formato JSON; (II) Errado, não pode ser 
implementado com JMS; (III) Correto. 
 
Gabarito: Letra C 
 
5. (FGV / BANESTES – 2018) A linguagem baseada em XML utilizada para descrever um web 
service, suas operações e como acessá-lo é: 
 
a) XSLT 
b) XSD 
c) DTD 
d) WSDL 
e) UDDI 
 
Comentários: 
 
A linguagem baseada em XML utilizada para descrever um web service, suas operações e como 
acessá-lo é o WSDL. 
 
Gabarito: Letra D 
 
6. (FGV / BANESTES – 2018) Sobre a implementação de serviços web com padrão SOAP, 
analise as afirmativas a seguir. 
 
I. As mensagens SOAP são documentos XML. 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
27
42
II. A dependência do SOAP ao protocolo de transporte HTTP é uma restrição para 
implementação deste padrão. 
III. O padrão é inadequado para troca de informações em uma plataforma descentralizada e 
distribuída. 
 
Está correto o que se afirma em: 
 
a) somente I; 
b) somente II; 
c) somente III; 
d) somente I e II; 
e) I, II e III. 
 
Comentários: 
 
(I) Correto; (II) Errado, ele não é dependente do HTTP; (III) Errado, é totalmente adequado para 
troca de informações em uma plataforma descentralizada e distribuída. 
 
Gabarito: Letra A 
 
7. (FGV / BANESTES – 2018) Usualmente, WebServices envolvem a utilização dos padrões 
XML, SOAP e WSDL. A função de cada um deles é, respectivamente: 
 
a) descrever os parâmetros, disponibilizar o serviço, transferir as mensagens; 
b) transferir as mensagens, descrever o algoritmo, transportar as mensagens; 
c) rotular e formatar os dados, transferir as mensagens, descrever a disponibilidade do 
serviço; 
d) transferir as mensagens, descrever a disponibilidade do serviço, formatar os parâmetros; 
e) descrever as classes e suas interfaces, instanciar os objetos, descrever os algoritmos. 
 
Comentários: 
 
A função de cada um deles é, respectivamente, rotular e formatar os dados, transferir as 
mensagens, descrever a disponibilidade do serviço. 
 
Gabarito: Letra C 
 
8. (CESPE / SLU-DF – 2019) Um web service pode assumir o papel de provedor de serviço e de 
consumidor de serviço. 
 
Comentários: 
 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
28
42
Perfeito! Um serviço web pode fazer o papel de provedor, fornecendo serviço para outra 
entidades ou de consumidor, consumindo serviço de outros serviços web. 
 
Gabarito: Correto 
 
9. (CESPE / SEFAZ-BA – 2019) Os web services são componentes de software na web que 
podem fornecer determinados serviços a aplicações criadas em diferentes linguagens. 
Podem usar o protocolo SOAP para transferência de mensagens em formato XML. Para 
descrever a estrutura destas mensagens geralmente utiliza-se: 
 
a) REST. 
b) WSDL. 
c) CORBA. 
d) RESTFUL. 
e) HTML. 
 
Comentários: 
 
O padrão utilizado para descrever a estrutura de Mensagens SOAP é o WSDL. 
 
Gabarito: Letra B 
 
10. (CESPE / BNB – 2018) SOAP utiliza um sistema de mensagens SMTP sobre a camada de 
transporte. 
 
Comentários: 
 
SOAP até pode utilizar SMTP, mas não é sobre a camada de transporte – é sobre a camada de 
aplicação. 
 
Gabarito: Errado 
 
11. (CESPE / MPE-PI – 2018) Para implementar um web service de baixo overhead que tenha 
recursos identificáveis e localizáveis por meio de uma URI (Uniform Resource Identifier) 
mediante o protocolo HTTP, pode-se utilizar o REST (Representational State Transfer). 
 
Comentários: 
 
Perfeito! Não tem nem o que acrescentar... 
 
Gabarito: Correto 
 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
29
42
12. (FAURGS / BANRISUL – 2018) Quais são as quatro operações para realizar tarefas definidas 
pelo serviço web no formato REST? 
 
a) CREATE, GET, PUT e UPDATE 
b) PUT, UPDATE, INSERT e DELETE 
c) POST, GET, PUT e DELETE 
d) PUT, GET, INSERT e DELETE 
e) SELECT, GET, PUT e DELETE 
 
Comentários: 
 
As quatro operações são: POST, GET, PUT e DELETE. 
 
Gabarito: Letra C 
 
13. (CESPE / STJ – 2018) Web service é uma solução utilizada na integração de sistemas e na 
comunicação entre aplicações diferentes. 
 
Comentários: 
 
Perfeito! Ele realmente permite integrar sistemas e realizar a comunicação entre aplicações. 
 
Gabarito: Correto 
 
14. (CESPE / STJ – 2018) Os serviços Web RESTful utilizam o HTTP como um meio de 
comunicação entre cliente e servidor. 
 
Comentários: 
 
Perfeito! Eles utilizam os métodos do HTTP como uma forma de realizar a comunicação entre 
um cliente e um servidor. 
 
Gabarito: Correto 
 
15. (CESPE / STJ – 2018) A REST define uma arquitetura cliente-servidor na qual o servidor não 
mantém contexto de cliente entre transações, ou seja, é stateless e toda transação contém 
as informações necessárias para satisfazer a solicitação. 
 
Comentários: 
 
Perfeito! É stateless, logo não guarda o estado da transação. 
 
Gabarito: Correto 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
30
42
==5617c==
 
16. (CESPE / STM – 2018) O SOAP é um tipo de modelo de dados XML elaborado para facilitar a 
inserção de campos HTML em páginas web. 
 
Comentários: 
 
Não tem nenhuma relação com a inserção de campos HTML em páginas web – ele é utilizado 
para a troca de mensagens entre aplicações distribuídas. 
 
Gabarito: Errado 
 
17. (CESPE / TRT-CE – 2019) Assinale a opção que apresenta o método HTTP que deve ser usado 
para a busca de recursos por meio do web service RESTful. 
 
a) delete 
b) get 
c) put 
d) options 
 
Comentários: 
 
O Método HTTP que permite buscar recursos é o GET. 
 
Gabarito: Letra B 
 
18. (IBFC / TJ-PE – 2017) Existe a necessidade em um documento XML ser identificado como 
uma mensagem SOAP. A estrutura da mensagem SOAP (Simple Object Access Protocol), em 
um documento XML,contém os seguintes elementos: 
 
a) Title (obrigatório) - Head (opcional) - Body (obrigatório) 
b) Envelope (obrigatório) - Header (opcional) - Main (obrigatório) 
c) Title (obrigatório) - Head (opcional) - Main (obrigatório) 
d) Envelope (obrigatório) - Header (opcional) - Body (obrigatório) 
e) Envelope (obrigatório) - Head (opcional) - Main (obrigatório) 
 
Comentários: 
 
SOAP contém Envelope (Obrigatório) – Header (Opcional) – Body (Obrigatório). 
 
Gabarito: Letra D 
 
19. (CCV / UFC – 2016) Sobre Web Services, assinale a opção correta. 
 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
31
42
a) Web services não possui suporte a mensagens com arquivos binários. 
b) WSDL é baseado em XML, enquanto SOAP é baseado em javascript. 
c) WSDL e SOAP podem ser utilizados juntos para prover Web Services. 
d) WDSL e SOAP não são recomendação do W3C (World Wide Web Consortium). 
e) Um componente Web Service desenvolvido em linguagem Java não pode ser acessado por 
meio da linguagem PHP. 
 
Comentários: 
 
(a) Errado, ele suporta sim; (b) Errado, ambos são baseados em XML; (c) Correto; (d) Errado, 
ambos são recomendados pela W3C; (e) Errado, é claro que pode. 
 
Gabarito: Letra C 
 
20. (IF-PI / IF-PI – 2016) Trata-se de um protocolo de comunicação de web services descrito por 
uma WSDL (Web Services Description Language), ele consiste de um grande arquivo XML 
trafegando entre sistemas para realizar a comunicação. O conceito se refere ao: 
 
a) SOAP. 
b) OpenLDAP. 
c) X25. 
d) DHCP. 
e) DNS. 
 
Comentários: 
 
O protocolo de comunicação descrito por um WSDL que trafega entre sistemas para realizar a 
comunicaçao é o SOAP. 
 
Gabarito: Letra A 
 
21. (FCC / AL-MS – 2016) Considere o texto abaixo: 
 
Atualmente muitos desenvolvedores têm exposto seus serviços utilizando uma abordagem que 
usa um padrão de URI, fazendo chamadas para um serviço web utilizando, por exemplo: 
http://www.empresa.com.br/programa/metodo?parâmetros=xxx Esta abordagem é adequada 
para ser utilizada em situações nas quais há limitação de recursos e de largura de banda, 
necessitando de uma estrutura de retorno em qualquer formato definido pelo desenvolvedor e 
suportada por qualquer navegador. Usa o padrão de chamadas GET, PUT, POST e DELETE e 
pode usar também objetos XMLHttpRequest que a maioria dos navegadores modernos suporta. 
 
O texto trata especificamente de 
 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
32
42
a) ESB. 
b) SOAP. 
c) REST. 
d) SOA. 
e) CORBA. 
 
Comentários: 
 
Quem usa o padrão de chamadas do Protocolo HTTP é o REST. 
 
Gabarito: Letra C 
 
22. (CESPE/ TCE-PA – 2016) Os web services devem ser projetados para ser utilizados 
independentemente de paradigmas de programação. 
 
Comentários: 
 
Perfeito! Eles são independentes de tecnologia... 
 
Gabarito: Correto 
 
23. (FUNIVERSA / IF-AP – 2016) SOAP (Simple Object Access Protocol) é um protocolo de 
comunicação que permite a troca de mensagens entre aplicações Web, geralmente usando 
HTTP e Webservices. Assinale a alternativa que apresenta o formato das mensagens 
utilizadas pelo SOAP. 
 
a) UDP (User Datagram Protocol) 
b) TCP (Transmission Control Protocol) 
c) XML (eXtensible Markup Language) 
d) FTP (File Transfer Protocol) 
e) ODF (Open Document Format) 
 
Comentários: 
 
O formato das mensagens utilizadas pelo SOAP é o XML. 
 
Gabarito: Letra C 
 
24. (CESPE/ TCE-PA – 2016) Para que um web service funcione corretamente, os softwares 
cliente/servidor devem ser escritos na mesma linguagem. 
 
Comentários: 
 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
33
42
Na verdade, independe de tecnologias – inclusindo as linguagens de programação. 
 
Gabarito: Errado 
 
25. (CESPE/ TCE-PA – 2016) Ao se usar o protocolo SOAP (Simple Object Access Protocol), cada 
solicitação e cada resposta são colocadas em um envelope SOAP, nos momentos de 
invocação e retorno de um web service, respectivamente. 
 
Comentários: 
 
Perfeito! Toda requisição e toda resposta trafega encapsulada em um Envelope SOAP. 
 
Gabarito: Correto 
 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
34
42
LISTA DE QUESTÕES – DIVERSAS BANCAS 
 
1. (FGV / Prefeitura de Niterói-RJ – 2018) As tecnologias SOAP e REST são largamente 
utilizadas para troca de informações estruturadas em sistemas distribuídos. Sobre essas 
tecnologias, analise as afirmativas a seguir. 
 
I. REST pressupõe que cada solicitação do cliente ao servidor deve conter todas as 
informações necessárias para processar o pedido e não pode tirar proveito de qualquer 
contexto armazenado no servidor. 
 
II. As mensagens SOAP são documentos XML construídos especificamente para trafegar 
através do protocolo de transporte HTTP/HTTPS. 
 
III. REST é mais eficiente que o SOAP porque utiliza exclusivamente mensagens menores no 
formato JSON. 
 
Está correto o que se afirma em: 
 
a) I, apenas. 
b) II, apenas. 
c) III, apenas. 
d) I e II, apenas. 
e) I, II e III. 
 
2. (FGV / AL-RO – 2018) O padrão REST define um conjunto de restrições e propriedades 
baseado em HTTP. Sobre REST, analise as afirmativas a seguir. 
 
I. Web services que obedecem ao padrão REST precisam utilizar o formato JSON para 
encapsular os dados da resposta às requisições dos sistemas solicitantes. 
 
II. Os métodos GET, POST, PUT e DELETE do protocolo de comunicação HTTP são 
compatíveis com operações CRUD para a persistência de dados. 
 
III. O padrão REST pressupõe que requisições de um mesmo sistema solicitante são 
dependentes, permitindo manter o estado de cada solicitante durante várias solicitações. 
 
Está correto o que se afirma em: 
 
a) I, somente. 
b) II, somente. 
c) III, somente. 
d) I e II, somente. 
Fernando Pedrosa Lopes , Thiago Rodrigues Cavalcanti, Erick Muzart Fonseca dos Santos, Paolla Ramos e Silva , Diego Carvalho, Renato da Costa, Equipe Informática e TI
Aula 32 (Profs Diego Carvalho e Fernando Pedrosa)
Concursos da Área Fiscal - Curso Básico de Tecnologia da Informação - 2023
www.estrategiaconcursos.com.br
https://t.me/kakashi_copiador
35
42
e) I, II e III. 
 
3. (FGV / AL-RO – 2018) SOAP é um protocolo para troca de informações estruturadas. Sobre 
a estrutura da mensagem SOAP, analise as afirmativas a seguir. 
 
I. O formato da mensagem é baseado na linguagem de marcação XML. 
II. Os elementos Header e Body são filhos obrigatórios do elemento Envelope. 
III. O elemento Fault é opcional e quando estiver presente deve aparecer como um elemento 
filho do elemento Envelope. 
 
Está correto o que se afirma em: 
 
a) I, somente. 
b) II, somente. 
c) III, somente. 
d) I e III, somente. 
e) I, II e III. 
 
4. (FGV / BANESTES – 2018) Sobre os princípios do padrão REST, analise