Buscar

Integração de Aplicações

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

Integração de Aplicações
Ver: 1.0
Tecnologias de integração entre sistemas e aplicações
1. Os métodos de uma API REST utilizam o protocolo HTTP a partir da versão 1.1. Qual
método é utilizado para atualizar apenas parte dos dados de um objeto em uma requisição?
A. GET.
B. PUT.
C. PATCH.
D. DELETE.
E. POST.
Resposta: C
Motivo: O método que é utilizado para atualizar apenas parte dos dados é o PATCH. O GET
é utilizado para buscar dados. O PUT é utilizado para editar todos os dados dos objetos. O
DELETE é utilizado para apagar um objeto. A POST é utilizada para criar um novo objeto.
2. JSON vem substituindo o XML no mercado, devido à sua simplicidade de escrita e por
ser mais leve. Marque a opção que representa o elemento da estrutura de dados JSON que
é um conjunto com um ou mais pares nome/valor:
A. String.
B. Número.
C. Valor.
D. Array.
E. Objeto.
Resposta: E
Motivo: O elemento da estrutura de dados JSON que é um conjunto de um ou mais pares
nome e valor é o objeto. O array é uma coleção de valores. Um valor pode ser do tipo string,
número, objeto, array, null, true ou false. O número representa os valores numéricos. Uma
string é a representação de um valor na forma de texto.
3. Existem constraints que definem uma API REST.
Marque a constraint que diz que "cada par requisição e resposta deve ser tratado de forma
independente em relação a requisições anteriores ou posteriores".
A. Cliente-servidor.
B. Stateless.
C. Interface uniforme.
D. Cache.
E. Código sob demanda.
Resposta: B
Motivo: A constraint que diz que as requisições devem ser tratadas de forma independente
de requisições anteriores ou posteriores é a stateless. A cliente-servidor diz que o cliente
faz requisições e o servidor responde. A interface uniforme diz que a troca de mensagens
deve ocorrer por meio de interfaces uniformes. A cache diz que é possível implementar
estratégias de cache para melhorar o desempenho. O código sob demanda trata da
capacidade do servidor de fornecer um código que seja executado no cliente.
4. A requisição de serviços em APIs REST resulta em um código junto à resposta. Marque a
categoria de códigos que representa erro no cliente:
A. 1xx.
B. 2xx.
C. 3xx.
D. 4xx.
E. 5xx.
Resposta: D
Motivo: A categoria de códigos que representa erro no cliente é a 4xx. A 1xx é um código
informativo. A 2xx representa confirmação. A 3xx representa redirecionamento. A 5xx é a
categoria para erro no servidor.
5. Diversos código de erros são apresentados para os clientes, a ponto de muitos os
conhecerem mesmo sem entender seu significado. Marque a opção que representa o
código lançado quando o usuário tentar acessar uma rota não existente:
A. 404.
B. 403
C. 500
D. 503
E. 401
Resposta: A
Motivo: Quando um usuário tenta acessar uma rota não existente, ele recebe o erro 404,
para Not Found. O código 403, para Forbidden, é para avisar que o usuário não tem
permissão para acessar o servidor. O código 500, para Internal Server Error, representa erro
interno no servidor. O 503, para Service Unavailable, representa serviço temporariamente
indisponível. O 401, para Unauthorized, representa que o usuário tem acesso ao servidor,
mas não a algum recurso específico.
SOAP
1. Uma empresa de desenvolvimento de sistemas Web está considerando a adoção do
protocolo SOAP para a comunicação entre sistemas. Indique a alternativa que explique
corretamente um recurso oferecido pelo protocolo SOAP.
A. Um padrão para a definição de chamadas de procedimentos remotos que são uma
forma comum de invocação de funções utilizada em serviços distribuídos.
B. Um mecanismo de representação de dados flexível possibilitando que sejam
serializados em formato e desserializados em outro formato.
C. Um recurso para o tratamento de erros tornando possível que os sistemas façam o
diagnóstico de eventuais falhas e sugiram soluções.
D. Um mecanismo de vinculação ou binding que permite a associação entre
mensagens SOAP a tecnologias específicas dos clientes.
E. Uma forma de estender os seus elementos permitindo que o protocolo possa ser
processado de forma mais eficiente.
Resposta: A
Motivo: O SOAP oferece uma convenção para a representação de chamadas remotas ou
RPCs que são largamente utilizadas em computação distribuída. Embora possibilitem uma
representação de dados flexível, a serialização e a desserialização desses dados sempre
são feitas em um mesmo formato. O recurso de tratamento de erros também é oferecido,
porém o diagnóstico de causa e proposição de soluções é resultado de análise humana.
Outro recurso é o de binding, que vincula mensagens SOAP com um mecanismo de
transmissão pela rede. O SOAP é agnóstico quanto à tecnologia dos clientes. Além disso, o
SOAP pode ter seus elementos estendidos. No entanto, isso implica mais cabeçalhos sendo
adicionados à sua pilha de elementos, o que tende a comprometer a eficiência de seu
processamento.
2. O protocolo SOAP é comumente conhecido por ser um protocolo pesado em razão de
toda a estrutura demandada para seu funcionamento. Assinale a alternativa que indique
uma estratégia válida para tentar melhorar a eficiência na interpretação das mensagens
SOAP.
A. Substituir o formato XML das mensagens por outro mais simples.
B. Reduzir ou eliminar os elementos de cabeçalho passados nas mensagens.
C. Colocar os elementos para o tratamento de falhas diretamente no envelope.
D. Vincular as mensagens SOAP a uma linguagem de programação específica.
E. Transmitir as mensagens SOAP por meio de outros protocolos, como o Corba.
Resposta: B
Motivo: Como os elementos de cabeçalho são opcionais em uma mensagem SOAP, a
redução deles ou até sua eliminação melhoraria o desempenho no processamento dessas
mensagens. Porém, não seria possível trocar o formato das mensagens para outro mais
simples, já que as mensagens SOAP são definidas exclusivamente em formato XML. Além
disso, como os elementos dentro de uma mensagem SOAP têm organização predefinida,
não seria possível trocar o posicionamento dos elementos de tratamento de falhas. Outra
ação inviável seria a vinculação do SOAP com qualquer tecnologia, já que uma de suas
premissas de funcionamento é a independência de linguagem. Por fim, a transmissão de
mensagens SOAP sobre outros protocolos não seria tecnicamente viável, tendo em vista
essas mensagens serem interpretáveis apenas pelo próprio protocolo em que foram
definidas.
3. Embora o rigor do protocolo SOAP tenha significado uma de suas principais fraquezas,
há cenários nos quais essa característica é bem explorada. Indique a alternativa que
descreve corretamente uma situação em que o uso do protocolo SOAP se mostra
adequado.
A. Quando o canal de comunicação entre dois end-points tem largura de banda muito
restrita e as mensages precisam trafegar de forma eficiente.
B. Quando mudanças na estrutura das mensagens não podem gerar qualquer impacto
no código dos clientes que usam o serviço.
C. Quando a mensagem trafega sobre outros end-points antes de chegar ao seu
destino e cada um deles precisa verificar a autenticidade da mensagem.
D. Quando o formato de descrição da mensagem precisa ser modificado para outro
cujo processamento seja mais eficiente.
E. Quando as mensagens precisam estar associadas a uma tecnologia ou linguagem
de programação específica.
Resposta: C
Motivo: Cenários em que a verificação da identidade da mensagem precisa ser feita em
end-points intermediários são bem atendidos pelo protocolo SOAP. Porém, em virtude da
sobrecarga de elementos em cada mensagem, quando a largura de banda do canal é
limitada, ele não seria a melhor escolha. Como qualquer alteração em mensagens SOAP
gera a necessidade de atualização do código de clientes, um cenário em que isso deve ser
evitado não seria adequado para o SOAP, assim como o processamento de mensagens em
formatos distintos do XML. O SOAP é estritamente descrito nesse formato sem a
possibilidade de alteração. E, como ele é agnóstico às tecnologias de clientes, não é
possível fazer a sua vinculação a qualquer linguagem de programação.
4. A arquiteturaREST surgiu como alternativa mais leve ao robusto protocolo SOAP.
Assinale a alternativa que indique uma vantagem válida dessa abordagem sobre o SOAP.
A. Requsições REST podem utilizar a sessão no lado do servidor para otimizar ou
personalizar respostas.
B. A arquitetura REST propõe que funcionalidades de interface e serviço sejam
combinadas para fins de reaproveitamento de componentes.
C. Como um serviço REST é sem estado, uma requisição pode aproveitar dados das
diversas camadas do sistema.
D. Modificações em uma API REST não impactam diretamente no código de aplicações
de clientes.
E. A ausência do WSDL na arquitetura REST faz com que a interface de comunicação
seja livre entre cliente e servidor.
Resposta: D
Motivo: Como a arquitetura REST não tem algo análogo ao WSDL SOAP, as modificações
em uma API REST podem ser transparentes às aplicações clientes. Porém, um dos
princípios REST é o de uma interface uniforme de comunicação entre cliente-servidor, ou
seja, são impostas várias restrições a essa interface para que a comunicação seja
consistente. Embora o REST seja stateless (sem estado), uma requisição não deve poder
ter acesso a qualquer outra camada além daquela com a qual está interagindo e não deve
armazenar nenhum dado de sessão do usuário no lado do servidor. Outro princípio REST é
o de que haja clara separação de responsabilidades de interface e servidor (como
armazenamento de dados), ou seja, estas jamais devem ser combinadas.
5. Uma API REST tem seu funcionamento baseado no uso dos verbos ou ações do
protocolo HTTP. Indique a alternativa que explique corretamente o funcionamento de uma
dessas operações disponíveis.
A. POST para atualização dos dados armazenados nas diferentes caches criadas para
a otimização do serviço.
B. GET para recuperação das informações de eventuais falhas ou erros ocorridos
durante a comunicação entre cliente e sevidor.
C. DELETE para a exclusão dos dados da sessão do usuário que estejam
armazenados no lado do cliente.
D. PUT para adição de uma nova função à interface externa do serviço, que, por usa
vez, seria acessada via API REST.
E. POST para a criação de um registro não previamente existente em uma base de
dados usada pelo serviço REST.
Resposta: E
Motivo: O verbo ou ação POST é utilizado para o envio de dados para o lado do servidor.
Logo, estes podem ser persistidos em alguma base de dados. Nenhuma ação REST é
capaz de alterar a interface ou API do serviço, o que inclui a ação PUT. Todas as ações
REST estão relacionadas aos dados manipulados pelo serviço. Logo, nem a ação DELETE
é capaz de alterar a sessão do usuário, nem a ação POST é capaz de alterar informações
de qualquer cache. E, como o REST não tem mecanismo de controle de falhas, esse tipo de
informação não pode ser recuperado via operação GET.
Estrutura SOAP
1. O SOAP possui diversos tipos de dados simples ou genéricos e alguns podem ser
utilizados para mapear dados de um mesmo tipo específico.
Assinale a alternativa que indique a troca de tipo de dado SOAP que não traz nenhum risco
para a integridade do dado mapeado:
A. substituir o tipo short por int.
B. substituir o tipo doublepor float.
C. substituir o tipo float por int.
D. substituir os valores booleanos 0 e 1 por F (falso) e V (verdadeiro).
E. substituir o tipo hexBinarypor byte.
Resposta: A
Motivo: Como os tipos short e int são utilizados para mapear números inteiros, e short tem
menor poder de armazenamento do que int, essa troca pode ser feita sem qualquer risco.
Embora double e float sejam empregados para números decimais, double comporta 64 bits
e float, apenas 32 bits. Logo, essa substituição poderia acarretar perda de alguma precisão
dos números mapeados. Float por int e hexBinary por byte são incompatíveis; logo, não
podem ser substituídos. E valores booleanos comportam apenas 0 e 1 ou true e false, mas
não os caracteres V e F.
2. Uma empresa precisa modelar os pedidos que recebe em uma struct SOAP. Cada pedido
tem uma data de recebimento e um item. O item é composto de um texto para descrição do
pedido, um número indicando a quantidade pedida e o valor total do pedido.
Assinale a alternativa que modela a struct SOAP corretamente.
A. Confira a alternativa A:
<element name="Pedido" type="xsd:complex">
<element name="recebimento" type="xsd:date"/>
<element name="Item" type="xsd:complex">
<element name="descricao" type="xsd:string"/>
<element name="quantidade" type="xsd:int"/>
<element name="valorTotal" type="xsd:float"/>
</element>
</element>
B. Confira a alternativa B:
<element name="Pedido">
<complexType>
<element name="recebimento" type="xsd:date"/>
<element name="Item">
<complexType>
<element name="descricao" type="xsd:string"/>
<element name="quantidade" type="xsd:int"/>
<element name="valorTotal" type="xsd:float"/>
</complexType>
</element>
</complexType>
</element>
C. Confira a alternativa C:
<complexType name="Pedido">
<element name="recebimento" type="xsd:date"/>
<complexType name="Item">
<element name="descricao" type="xsd:string"/>
<element name="quantidade" type="xsd:int"/>
<element name="valorTotal" type="xsd:float"/>
</complexType>
</complexType>
D. Confira a alternativa D:
<element name="Pedido">
<complexType="struct">
<element name="recebimento" type="xsd:date"/>
<element name="Item">
<complexType="struct">
<element name="descricao" type="xsd:string"/>
<element name="quantidade" type="xsd:int"/>
<element name="valorTotal" type="xsd:float"/>
</complexType>
</element>
</complexType>
</element>
E. Confira a alternativa E:
<element name="Pedido">
<complexType>
<element name="recebimento" type="xsd:string"/>
<element name="Item">
<complexType>
<element name="descricao" type="xsd:desc"/>
<element name="quantidade" type="xsd:short"/>
<element name="valorTotal" type="xsd:int"/>
</complexType>
</element>
</complexType>
</element>
Resposta: B
Motivo: A struct Pedido deve ser composta de um tipo simples recebimento (tipo xsd:date) e
outra struct Item. Ambas as structs devem ser definidas com as tags element, com o
atributo name informando o nome do campo (não é permitido o uso do atributo type) e
complexTypesem qualquer atributo para indicar o início da struct. Internos à struct Item, os
três elementos simples devem ser definidos: descricao (type="xsd:string"), quantidade
(type="xsd:int") e valorTotal (type="xsd:float"). O tipo xsd:desc não existe na especificação
SOAP e o uso do tipo xsd:int no elemento valorTotal implicaria que apenas valores inteiros
fossem armazenados, comprometendo as casas decimais dos valores dos pedidos.
3. O seguinte array foi definido para modelar a lista de compras de um cliente:
<element name="listaDeCompras">
<complexType>
<listaDeCompras SOAP-ENC:arrayType="xyz:ur-type[4]">
<Ordem>
<Produto>Maçã</Produto>
<Preco>1.56</Preco>
</Ordem>
<Ordem>
<Produto>Pera</Produto>
<Preco>1.48</Preco>
<Quantidade>5</Quantidade>
</Ordem>
<Cliente>
<Nome>Thiago Nascimento</Nome>
<Celular>99999-9999</Celular>
</Cliente>
<complexType>
</element>
 O esquema utilizado para descrever o array acima foi: <element name="listaDeCompras"
type="SOAP-ENC:Array"/>
Indique a alternativa que aponta as correções que devem ser feitas no array para que ele
esteja de acordo com o esquema definido e seja um tipo de dado composto válido de
acordo com a especificação SOAP.
A. O elemento Cliente subordinado à listaDeCompras deve ser removido juntamente
com seus respectivos elementos internos e o tipo do array deve ser modificado de
ur-type para Ordem.
B. Um atributo type="xsd:array" deve ser adicionado ao elemento complexType e o
atributo arrayType="xyz:ur-type[4]" deve ser movido da listaDeCompras para o
elemento complexType.
C. O elemento composto Cliente deve ser renomeado para Ordem e a quantidade de
elementos permitida no array deve ser ajustada de 4 para 3 no atributo arrayType do
elemento listaDeCompras.
D. Os dois primeiros elementos devem ser removidos (element e complexType) e a
quantidade de elementos permitidano array deve ser ajustada de 4 para 3 no
atributo arrayType do elemento listaDeCompras.
E. O primeiro elemento <element name="listaDeCompras"> deve ser removido e o
elemento complexType deve ser movido de modo a ficar posicionado internamente
ao elemento listaDeCompras.
Resposta: D
Motivo: Uma das maneiras de se definir um array no SOAP é explicitando seu nome e tipo
conforme o esquema fornecido para a lista de compras. Neste caso, o array deve começar
com o elemento cujo nome está no esquema, ou seja, listaDeCompras. Os elementos
iniciais element e complexType não podem ser utilizados como elementos-raízes na
modelagem de um array. Como o tipo do array foi definido como ur-type, ele aceita
elementos de diferentes tipos. Logo, não há a necessidade de ser converter o elemento
Cliente em Ordem. Além disso, como estão presentes 3 elementos no array, o limitador de
elementos no atributo arrayType deve ser alterado de 4 para 3.
4. Uma livraria disponibilizou um web service SOAP no endereço http://livro.com.brpara que
clientes possam consultar o preço de livros. O método consultarPreco espera que os
clientes informem os parâmetros isbn, titulo e anoPublicacao do livro, nessa ordem, para
que possa retornar o preço.
Indique qual requisição SOAP é capaz de se comunicar corretamente com o web service da
livraria.
A. Confira a alternativa A:
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<SOAP-ENV:Body>
<ns1:obterPreco xmlns:ns1="http://livro.com.br"
SOAPENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<isbn xsi:short="xsd:string">0596000686</isbn>
<titulo xsi:type="xsd:string">Java And Web Services</titulo>
<anoPublicacao xsi:type="xsd:int">2020</anoPublicacao>
</ns1:getPrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
B. Confira a alternativa B:
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<SOAP-ENV:Body>
<ns1:consultarPreco SOAP-ENV:encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/">
<isbn xsi:type="xsd:string">0596000686</isbn>
<titulo xsi:type="xsd:string">Java And Web Services</titulo>
<anoPublicacao xsi:type="xsd:int">2020</anoPublicacao>
</ns1:getPrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
C. Confira a alternativa C:
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<SOAP-ENV:Body>
<ns1:consultarPreco xmlns:ns1="http://livro.com.br"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<anoPublicacao xsi:type="xsd:int">2020</anoPublicacao>
<titulo xsi:type="xsd:string">Java And Web Services</titulo>
<isbn xsi:type="xsd:string">0596000686</isbn>
</ns1:getPrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
D. Confira a alternativa D:
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<SOAP-ENV:Body>
<ns1:consultarPreco xmlns:ns1="http://livro.com.br"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<isbn xsi:type="xsd:string">0596000686</isbn>
<titulo xsi:type="xsd:string">Java And Web Services</titulo>
<anoPublicacao xsi:type="xsd:int">2020</anoPublicacao>
</ns1:getPrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
E. Confira a alternativa E:
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<SOAP-ENV:Head>
<ns1:consultarPreco xmlns:ns1="http://livro.com.br"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<isbn xsi:type="xsd:string">0596000686</isbn>
<titulo xsi:type="xsd:string">Java And Web Services</titulo>
<anoPublicacao xsi:type="xsd:int">2020</anoPublicacao>
</ns1:getPrice>
</SOAP-ENV:Head>
</SOAP-ENV:Envelope>
Resposta: D
Motivo: Toda requisição SOAP deve ser iniciada com o elemento SOAP-ENV:Envelope com
os dois atributos de namespace e encodingStyle. Ambos os atributos são obrigatórios. Na
sequência, deve aparecer o elemento SOAP-ENV:Body. O elemento SOAP-ENV:Head não
pode substituir o elemento SOAP-ENV:Body. O primeiro elemento do corpo deve informar o
nome correto do método a ser chamado – consultarPreco – e o endereço do web service –
http://livro.com.br. Além disso, os parâmetros devem aparecer na ordem esperada pelo
método, ou seja, isbn, titulo e anoPublicacao.
5. Um hotel começou a disponibilizar um web service para consulta de preços de diárias. O
serviço retorna o valor da diária de acordo com o tipo e a categoria do quarto. Um cliente
recebeu a seguinte resposta SOAP retornada pelo web service, porém não conseguiu
recuperar o valor da diária.
<SOAP-ENV:Envelope
xmlns:SOAP-ENV = "http://www.w3.org/2001/12/soap-envelope"
SOAP-ENV:encodingStyle = "http://www.w3.org/2001/12/soap-encoding">
<SOAP-ENV:Body xmlns:m = "http://www.xyz.org/reservas">
<m:ConsultarReserva>
<m:TipoDeQuarto>Solteiro</m:TipoDeQuarto>
<m:Categoria>Standard</m:Categoria>
<m:Valor>150.00</m:Valor>
</m:ConsultarReserva>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Indique a alternativa que explica o ajuste que precisa ser feito na resposta SOAP para que
ela esteja de acordo com a especificação do protocolo e possa ser corretamente
interpretada pelos clientes.
A. O tipo de dado da resposta deve ser alterado para um array, como todos os
elementos internos.
B. O valor do atributo encodingStyle deve ser modificado para referenciar o método de
consulta.
C. Um elemento SOAP-ENV:Header deve ser adicionado antes do elemento
SOAP-ENV:Body.
D. A struct ConsultarReserva deve ser renomeada para ConsultarReservaResponse.
E. O valor da diária deve ser posicionado como primeiro elemento da struct
ConsultarReserva.
Resposta: E
Motivo: De acordo com a especificação, o valor de retorno sempre deve ser o primeiro
elemento da struct de retorno. Logo, um tipo de dado composto array não deve ser usado.
O atributo encodingStyle tem um valor padrão indicando o namespace e a instância usada.
Nenhuma referência ao método deve ser indicada neste atributo. O uso de cabeçalho
SOAP-ENV:Header é opcional e, por isso, não interefere no correto processamento da
resposta. Do mesmo modo, o acréscimo da palavra Response ao nome do método é
apenas uma convenção, não comprometendo dessa forma a interpretação da mensagem
de resposta.
Mensagens SOAP
1. SOAP (Simple Object Access Protocol) é um protocolo para troca de informações
estruturadas em ambientes distribuídos.
Para que um documento XML possa ser identificado como uma mensagem SOAP, deve
conter quais elementos?
A. Envelope (obrigatório) – Head (obrigatório) – Fault (opcional).
B. Title (obrigatório) – Envelope (opcional) – Body (obrigatório).
C. Envelope (obrigatório) – Header (opcional) – Body (obrigatório).
D. Header (obrigatório) – Envelope (obrigatório) – Body (opcional).
E. Body (obrigatório) – Envelope (opcional) – Fault (opcional).
Resposta: C
Motivo: Os elementos envelope e body (corpo) são obrigatórios em uma mensagem SOAP.
O envelope identifica o documento XML como uma mensagem SOAP. O body contém
informações a serem transportadas para o destino final. Os elementos header (cabeçalho) e
fault (falha) são opcionais. O header carrega informações adicionais e o fault contém
informações dos erros ocorridos no envio da mensagem.
2. Para a troca de informações entre aplicações via Web, é necessário um padrão para que
o destinatário compreenda a mensagem enviada. SOAP (Simple Object Access Protocol) é
um protocolo de troca de mensagens entre sistemas computacionais recomendado pela
W3C (WWW Consortium).
Sobre esse protocolo, é correto afirmar que:
A. utiliza as linguagens XML, HTML ou JSON para formatar mensagens.
B. só pode ser utilizado para comunicar aplicações em um mesmo sistema operacional
(Windows, Linux ou macOS).
C. não é um protocolo utilizado para troca de mensagens estruturadas em plataformas
centralizadas.D. quando combinado com HTTP, a mensagem SOAP fica retida no firewall, o que
requer modificação na infraestrutura e comunicação para troca de mensagens.
E. tem a característica de neutralidade, o que permite que seja utilizado com qualquer
protocolo de transporte (como HTTP, SMTP, FTP).
Resposta: E
Motivo: O protocolo SOAP utiliza exclusivamente a linguagem XML para formatação de
mensagens. A troca de mensagens estruturadas em plataformas descentralizadas e
distribuídas pode ocorrer independentemente do sistema operacional que esteja sendo
utilizado, pois o SOAP opera com qualquer protocolo de transporte (neutralidade). Além
disso, quando combinada com o protocolo HTTP, a mensagem SOAP passa facilmente pelo
firewall, o que não requer modificações na infraestrutura nem na comunicação para
processar a troca de mensagens.
3. A comunicação entre sistemas computacionais distribuídos pode apresentar falhas por
diversos motivos. O protocolo SOAP tem um elemento em sua estrutura para informar
falhas no processamento da mensagem.
Sobre o elemento fault da mensagem SOAP, pode-se afirmar que:
A. é obrigatório na mensagem SOAP, assim como os elementos envelope, header e
body.
B. o subelemento <faultCode> é um código utilizado para identificar uma classe de
falhas.
C. pode aparecer diversas vezes na mensagem SOAP, para indicar diferentes erros.
D. caso esteja presente na mensagem SOAP, deve aparecer como filho do elemento
header.
E. o subelemento <faultString> é um código utilizado para identificar alguma palavra
que esteja escrita errada na mensagem SOAP.
Resposta: B
Motivo: O elemento fault é opcional em uma mensagem SOAP. Só pode aparecer uma
única vez na mensagem e deve ser filho do elemento body. O subelemento <faultCode> é
um código utilizado para identificar uma classe de falhas (resposta correta). O subelemento
<faultString> é uma explicação humana legível da falha.
4. O protocolo SOAP tem uma estrutura que identifica a mensagem SOAP em um arquivo
XML. O elemento envelope é obrigatório nessa estrutura.
Sobre esse elemento, é correto afirmar que:
A. o elemento envelope deve ser o elemento-raiz (root) da mensagem SOAP.
B. os elementos obrigatórios header e body podem estar fora do elemento envelope,
mas na mesma mensagem SOAP.
C. o elemento envelope pode ter entre zero e dois elementos-filhos.
D. vários namespaces podem ser associados ao elemento envelope.
E. o atributo encodingStyle dentro de um envelope é utilizado para definir o estilo do
documento XML.
Resposta: A
Motivo: O elemento envelope deve ser o elemento-raiz de um documento XML, para
identificar que este será uma mensagem SOAP. Os elementos header (opcional) e body
(obrigatório) devem estar dentro do elemento envelope. Este pode ter entre um e dois
elementos-filhos, já que o elemento body é obrigatório e deve estar contido dentro de
envelope. Um único namespace deve estar associado ao envelope. Caso esse elemento
tenha outro namespace, a aplicação deve gerar um erro e descartar a mensagem. O
atributo encodingStyle é utilizado para definir os tipos de dados usados no documento.
5. O protocolo SOAP é recomendado pela W3C (WWW Consortium) e, para estabelecer
comunicação entre aplicações, deve conter determinados elementos em sua estrutura.
Sobre o elemento header (cabeçalho) da mensagem SOAP, assinale a opção correta.
A. O elemento header é obrigatório nas mensagens SOAP.
B. O elemento header pode ser o segundo elemento-filho do elemento envelope.
C. Seu atributo ator tem o objetivo de endereçá-lo a um terminal específico.
D. Dentro do elemento header se encontra o conteúdo da mensagem, como processo
de invocação e parâmetros necessários.
E. O atributo mustUnderstand tem a função de definir os tipos de dados utilizados no
elemento header.
Resposta: C
Motivo: O elemento header (cabeçalho) é opcional em uma mensagem SOAP. Se estiver
presente, deve ser o primeiro elemento-filho do elemento-raiz envelope. O header tem os
seguintes atributos: ator, cujo objetivo é endereçá-lo a um terminal específico, e
mustUnderstand, que indica se será interpretado ou não pelo destinatário. O conteúdo da
mensagem, como processo de invocação e parâmetros necessários, está dentro do
elemento obrigatório body (corpo).
Validação SOAP
1. Para realizar negócios na Internet, por onde circulam informações importantes para as
organizações e, muitas vezes, sigilosas, garantir a segurança das informações é uma
necessidade crítica. Com os Web Services, as aplicações tornam-se muito mais visíveis,
expondo, assim, seus fluxos de negócios, processos e arquiteturas internas.
Qual é a especificação utilizada para permitir a construção de Web Services seguros,
utilizando-se extensões ao protocolo SOAP?
A. HTTPS.
B. UDP.
C. WS-Security.
D. XKMS.
E. XACML.
Resposta: C
Motivo: O HTTPS é um protocolo da camada de transporte em que a segurança só é
garantida em determinado caminho (ponto a ponto). O UDP é um protocolo que permite o
envio de datagramas encapsulados em um pacote ipv4 ou ipv6 sem garantia de entrega
dele. WS-Security é uma extensão do protocolo SOAP para aplicar segurança nos Web
Services (resposta correta). O XKMS é uma especificação que tem o objetivo de facilitar o
gerenciamento de chaves públicas de criptografia transferindo a complexidade da chave
para um Web Service. A XACML descreve uma linguagem para políticas de controle de
acesso e um formato para mensagens de solicitação e resposta.
2. Um token em um Web Service é uma reivindicação qualquer que geralmente representa
a identificação do utilizador.
Observe a figura a seguir:
Assinale a alternativa que representa a validação de tokens na autenticação de uma
mensagem SOAP:
A. 1
B. 2
C. 3
D. 4
E. 5
Resposta: D
Motivo:
1 – Envia o pedido de tokens de segurança (podendo ser Web Services ou não).
2 – Recebe tokens para adicionar à mensagem SOAP.
3 – Assina e envia mensagens para Web Services.
4 – Valida tokens.
5 – Recebimento de resposta.
3. A especificação WS-Security, que foi proposta inicialmente pela IBM e Microsoft e
adotada pela OASIS, em 2004, trata da segurança de mensagens SOAP.
Quais propriedades de segurança essa especificação garante?
A. Integridade e confidencialidade.
B. Confidencialidade e autorização.
C. Não repúdio e autorização.
D. Autenticação e integridade.
E. Confidencialidade e não repúdio.
Resposta: A
Motivo: Os mecanismos da especificação WS-Security garantem a integridade e a
confidencialidade de mensagens SOAP. O WS-Security tem mecanismos para construção
de protocolos para autenticação, mas não trata diretamente de como a autenticação deve
ser realizada. A linguagem SAML especifica documentos XML para troca de informações
sobre autenticação e autorização relativos a um usuário de Web Service. A autenticação
tem papel importante no não repúdio, pois é uma condição para essa propriedade (um
cliente precisa mostrar que é ele mesmo).
4. A especificação SOAP básica não prevê segurança na troca de mensagens, deixando
essa tarefa para especificações estendidas. O WS-Security é uma dessas especificações
padronizada pela OASIS, com o objetivo de garantir a segurança não somente no nível da
camada de transporte, mas fim a fim, tornando os Web Services seguros.
Em qual elemento da mensagem SOAP o WS-Security é implementado?
A. <Body>.
B. <Security>.
C. <Fault>.
D. <Namespace>.
E. <Header>.
Resposta: E
Motivo: A especificação WS-Security é implementada no elemento <Header>, que contém
informações específicas da aplicação, como elementos de segurança.
5. O SOAP (Simple Object Access Protocol) é um protocolo para troca de dados
estruturados em ambientes distribuídos. O protocolo estabelece que as mensagens SOAP
tenham uma estrutura básica.
Qual elemento dessa estrutura trata os erros das mensagens SOAP?
A. <Header>.
B. <Fault>.
C. <Envelope>.
D. <Xml>.
E. <Body>.
Resposta: B
Motivo: A mensagem SOAP é formada por elementos obrigatórios (envelope e body) e
elementos opcionais (header e fault). O envelope é o elemento raiz de uma mensagem
SOAP. O bodyé o elemento que contém a mensagem propriamente dita. O header contém
informações específicas de aplicações. E o elemento fault trata os erros das mensagens
SOAP.
Estrutura do XML
1. A linguagem XML é recomendada pela W3C e foi projetada para descrever dados
utilizando elementos que podem ser definidos pelo usuário.
Assinale a opção que tem um elemento escrito de forma correta, de acordo com a sintaxe
do XML.
A. <Elemento></elemento>
B. <!elemento> </!elemento>
C. <ELEMENTO> </ELEMENTO>
D. <elemento> /elemento>
E. <xelemento></xelemento>
Resposta: C
Motivo: A linguagem XML é case-sensitive, ou seja, Elemento é diferente de elemento.
Caracteres especiais não devem ser utilizados para nomear um elemento. A tag inicial e a
tag final do elemento estão escritas da mesma forma e foram abertas e fechadas
corretamente. As tags devem ser abertas e fechadas corretamente. Os elementos não
devem iniciar com as letras x, m ou l.
2. Arquivos são o meio que geralmente são utilizados para trocar dados entre sistemas
computacionais. Eles têm padrões e determinada organização. Com isso, é possível trocar
informações em diferentes dispositivos, enviando e recebendo dados estruturados de forma
simplificada. O trecho do arquivo a seguir permite essa comunicação por seguir um padrão
conhecido como:
<bilhete><para>Maria</para><remetente>João</remetente><texto>Quero falar com você
pessoalmente</texto></bilhete>
A. PDF.
B. CSV
C. ODF
D. XML
E. CSS
Resposta: D
Motivo: A linguagem de marcação XML, resposta correta, permite a comunicação de
diferentes sistemas em diferentes dispositivos. CSS (Cascading Style Sheets) é uma
linguagem de estilo. CSV (Comma-Separated-Values) é um formato de arquivo, no qual os
campos dos dados são separados por vírgulas. DF (Open Document Format) é um formato
de arquivo utilizado para documentos de formato aberto, utilizados para troca e
armazenamento de documentos de textos, apresentações, planilhas eletrônicas, desenhos,
etc. Arquivos PDF (Portable Document Format) descrevem documentos com texto e
gráficos em um formato independente da resolução dos dispositivos que estejam sendo
visualizados.
3. A linguagem de marcação XML foi desenvolvida para descrever e trocar dados. Arquivos
XML podem ser formados por tags, elementos e atributos. As tags são delimitadas por “<>”
e iniciam e finalizam os elementos. Os elementos são as tags de início e fim e todo o
conteúdo entre elas.
Os atributos ficam localizados dentro da tag de início de um elemento. Assinale a alternativa
correta sobre a estrutura dos arquivos XML.
A. Os atributos de um arquivo XML podem conter múltiplos valores.
B. Os atributos de um arquivo XML podem descrever estruturas.
C. Os elementos podem conter múltiplos atributos.
D. Os elementos não podem conter outros elementos dentro deles.
E. Os atributos podem conter elementos.
Resposta: C
Motivo: Atributos de um arquivo XML não podem conter múltiplos valores. Elementos filhos
podem. Atributos não podem descrever estruturas. Elementos filhos podem. Os elementos
podem conter múltiplos atributos além de outros elementos. Apenas os elementos podem
conter atributos.
4. A linguagem XML é uma linguagem de marcação recomendada pela W3C (WWW
Consortium), derivada da linguagem SGML (Standard Generalized Markup Language, ou
Linguagem de Marcação Padrão Generalizada), que foi projetada para armazenar e
transportar dados de forma hierárquica.
Um dos principais objetivos do XML é:
A. prover a comunicação na Web por meio da troca de arquivos de forma dependente
de sistemas operacionais e formatos de arquivos.
B. facilitar a análise dos documentos XML por diferentes programas.
C. ter uma especificação informal para marcação de documentos.
D. ter um conjunto de tags pré-definido.
E. suportar uma quantidade limitada de aplicações, não permitindo que elementos
sejam definidos por usuários para estruturar os documentos.
Resposta: B
Motivo: Os principais objetivos da linguagem XML são prover a comunicação na Web, por
meio da troca de arquivos de forma independente de sistemas operacionais e formatos de
arquivos, e facilitar a análise dos documentos XML por diferentes programas (resposta
correta). Além disso, deve ter uma especificação de forma para marcação de documentos.
Não tem um conjunto definido de tags, podendo os elementos conter diferentes nomes em
suas tags.
5. Um documento XML é um formato que obedece a uma série de regras de sintaxe da
linguagem. Existem dois níveis de conformidade com o padrão XML. Um deles é a boa
formação e o outro é a validade. Para ser bem formado, o documento XML precisa seguir
algumas regras específicas. Assinale a opção que contém uma dessas regras.
A. Um documento XML pode ter mais de um elemento-raiz.
B. Um documento XML pode ter nenhum elemento.
C. Os elementos de um documento XML não precisam de tag inicial e tag final.
D. Os atributos de um documento XML não precisam estar entre aspas.
E. Um documento XML deve começar com uma declaração XML.
Resposta: E
Motivo: O W3C recomenda que um documento XML deva ter uma declaração XML e esta
deve ser a primeira coisa a aparecer no documento (resposta correta). O documento deve
ter apenas um elemento-raiz, que deve conter todos os outros elementos. Deve ter pelo
menos um elemento, e todos os elementos devem ter uma tag inicial e uma tag final. Os
atributos devem estar entre aspas e serem valorados.
Componentes XML
1. Uma empresa tem um arquivo XML contendo suas informações institucionais (nome
fantasia, endereço, telefone, gerente). Uma alteração precisa ser feita nesse XML para
inclusão da razão social da empresa.
Considerando que a validação do XML é feita por meio de um DTD, assinale a alternativa
que corresponde à maneira correta de se implementar essa alteração.
A. Inclusão de uma tag <razao-social /> como último elemento do XML e inclusão de
uma tag <! ELEMENT razao-social> no final do DTD.
B. Adição de uma nova tag <razao-social /> em qualquer parte do arquivo XML e uma
tag <! ELEMENT razao-social> em qualquer trecho do DTD.
C. Inclusão de uma tag <razao-social /> abaixo da tag referente ao nome fantasia e
uma tag <! ELEMENT razaosocial> na mesma posição no DTD.
D. Inclusão de uma tag <razao-social /> no início do XML e uma tag <! ELEMENT
razao-social> no trecho final do DTD.
E. Inclusão de uma tag <razao-social /> interna à tag referente ao nome fantasia no
XML e uma tag <! ELEMENT razao-social> no início do DTD.
Resposta: A
Motivo: Os elementos em um DTD devem ser definidos na mesma ordem em que eles
devem aparecer no documento XML. Além disso, o nome de cadaELEMENT definido no
DTD deve corresponder exatamente ao nome do elemento no XML. Ordens diferentes entre
os elementos do XML e do DTD tornam o documento inválido. Outra condição de invalidade
acontece quando há alguma discrepância entre os nomes das tags do XML e do respectivo
DTD.
2. Uma universidade quer usar o formato XML para o envio e recebimento dos dados
cadastrais de alunos. Para a validação dos arquivos, será usado XML Schema.
Inicialmente, serão utilizados apenas 3 informações: nome do aluno, data de nascimento e
número do CPF.
Indique a alternativa que descreve a especificação correta do XML Schema para esse
cenário.
A. Definir os três elementos como atributos de um elemento complexType. Os tipos
desses atributos seriam String por padrão.
B. Definir o nome do aluno como String, a data de nascimento como Date e o número
de CPF como int, e todos eles internos um elemento complexType.
C. Definir cada elemento como um complexType e aninhar cada um dentro de um
elemento do tipo sequence.
D. Definir os três elementos como do tipo String e utilizar o mecanismo de herança para
particularização do tipo de cada elemento.
E. Definir cada elemento como do tipo sequence e manter o seu posicionamento
externo ao elemento schema.
Resposta: B
Motivo: Como nome de aluno pode aceitar diferentes caracteres, a data de nascimento deve
aceitar apenas datas válidas e o CPF é composto apenas de números, os tipos dos
elementos devemser String, Date e int, respectivamente. Eles não devem ser definidos
como elementos complexType, já que essa tag é usada para o aninhamento de outros
elementos. Também não devem ser definidos como sequence, porque essa tag é
empregada para a especificação de uma sequência de outros elementos. O mecanismo de
generalização/herança do XML Schema também não se aplica nesse cenário, tendo em
vista não haver propriedades comuns entre os elementos em questão. E, para que o XML
seja considerado válido, todos os elementos devem ser posicionados internamente à tag
schema
3. Um periódico científico está recebendo a submissão de várias propostas de artigos para
serem incluídos em sua próxima edição. As propostas são enviadas em formato XML
conforme o exemplo:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="example.xsl"?>
<Artigo>
<Titulo>Meu Artigo</Titulo>
<Autores>
<Autor>Sr. Foo</Autor>
<Autor>Sr. Bar</Autor>
</Autores>
<Body>Este é o texto do artigo.</Body>
</Artigo>
Os editores desejam extrair as informações das propostas e gerar um documento no
seguinte formato:
Artigo: Meu Artigo
Autores:
- Sr. Foo
- Sr. Bar
Assinale a alternativa que completa o trecho de código XSLT a seguir, capaz de extrair as
informações dos documentos XML e formatá-las conforme desejado pelos editores.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- trecho de código faltante -->
</xsl:stylesheet>
A. <xsl:template match="/">
Artigo: <xsl:select="/Artigo/Titulo"/> <br/>
Autores:
- <xsl:select="/Artigo/Autores/Autor">
- <xsl:select="/Artigo/Autores/Autor">
</xsl:template>
B. <xsl:template match="Artigo">
Artigo: <xsl:value-of select="/Artigo/Titulo"/> <br/>
Autores:
<xsl:for-each select="/Autores">
<br/>- <xsl:value-of select="Autor" />
</xsl:for-each>
</xsl:template>
C. <xsl:template match="/">
Artigo: <xsl:value-of select="/Artigo/Titulo"/> <br/>
Autores:
<xsl:for-each select="/Artigo/Autores/Autor">
<br/>- <xsl:value-of select="." />
</xsl:for-each>
</xsl:template>
D. <xsl:template match="/">
Artigo: Meu Artigo <br/>
Autores:
- Sr. Foo
- Sr. Baa
</xsl:template>
E. <xsl:template match="/">
Artigo: <xsl:value-of select="/Titulo"/> <br/>
Autores:
<xsl:for-each select="Autores/Autor">
<xsl:value-of select="." />
</xsl:for-each>
</xsl:template>
Resposta: C
Motivo: O template XSLT precisar indicar o contexto raiz ("/") a partir do qual o
processamento vai acontecer. O conteúdo não XSLT "Artigo: " deve ser informado na
primeira linha dentro do template para que seja copiado para a saída. Na sequência, a regra
de recuperação do título (<xsl:value-of select="/Artigo/Titulo"/>) deve ser informada na
frente desse texto, seguida de um tag HTML de quebra de linha <br/>. O conteúdo não
XSLT "Autores: " deve ser informado seguido da regra que itera sobre os autores dos
artigos (<xsl:for-each select="/Artigo/Autores/Autor">). Interno a essa regra, o seletor do
conteúdo de cada tag autor (<xsl:value-of select="." />) deve ser descrito para recuperação
do nome do autor. Uma quebra de linha e um conteúdo não XSLT "-" devem anteceder essa
regra para correta impressão dos autores.
4. Uma empresa de contabilidade precisa fazer o processamento de vários lotes de
arquivos XML para efetuar o balanço fiscal de seus clientes. Os arquivos têm diferentes
tamanhos, e devem ser processados apenas os arquivos dos clientes vinculados ao setor
de TI (o segmento de atuação do cliente é um dado presente no arquivo XML).
Assinale a alternativa que descreve a seleção e a justificativa do parser XML correto para
esse cenário.
A. Uso de um parser DOM. A seleção dos arquivos poderá ser feita sem que o arquivo
seja inteiramente carregado em memória, o que garante um uso eficiente desse
recurso.
B. Uso de um parser SAX. A construção da estrutura de árvore possibilitará uma
seleção rápida dos arquivos e viabilizará um gerenciamento mais eficiente da
memória.
C. Uso de um parser DOM. O mecanismo de eventos pode ser usado para seleção dos
arquivos, e o uso eficiente da memória será obtido com a geração da estrutura de
árvore.
D. Uso de um parser SAX. A seleção dos arquivos pode ser programada por meio de
um evento, e o uso de memória será mais eficiente pelo carregamento parcial do
arquivo.
E. Uso de um parser DOM. A estrutura de árvore gerada permitirá que eventos sejam
disparados para fins de seleção de arquivos e processamento eficiente em memória.
Resposta: D
Motivo: Um parser SAX possibilita que um evento seja disparado quando a tag que contém
a informação do segmento seja processada. Caso o arquivo não seja de um cliente de TI, o
carregamento em memória é interrompido, o que garante um uso mais eficiente desse
recurso. Esse mecanismo de eventos é exclusivo do SAX, assim com a geração de uma
estrutura de árvore é exclusiva de um parser DOM. Uma desvantagem no uso de DOM é
exatamente o carregamento completo do arquivo em memória em virtude da estrutura de
árvore criada, levando a uma demanda muito maior por memória.
5. Um aluno recebeu, no seguinte arquivo XML (boletim.xml), as notas obtidas nas
disciplinas cursadas.
<?xml version="1.0"?>
<boletim>
<aluno>
<nome>Thiago Nascimento</nome>
<matricula>1234-5678</matricula>
</aluno>
<notas>
<nota disciplina="portugues">5</nota>
<nota disciplina="matematica">10</nota>
<nota disciplina="geografia">7</nota>
<nota disciplina="historia">6</nota>
<nota disciplina="fisica">8</nota>
<nota disciplina="quimica">9</nota>
<nota disciplina="biologia">8</nota>
</notas>
</boletim>
Para saber se ele foi aprovado para o próximo ano, todas as notas obtidas devem ser
superiores a 7.
Assinale a alternativa que apresenta uma consulta XQuery válida e que retorne todas as
notas inferiores a 7, indicando, dessa forma, que o aluno foi reprovado.
A. for doc("boletim.xml")/notas/nota
where $nota/nota<7
 return $nota
B. for $nota in doc("boletim.xml")/notas
where $nota<7
 return $nota
C. for $n in doc("boletim.xml")/notas
where $n/disciplina/nota<7
 return $n
D. for $n in doc("boletim/notas/nota")
where $n<7
 return $n
E. for $n in doc("boletim.xml")/notas/nota
where $n/nota<7
 return $n
Resposta: E
Motivo: A consulta deve carregar o arquivo "boletim.xml" por meio da função doc e iterar
sobre as notas por meio de um laço for que faça uso de uma expressão XPath para acessar
cada nota (for $n in doc("boletim.xml")/notas/nota). Interno ao laço, a condição de notas
inferiores a 7 precisa ser aplicada (where $n/nota<7), e cada nota que satisfaça à condição
deve ser retornada por meio do comando return (return $n).
Servidores de aplicação JPA
1. Para que se possa acessar uma entidade do banco de dados por meio da ORM por meio
de um POJO, determinados metadados são adicionados por meio de anotações para que a
JPA possa gerar o elo entre os modelos. Analise as afirmativas a seguir, que tratam sobre
as anotações ORM, e classifique-as em verdadeiras (V) ou falsas (F):
( ) @Id define qual atributo corresponde à chave primária da tabela.
( ) @Table é aplicada para definir que o POJO representa uma ou mais tabelas da base de
dados.
( ) @Entity indica que o POJO está ligado a uma tabela da base.
( ) @GeneratedValue define as estratégias de geração da chave primária.
( ) @Column permite que sejam inseridas novas colunas na tabela correspondente.
A. V – V – F – V – V.
B. V – F – V – V – F.
C. V – F – V – F – V.
D. F – V – V – F – V.
E. F – F – F – V – V.
Resposta: B
Motivo: A anotação @Entity indica que o POJO está ligado a uma tabela da base, enquanto
@Table especifica qual é a tabela correspondente. A ligação entre cada atributo e suas
colunas correspondentes é anotada em @Column. @GeneratedValue define as estratégias
de geração da chave primária, enquanto @Id define qual atributo corresponde à chave
primária da tabela.
2. Um EntityManager é um objeto responsável por gerenciar as ações de persistência,
sendo ele o responsável por proporcionar as ações de CRUD, por exemplo. Ele atua sobreum conjunto de classes persistentes definidas em uma tag específica do arquivo
persistence.xml. Assinale a alternativa correta que indica a tag mencionada:
A. javax.persistence.
B. property.
C. EntityManagerFactory.
D. persistence-unit.
E. createEntityManager.
Resposta: D
Motivo: Uma persistence-unit é um agrupamento lógico de classes persistentes definidas
pelo usuário no arquivo persistence.xml. Ele é composto por um conjunto de tags property
que assinalam as configurações específicas da unidade de persistência.
EntityManagerFactory e createEntityManager são a classe e o método, respectivamente,
utilizados na instância de um EntityManager. Essas classes fazem parte do pacote
javax.persistence.
3. Em uma aplicação Java Web que utiliza o Hibernate, um desenvolvedor digitou o
fragmento de código a seguir em um ambiente ideal e configurado corretamente.
Pessoa pessoa = entityManager.find(Pessoa.class, 121);
Assinale a alternativa correta quanto ao objeto pessoa.
A. Os dados da tupla com o id especificado no método find serão carregados no objeto
pessoa.
B. Ainda não foi salvo no banco de dados, pois o método persist apenas torna o objeto
persistente, necessitando obrigatoriamente ser executado em um bloco de transação
para salvar o objeto.
C. Ainda não foi salvo no banco de dados, pois a geração de instruções INSERT
ocorrerá somente após um commit da transação ou fechamento da sessão.
D. Foi salvo no banco, uma vez que o método persist já executa o comando INSERT
automaticamente para objetos nesse estado.
E. Pode não realizar a busca, pois o objeto não foi colocado em bloco de transação.
Resposta: A
Motivo: O método find retornará os dados da tupla com o id especificado e os carregará no
objeto pessoa. Como o trecho não indica a necessidade do método persist, os dados não
serão salvos no banco de dados, mesmo que estivessem em bloco de transação. O bloco
de transação é necessário somente para operações que alterem o estado dos registros
(inserção, alteração e exclusão).
4. Hibernate surgiu como uma solução para o aumento de produtividade na geração da
camada de persistência. Ele foi tão bem-sucedido com o uso da ORM (Object Relational
Mapping) que serviu de inspiração para a definição da JPA.
Sobre o Hibernate, podemos afirmar que:
A. Hibernate implementa especificações contidas na JPA, atuando entre a camada
JDBC e a camada de acesso a dados da aplicação.
B. Em sua configuração, o Hibernate torna opcional a utilização do arquivo
persistence.xml para definição da unidade de persistência.
C. Devido à utilização do Hibernate, o JDBC (Java Database Connectivity) não é mais
utilizado em aplicações, sendo descontinuado.
D. A Java Persistence API substitui as funções disponibilizadas pela implementação
Hibernate, tornando-o desnecessário e obsoleto.
E. O objetivo do Hibernate é fornecer interface ORM entre objetos Java e bancos de
dados apenas para fins de consulta das informações.
Resposta: A
Motivo: O Hibernate é uma das implementações da JPA, situando-se entre a camada JDBC
e a camada de acesso a dados da aplicação. Ele utiliza o arquivo persistence.xml para
definir suas unidades de persistência e, assim, fornecer uma interface para consulta e
alteração das informações contidas na base de dados. Ele dispensa a criação das consultas
SQL, como seriam feitas utilizando diretamente o JDBC, mas ainda utiliza o Java Database
Connectivity, servindo como uma camada de abstração entre aplicação e JDBC. A JPA é
uma especificação, ou seja, um padrão para criação de frameworks que implementam suas
regras, como é o caso do Hibernate.
5. Cada projeto tem suas particularidades, dependendo do objetivo final esperado. Com
base nessas especificidades, selecionamos frameworks, APIs e bibliotecas que
complementam ou agilizem a sua construção. Analise as afirmativas a seguir sobre as
expectativas no uso de uma implementação da Java Persistence API, e classifique-as em
verdadeiras (V) ou falsas (F):
( ) Abstrair queries SQL, traduzindo tabelas de dados para classes simples.
( ) Eliminar a dependência de um banco de dados relacional.
( ) Reduzir o tempo gasto com a escrita de consultas SQL.
( ) Fornecer um controlador que gerencie os dados em formato XML.
( ) Permitir que a camada de apresentação gerencie a persistência dinamicamente.
A. V – F – F – F – V.
B. F – V – V – F – F.
C. V – F – V – F – F.
D. V – F – F – V – V.
E. F – F – V – V – V.
Resposta: C
Motivo: Uma implementação da Java Persistence API abstrai queries SQL, realizando a
tradução das tabelas de dados para classes simples, sem a necessidade de gerenciar os
dados em formato XML. Ela facilita a criação de uma camada de persistência e abstrai a
criação de consultas SQL, reduzindo o tempo de desenvolvimento. Ela não elimina a
necessidade de um banco de dados relacional, ao contrário, ela facilita a interface com ele.
Cliente de web services (JSP, PHP)
1. Considerando a implementação de um Web service, pode-se afirmar que existem
estruturas de assinatura de descrição e descoberta.
Essas estruturas são conhecidas, respectivamente, por:
A. JSON e XML.
B. WSDL e XML.
C. WSDL e URI.
D. URI e SOAP.
E. URI e XML.
Resposta: C
Motivo:WSDL é uma estrutura de descrição e URI de descoberta. JSON e XML são
notações e linguagem de marcação que definem a estrutura dos objetos enviados pelos
Web services. Já WSDL é uma estrutura, mas XML é uma linguagem de marcação que
define a estrutura do objeto. URI (Identificador Uniforme de Recurso) é o endereço utilizado
para identificar um recurso na Internet. E o SOAP é um protocolo para troca de informações
estruturadas utilizado pelo Web service.
2. Web Services Description Language (WSDL) é utilizada para definir serviços como uma
coleção de endpoints (endereços de rede), ou portas. 
É correto afirmar que a linguagem WSDL descreve:
A. as regras de validação de um documento XML.
B. as mensagens SOAP no formato de documentos XML.
C. o padrão de requisição para serviços REST.
D. o protocolo de segurança definido pela W3C.
E. o tipo de linguagem de desenvolvimento do Web service.
Resposta: B
Motivo: WSDL é uma descrição em formato XML de um Web service que utilizará SOAP.
Como o XML é uma linguagem de marcação, sua estrutura é definida por tag, definindo os
objetos e atributos. O padrão da requisição definida para serviços REST são os verbos
HTTP (get, post, put, delete, entre outros) definidos juntamente com a URI. A W3C é
responsável pela padronização dos Web services, e não por protocolos de segurança que
serão utilizados no Web service. O desenvolvimento do Web service é independente de
linguagem de desenvolvimento.
3. Podemos citar como um exemplo prático de Web service um portal que pesquisa
diversas empresas aéreas com o intuito de organizar programas especiais de fim de
semana. Se previamente o usuário informar que gostaria de alugar um carro na cidade
escolhida, fazer a reserva de uma mesa em um restaurante, realizar a compra de ingressos
para o teatro e realizar a pesquisa de hotéis dentro da faixa de preços informada, o Web
service da empresa aérea escolhida submete as informações aos outros Web services
responsáveis pelas tarefas citadas e efetua as requisições do cliente.
Nesse contexto, marque o item correto referente às arquiteturas de integração de Web
services.
A. Interoperabilidade é a capacidade de um sistema de se comunicar somente com
outro sistema.
B. O desenvolvimento de um Web service é utilizado somente para disponibilizar
aplicações já existentes na Internet.
C. Toda e qualquer aplicação publicada na Internet pode ser considerada um Web
service, independentemente de linguagem de publicação e sistema.
D. Web service é uma solução utilizada na integração de sistemas e na comunicação
entre aplicações diferentes.
E. REST é um estilo de protocolo de segurança que define um conjunto de restrições a
serem usadas para a criação de Web services.
Resposta: D
Motivo: Interoperabilidade é a capacidade de um sistema de se comunicar de forma
transparentecom um ou mais sistemas. Um Web service é uma solução utilizada na
integração de sistemas e na comunicação entre aplicações diferentes para Internet,
podendo disponibilizar dados antes off-line e torná-los acessíveis a outras aplicações na
Internet, mas nem toda aplicação na Internet é considerada um Web service. REST é um
estilo de arquitetura de software que define um conjunto de restrições a serem utilizadas
para a criação de Web Services.
4. Simple Object Access Protocol (SOAP) é uma especificação para requisitar métodos de
negócio, como documentos XML, e que suporta outros protocolos, como HTTP e SMTP. 
Em relação à sintaxe do SOAP, avalie as seguintes afirmações:
I. Uma mensagem SOAP deve ser codificada usando XML.
II. Uma mensagem SOAP não deve usar o namespace SOAP Envelope.
III. Uma mensagem SOAP não deve conter instruções de processamento XML.
 IV. Uma mensagem SOAP deve conter uma referência DTD.
Está correto o que se afirma em:
A. I e III.
B. III.
C. II e IV.
D. I e IV.
E. II.
Resposta: A
Motivo: Uma mensagem SOAP é baseada em XML; por isso, deve ser codificada com ela e
não precisa conter instruções de processamento em XML. Contudo, é necessário utilizar o
namespace SOAP Envelope para que seja possível identificar e não deve conter uma
referência DTD, já que é somente necessária uma estrutura de XML válida.
5. Diversas áreas do conhecimento discutem atualmente sobre a possibilidade de
aproveitar melhor a massa de informações disponível na Internet, transformando-a em algo
mais gerenciável e útil. Algumas propostas em estudo contemplam a adoção da linguagem
de marcação XML.
Sobre a estrutura básica de um XML (Extensible Markup Language), escolha a afirmativa
correta:
A. Nem todo documento XML deve conter o elemento root.
B. Somente elementos root devem estar aninhados.
C. XML não é case sensitive.
D. Todos os elementos precisam de tags de fechamento.
E. O XML, linguagem de programação, não necessita de formatação e validação.
Resposta: D
Motivo: Por ser uma linguagem de marcação, o XML precisa conter tags de abertura e
fechamento do bloco de código, bem como o elemento root para sua definição de XML,
como HTML, que também é um exemplo de outra linguagem de marcação. Sendo case
sensitive, há distinção de escrita com letras maiúsculas e minúsculas. É necessário que o
documento XML seja válido e formatado, pois é requisito da própria linguagem. Além disso,
todos os elementos devem estar aninhados.
Software de Apoio
1. O Postman é uma ferramenta de uso simples, com funcionalidades que dão apoio ao
desenvolvimento de software. Esses recursos podem agilizar o processo de produção de
um aplicativo.
Sobre sua função, pode-se afirmar que o Postman:
A. é um editor de código JavaScript multiplataforma.
B. é uma aplicação apropriada para testes em APIs REST.
C. é um repositório on-line de plugins de desenvolvimento.
D. é um aplicativo de correção automática de erros de código.
E. é um interpretador de dados em formato JSON.
Resposta: B
Motivo: O Postman é uma aplicação para a realização de testes em APIs REST. Por meio
do protocolo HTTP, é possível fazer requisições a um serviço web e visualizar as respostas
do servidor em diferentes formatos. A ferramenta não tem a funcionalidade de editar código,
além de não ser um repositório on-line para plugins de desenvolvimento, visto que é um
software e não um site. Também não é papel do Postman corrigir erros de código. A
ferramenta, por meio de recursos de monitoramento, auxilia no entendimento de se há ou
não erros em uma API. Por fim, o Postman não é um interpretador de dados em formato
JSON. Quando uma requisição é feita, o servidor da API retorna os dados em diversos
formatos, como JSON, XML e HTML. O Postman se encarrega de exibir esses dados, mas
não é uma ferramenta de interpretação de informações.
2. O SoapUI tem, como uma de suas funcionalidades, os testes de API REST, em que, por
meio de métodos do protocolo HTTP, pode consumir ou gravar dados na API.
Além disso, pode-se afirmar que o SoapUI pode ser utilizado em testes de:
A. vendas de software.
B. conversão de dados.
C. correção automática de códigos.
D. SOAP APIs.
E. mineração de dados.
Resposta: D
Motivo: O SoapUI é uma ferramenta para testes de REST APIs e SOAP APIs, retornando
dados em formatos como JSON, HTML ou até mesmo XML. A ferramenta não pode ser
utilizada em correções automáticas de códigos, pois quaisquer correções necessárias
devem ser feitas manualmente pelo desenvolvedor. Além disso, o SoapUI não é uma
ferramenta para conversão de dados, visto que seu papel é testar APIs e verificar questões
como segurança e desempenho, nem para testes de vendas de software, pois se trata de
uma aplicação para uso de programadores, não sendo uma ferramenta de marketing. Por
fim, o SoapUI não é uma ferramenta para mineração de dados. Os dados que a ferramenta
consegue visualizar são gerados por APIs e não por métodos de mineração de dados.
3. No SoapUI, ao fazer uma requisição para uma API, é possível escolher o formato de
retorno dos dados (se estiver disponível mais de um formato).
Nesse caso, quais são os possíveis formatos de retorno nessa ferramenta?
A. RAW, HTML, JSON e XML.
B. DOCX, XLSX, PPTX e ACCDB.
C. DOCX, HTML, PHP e JAVA.
D. CSS, PPTX, ACCDB e HTML.
E. JSON, XML, RAW e CSS.
Resposta: A
Motivo: Os formatos que podem ser visualizados no SoapUI são RAW, HTML, JSON e XML.
Na interface principal do programa, é possível selecionar o formato desejado para
visualização dos dados, desde que esses dados existam na API no formato escolhido. Os
formatos DOCX, XLSX, PPTX e ACCDB se referem a arquivos de extensão do Microsoft
Office. PHP e JAVA são linguagens de programação e não arquivos de dados. CSS não é
um arquivo de dados, mas um arquivo utilizado para estilizar páginas web.
4. Além do Postman e do SoapUI, outras ferramentas podem ser utilizadas para
requisições. Uma delas também trabalha com requisições REST.
Que ferramenta é essa?
A. Visual Studio Code.
B. Eclipse.
C. Insomnia.
D. Sublime Text.
E. Brackets.
Resposta: C
Motivo: Uma ferramenta muito utilizada, similar ao SoapUI e ao Postman, é a Insomnia.
Com ela, é possível fazer requisições HTTP. Visual Studio Code, Eclipse, Sublime Text e
Brackets são editores de código-fonte de diversas linguagens de programação, não sendo
utilizados para fazer testes em APIs.
5. A comunicação entre os softwares de apoio e as APIs é realizada por meio de protocolos
de comunicação.
Nesse contexto, quais são os protocolos suportados pelo Postman e pelo SoapUI?
A. SOAP e UDP.
B. IP e HTTP.
C. SOAP e IP.
D. SOAP e HTTP.
E. HTTP e UDP.
Resposta: D
Motivo: Os protocolos suportados pelas ferramentas SoapUI e Postman são SOAP e HTTP.
Ambos são utilizados como meio de comunicação entre as ferramentas e as APIs. Os
dados podem ser retornados por esses protocolos em diferentes formatos, como JSON e
XML, por exemplo. IP e UDP também são protocolos de comunicação, mas não têm como
finalidade a atuação com requisições em APIs.
Problemas relacionados à integração
1. Os códigos de status das respostas do protocolo HTTP indicam se uma requisição HTTP
foi corretamente concluída.
Qual código de status HTTP indica que o servidor detectou um looping infinito ao processar
a requisição?
A. 400.
B. 404.
C. 500.
D. 501.
E. 508.
Resposta: E
Motivo: O código de status HTTP 508 (Loop detected) indica que o servidor detectou um
looping infinito ao processar a requisição solicitada. O código 400 (Bad request) indica que
o servidor não entendeu a requisição, pois está com sintaxe inválida. O código 404 (Not
found) indica que o servidor não pode encontrar o recurso solicitado. O código 500 (Internal
server error) indica que o servidor encontrou uma situação para a qual não estava
preparado. E o código 501 (Not implemented) indica que o método da requisição não é
suportado pelo servidor e não pode ser manipulado.
2. Segundo a Fundação Mozilla, o protocolo HTTP define um conjunto de métodos de
requisição responsáveispor indicar a ação a ser executada para dado recurso.
Se um cliente requisita ao servidor o armazenamento de um relatório direcionado
especificamente para um grupo de trabalho, qual método de requisição HTTP deve ser
utilizado?
A. Get..
B. Post.
C. Put.
D. Patch.
E. Delete.
Resposta: B
Motivo: O método Post é utilizado para submeter uma entidade a um recurso específico; no
caso, o relatório é a entidade. O método Get é utilizado para o retorno de dados. O método
Put é utilizado para alterar todos os dados de uma solicitação. O método Patch é utilizado
para aplicar modificações parciais em determinado recurso. O método Delete é utilizado
para remover determinado recurso.
3. Uma exceção é um problema que surge durante a execução de um programa,
interrompendo o fluxo normal do programa e finalizando de forma inesperada. A linguagem
de programação Java utiliza exceções para lidar com erros e outros eventos excepcionais.
Dada a seguinte situação: uma requisição HTTP de consulta a um banco foi executada,
mas não obteve sucesso.
Sabendo que o trecho de código onde a ação de consulta foi realizada recebeu o devido
tratamento de erro, qual instrução da linguagem Java faz o lançamento da exceção
ocorrida?
A. Throw.
B. Catch.
C. Try.
D. Finally.
E. While.
Resposta: A
Motivo: A instrução Throw faz o laçamento de uma exceção capturada. As instruções Try e
Catch são utilizadas para tratar as chamadas CheckedException. A instrução Finally é
utilizada para que seja executada uma instrução independentemente de ter ocorrido erro ou
não, e a instrução While é utilizada para repetir um bloco de código enquanto determinada
condição seja verdadeira.
4. Um bom desenvolvedor de APIs REST sempre faz ótima documentação, requisito
fundamental para que desenvolvedores, testadores e principalmente o usuário final tenham
entendimento claro do comportamento oferecido pelo serviço.
Qual das ferramentas a seguir pode ser utilizada para fazer a documentação completa de
uma API REST?
A. Eclipse IDE.
B. Microsoft Word.
C. Swagger.
D. Astah.
E. DBDesigner.
Resposta: C
Motivo: O Swagger é utilizado para criar a documentação de API de três formas:
manualmente, automaticamente e codegen. O Eclipse IDE é um poderoso editor de código.
O Microsoft Word é um poderoso editor de textos. O Astah é uma ferramenta para fazer
documentação de sistemas que usam a linguagem de modelagem unificada (UML). O
DBDesiner é utilizado para fazer a modelagem de banco de dados.
5. Segundo o site JSON.org, arquivos no formato JSON consistem em um objeto que
começa com { chave de abertura e termina com } chave de fechamento. Cada nome é
seguido por dois pontos ( : ), e os pares nome/valor são seguidos por vírgula ( , ).
Caso seja enviado um arquivo para uma API escrita obedecendo à arquitetura RESTful que
não obedeça a esse formato, qual status HTTP será retornado?
A. 201.
B. 414.
C. 400.
D. 404.
E. 500.
Resposta: C
Motivo: Como se está enviando um arquivo com erro de sintaxe, o servidor irá retornar o
código 400, que indica erro de sintaxe. O código de status 201 indica sucesso; 414 indica
erro de URI; 404, erro de recurso não encontrado; e 500, erro de servidor.
Certificações em integração de sistemas
1. Uma empresa de tecnologia precisa preencher uma vaga no time de desenvolvedores de
sistemas. Para garantir que um profissional bem qualificado seja selecionado, ela decide
optar por um candidato que tenha alguma certificação em TI. O único candidato que satisfaz
esse requisito apresenta em seu currículo uma certificação emitida no ano de 2010.
Assinale a alternativa que justifique corretamente a seleção ou rejeição desse candidato:
A. Rejeição. Uma certificação emitida há dez anos seguramente tem sua validade
expirada e não atesta que o profissional está a par das tecnologias vigentes.
B. Seleção. Independentemente de quando uma certificação foi emitida, ela garante
que o profissional tem o conhecimento técnico da área de atuação.
C. Rejeição. Tecnologias disponíveis na década passada não são passíveis de
certificação, o que invalida o certificado apresentado pelo candidato.
D. Seleção. De posse de uma certificação em TI, um profissional está apto a
desempenhar suas funções em qualquer área técnica.
E. Rejeição. Certificações mais antigas não agregam valor técnico, tendo em vista que
as tecnologias são substituídas por outras mais modernas.
Resposta: A
Motivo: A seleção de um candidato apenas com base em uma certificação emitida anos
atrás não garante que ele esteja a par das tecnologias vigentes. Além disso, é pouco
provável que a certificação ainda seja válida. Consequentemente, não se pode afirmar que
o candidato tenha o conhecimento técnico para atuar na área onde a vaga está disponível.
No entanto, embora a certificação seja antiga, no período em que foi emitida, ela atestava
as habilidades técnicas do profissional. Logo, essa não seria uma razão para não
selecioná-lo. E qualquer quer seja a certificação em TI, ela agrega valor ao profissional para
que este, mais capacitado, atue em uma área específica, e não em qualquer área de TI.
2. A fim de qualificar a sua equipe de TI, uma empresa decide subsidiar a certificação de
seus profissionais.
Indique a alternativa que representa o melhor custo-benefício efetivo para a empresa:
A. Fazer o levantamento das certificações existentes e escolher a mais barata, a fim de
certificar o maior número possível de profissionais.
B. Identificar a tecnologia mais crítica para a empresa e certificar, inicialmente, apenas
os profissionais que atuam diretamente com ela.
C. Buscar certificações que contemplem tecnologias semelhantes às utilizadas pela
empresa para diminuir os custos e aumentar o número de certificações.
D. Subsidiar apenas cursos preparatórios para as certificações, pois, dessa forma, o
conhecimento técnico será da mesma forma alcançado.
E. Certificar apenas uma parte do corpo de profissionais e organizar para que eles
façam o repasse do conhecimento adquirido.
Resposta: B
Motivo: Como as certificações, em geral, demandam um investimento financeiro relevante,
dar foco nas tecnologias mais relevantes e investir na certificação apenas dos profissionais
que atuam diretamente com elas pode representar a melhor estratégia. A escolha de
certificações apenas com base no preço do investimento não raro leva a um baixo retorno
técnico. O mesmo acontece quando se utilizam certificações em tecnologias correlatas às
utilizadas pela empresa – há o surgimento de um déficit técnico que pode prejudicar o bom
desempenho dos profissionais. Quanto a investir apenas em cursos preparatórios ou na
certificação de alguns profissionais para fins de repasses posteriores, há uma grande perda
de validação de conhecimento proporcionado pela aplicação dos exames de certificação.
3. Um profissional de TI que deseja investir em uma certificação precisa ser realista quanto
ao que esperar de retorno.
Assinale a alternativa que indica um benefício tangível de ser obtido com uma certificação
específica da área de atuação de um profissional:
A. Amplo conhecimento das diversas tecnologias mais modernas.
B. Menor tempo na absorção de tecnologias não contempladas pela certificação.
C. Maior segurança técnica e domínio de suas atribuições profissionais.
D. Aumento salarial que represente um salto em sua carreira.
E. Afluxo de ofertas de trabalho vindas de outras empresas.
Resposta: C
Motivo: Uma certificação oferece ao profissional a possibilidade de agregar conhecimento
técnico e ter o respaldo de suas habilidades por parte da empresa que emite a certificação.
Naturalmente, isso leva a um maior domínio e confiança no exercício de suas funções. Não
é objetivo de uma certificação dar amplo conhecimento a respeito de outras tecnologias que
estejam fora do seu escopo nem otimizar a absorção de quaisquer outras tecnologias.
Embora, em geral, profissionais certificados sejam contemplados com algum aumento
salarial, não seria razoável esperar acréscimos exorbitantes ou um destaque profissional
que culmine emuma profusão descomedida de ofertas de trabalho.
4. Uma empresa deseja migrar todas as suas aplicações on-premise para uma solução
baseada em serviços integrados na nuvem ou cloud.
Assinale a alternativa que indica qual certificação é mais adequada para o profissional
liderar essa migração:
A. Certificação em integração de aplicações em Oracle Azure.
B. Certificação em Engenharia de Dados baseada em Azure.
C. Certificação AWS do domínio Specialty.
D. Certificação em integração de aplicações na plataforma Oracle Cloud.
E. Certificação AWS em Cloud Partitioner.
Resposta: D
Motivo: A certificação em integração de aplicações na plataforma Oracle Cloud contempla
todas as habilidades técnicas demandadas para a implantação e administração de serviços
na nuvem. Certificações relacionadas à engenharia de dados, ao domínio AWS Specialty ou
ao nível AWS Foundational (como a Cloud Partitioner) não abrangem os conhecimentos
necessários para a atividade de migração para uma solução na nuvem. Além disso, a
tecnologia de Cloud, conhecida como Azure, é de domínio da Microsoft, e não da Oracle.
5. Um profissional deseja se especializar como engenheiro de dados. Contudo, ele deseja
obter as certificações baseadas tanto em tecnologias da Google como da Microsoft.
Assinale a alternativa que indica o procedimento correto a ser adotado para a obtenção das
certificações:
A. Comprar um vocuher para cada exame e usá-lo repetidas vezes nos exames até
que consiga a pontuação mínima necessária.
B. Contratar cursos preparatórios para os dois exames, cursar todo o conteúdo e gerar
as certificações após a conclusão e aprovação em cada curso.
C. Fazer a contratação de cursos preparatórios para os dois exames e realizar apenas
um exame, uma vez que um tem validade para o outro.
D. Basta se familiarizar com o formato de apenas um dos exames, preparar-se com
base nesse formato e realizar os dois exames.
E. Familiarizar-se com o conteúdo e formato de cada exame de certificação,
preparar-se para cada um e fazer os exames separadamente.
Resposta: E
Motivo: Cada certificação tem o seu formato e extensão. Então, é fundamental que o
profissional se familiarize com essas particularidades, prepare-se adequadamente para
cada um deles e realize cada exame individualmente. Um exame de certificação em uma
tecnologia ou produto não tem qualquer relação com outras certificações. Além disso,
embora os cursos preparatórios não sejam obrigatórios, eles são muito recomendados para
uma adequada preparação. Contudo, a conclusão desses exames não isenta o profissional
de se submeter ao exame, e cada exame está vinculado a um único voucher. Para cada
nova tentativa de exame, um novo voucher deve ser comprado e utilizado.
Simulado
1. Para realizar negócios na Internet, por onde circulam informações importantes para as
organizações e, muitas vezes, sigilosas, garantir a segurança das informações é uma
necessidade crítica. Com os Web Services, as aplicações tornam-se muito mais visíveis,
expondo, assim, seus fluxos de negócios, processos e arquiteturas internas. Qual é a
especificação utilizada para permitir a construção de Web Services seguros, utilizando-se
extensões ao protocolo SOAP?
A. HTTPS.
B. UDP.
C. XKMS.
D. WS-Security.
E. XACML.
Resposta: D
2. A partir da Lei Geral de Proteção de Dados (LGPD), as instituições devem ter o devido
cuidado nos processos de ciência de dados, a fim de garantir a eficiência necessária com o
cumprimento das normas. Um sistema, alocado na Internet, solicita ao usuário dados
pessoais e os armazena em uma base de dados relacional confiável, à qual somente a
própria empresa tem acesso, utilizando-a para o fim de marketing. De acordo com a Lei
Geral da Proteção de Dados e as fases de coleta e descarte do processo de ciência de
dados, pode-se afirmar que:
A. se o usuário pedir o descarte dos dados, a coleta não mais poderá ser realizada em
nenhum momento, pois o usuário será excluído permanentemente.
B. para que seja realizada a coleta de dados, a empresa não precisa que o usuário
informe o consentimento, pois pode utilizar-se de outras vias.
C. mesmo que o usuário peça o descarte, a empresa não é obrigada a fazê-lo, já que o
usuário assinou um contrato digital de consentimento.
D. o usuário pode solicitar a qualquer momento uma cópia dos dados, bem como
compreender para que fim estão sendo utilizados.
E. a empresa pode utilizar os dados para o fim necessário, ou seja, mesmo que tenha
iniciado com marketing, poderá, posteriormente, realizar a venda dos dados.
Resposta: D
3. O machine learning pode ser usado como uma tecnologia para identificar transações que
podem ser fraudulentas. Uma instituição que faz operações de crédito precisa analisar se
um novo cliente tem potencial de tornar-se inadimplente; assim, utiliza-se de uma base que
contém dados de transações bancárias de 5 mil clientes dos últimos cinco anos, em que há
a informação completa de financiamentos, cartões de crédito e compras realizadas e, ainda,
se houve dívidas não pagas. Nesse contexto, pode-se afirmar:
A. A base não está catalogada, já que não está definido se o cliente tem bom ou mau
potencial; então, haverá o descarte parcial dos dados.
B. Utilizar algoritmos com a aprendizagem não supervisionada será uma boa estratégia
para o problema; assim, podem-se agrupar os clientes.
C. Poderia ser desenvolvido um software em que haveria a recuperação dos dados por
meio do SQL e a emissão de um relatório para a tomada de decisão.
D. O problema tem uma base catalogada, e, assim pode-se utilizar o aprendizado
supervisionado e, ainda, o algoritmo Naive Bayes ou SVM na classificação.
E. O problema é de regressão, e pode-se utizar tanto o aprendizado supervisionado
como o não supervisionado.
Resposta: D
4. O uso da ciência de dados vem se tornando comum nos últimos anos. Apesar disso,
ainda existem pessoas que expressam de forma errada a correlação entre estatística e
ciência de dados. Qual é a explicação correta sobre a correlação entre estatística e ciência
de dados?
A. São iguais. Ambas têm como objetivo analisar os dados.
B. A estatística é uma ferramenta da ciência de dados e é utilizada nas etapas de
coleta e processamento de dados.
C. A ciência de dados é um método utilizado pela estatística descritiva.
D. A estatística é uma ferramenta da ciência de dados e é utilizada nas etapas de
processar os dados e explorar as informações dos resultados.
E. A estatística é utilizada para processar os dados, e a ciência de dados é responsável
por interpretar os resultados da estatística.
Resposta: D
5. O treinamento de uma rede neural profunda é parte importante no processo de
aprendizagem. Assim, há a utilização de diversos hiperparâmetros. Um passo em relação
aos dados consiste na divisão deles em amostras de treino, teste e validação.Dado que
uma base A contém 5 milhões de dados sobre câncer de pele, classificados como benigno
e maligno, e que 20% desse conjunto de dados não está rotulado, em relação à divisão
referida, o que se pode afirmar?
A. Os 20% não rotulados poderiam ser utilizados para a aprendizagem não
supervisionada.
B. Os dados não rotulados poderiam ser usados para validação e teste, e os rotulados,
para o treinamento.
C. Os dados não rotulados têm a prioridade de serem encontrados primeiro, a fim de,
posteriormente, realizarem o treinamento.
D. Para o treinamento inicial, basta obter 0,1% dos dados não rotulados, e, assim, será
realizada a primeira parte.
E. Pode-se afirmar que não há quantidade suficiente de dados para realizar o
treinamento inicial.
Resposta: B
6. A união de bases de dados similares, para tentar melhorar a análise dos dados, é uma
tarefa comum em ciência de dados. Dado que uma base de dados A contém dados
íntegros, com grande confiabilidade e com campos similares aos de uma base de dados B,
ambas as bases poderiam ser usadas para analisar um conjunto de dados. No entanto, na
base B, verifica-se que 65% de seu total de campos está nulo, e muitos dados contêm erros
relacionados ao formato.

Outros materiais