Buscar

Lista de Exercícios de Arquitetura Orientada a serviços

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

Questão 1
Uma prática que se tornou comum na área de engenharia foi a adoção de COTS. Qual das características abaixo NÃO pode ser considerada como referente a um componente deste tipo?
a) Apresentam meios de integração padronizados.
b) São componentes comerciais reutilizáveis.
c) Baseiam-se em padrões abertos de interface.
d) Visam proteger tecnologias proprietárias.
e) Facilitam a manutenção do sistema, apesar de acrescentarem alguma complexidade em termos de integração.
Questão 2
Qual conceito pode ser definido como “a capacidade de elementos heterogêneos se comunicarem, compartilhando dados e complementando funcionalidades “?
a) Middleware
b) Interoperabilidade
c) Front-End
d) Back-End
e) COTS
Questão 3
Um protocolo de rede pode ser considerado como um elemento bastante primário de interoperabilidade, e o mesmo pode ser definido em diversas camadas da rede, segundo o modelo OSI. Assinale a alternativa INCORRETA.
a) O protocolo SMTP atua na camada de aplicação.
b) O protocolo UDP atua na camada de transporte.
c) O protocolo TCP/IP atua na camada de transporte.
d) O protocolo ICMP atua na camada de rede.
e) O protocolo HTTP atua na camada de aplicação.
Questão 4
Considere as afirmativas abaixo acerca de middleware:
I – Permite transparência com relação ao fabricante do banco de dados.
II – O uso de SQL proprietário não diminui a portabilidade com relação ao tipo de banco de dados.
III – Faz a mediação entre Front-End e Back-End.
IV – Permite acessar bancos de dados legados de tecnologias legadas a partir de novas ferramentas de desenvolvimento.
Quantas opções estão corretas?
a) Nenhuma
b) 1
c) 2
d) 3
e) 4
Questão 5
Existem preocupações acerca da reposição e atualização devido a obsolescência, devendo ser levado em conta a existência de similares e o custo ou esforço efetivo para a substituição do mesmo no decorrer do ciclo de vida do sistema. Para satisfazer a este tipo de preocupação, qual fator deve ser considerado na escolha de COTS?
a) Eficiência
b) Eficácia
c) Longevidade
d) Confiabilidade
e) Manutenibilidade
Questão 6
Entre os elementos abaixo, qual deles NÃO é um exemplo de interface padronizada entre linguagens de programação?
a) COM
b) ActiveX
c) RPC
d) RMI
e) BDE
Questão 7
Sobre as tecnologias OLE e DDE, o que podemos afirmar?
a) Voltadas para a integração entre o Delphi e o banco de dados.
b) Tecnologias que funcionam independente do sistema operacional.
c) Permitem a incorporação de uma planilha em um documento texto no pacote Microsoft Office.
d) Foram ambas criadas pela Oracle.
e) São a base do protocolo SOAP.
Questão 8
Considerando-se o CORBA, os EJBs e o DCOM, estes são exemplos de que tipo de tecnologia?
a) Gramáticas XML
b) Objetos Distribuídos
c) Sistemas Operacionais
d) Tecnologias Proprietárias
e) Componentes de Hardware
Questão 9
Qual tecnologia permite um comportamento assíncrono, com acoplamento muito fraco, baseado apenas nas mensagens enviadas pelo canal de comunicação?
a) Mensageria
b) RPC
c) RMI
d) CORBA
e) Banco de dados
Questão 10
Qual a sintaxe que trouxe uma vertiginosa evolução dos modelos de interoperabilidade, sendo de grande utilização nas arquiteturas orientadas a serviço da atualidade?
a) Java
b) HTML
c) XML
d) Delphi
e) C++
 
 
 
 
 
 
 
 
 
 
 
RESPOSTAS
Questão 1 – D
Justificativa: Estes componentes, ao apresentarem interfaces padronizadas, podem ser substituídos por outros equivalentes, independente de fornecedor.
Questão 2 – B
Justificativa: A ideia básica por trás da interoperabilidade pode ser definida como a capacidade de elementos heterogêneos se comunicarem, compartilhando dados e complementando funcionalidades. Quanto ao Middleware e COTS, estes viabilizam a interoperabilidade em determinados contextos restritos.
Questão 3 – C
Justificativa: Esta é uma confusão comum em diversos blogs e discussões acerca de redes. Em verdade são dois protocolos: o TCP atuando na camada de transporte, e o IP atuando na camada de rede. Não existe o protocolo TCP/IP.
Questão 4 – D
Justificativa: A opção II está incorreta, pois para manter a portabilidade de banco de dados deve ser utilizado apenas o SQL ANSI. As demais opções estão corretas.
Questão 5 – C
Justificativa: O fator que satisfaz à necessidade apresentada é a longevidade, pois eficiência e eficácia referem-se às características funcionais próprias do sistema, e confiabilidade e manutenibilidade referem-se a características de manutenção pontuais dos COTS, sem uma visão de atualização e reposição no decorrer do tempo.
Questão 6 – E
Justificativa: Enquanto as demais opções permitem o uso de linguagens de programação distintas na implementação dos componentes, o BDE trata de um middleware exclusivo do Delphi para acesso a banco de dados.
Questão 7 – C
Justificativa: Quem é voltado exclusivamente para integração entre Delphi e banco de dados é o BDE. Quanto ao OLE e DDE, estas são tecnologias da Microsoft, que executam em ambiente Windows, e são muito utilizadas na integração entre os softwares do pacote Microsoft Office. Quanto ao protocolo SOAP, ele é baseado em sintaxe XML.
Questão 8 – B
Justificativa: Os três são exemplos de objetos distribuídos (software), sendo que o CORBA não é tecnologia proprietária. Nenhum dos exemplos define uma gramática XML e, por fim, não são sistemas operacionais, como seria o caso do Windows e do Linux.
Questão 9 – A
Justificativa: O conceito exposto é a própria definição de sistemas de mensageria, além de ser a única das cinco tecnologias citadas que viabiliza nativamente o comportamento assíncrono.
Questão 10 – C
Justificativa: As arquiteturas orientadas a serviço da atualidade trabalham muito com a sintaxe XML, particularmente com o uso do mesmo através do protocolo SOAP. Como características fortes da sintaxe podemos ressaltar a facilidade de manuseio por qualquer linguagem e a transparência na transmissão através de firewalls.
Questão 1
O que vem a ser RTI para a High Level Architecture?
a) Uma aplicação com suporte a HLA e que pode participar de simulações neste ambiente.
b) Uma simulação em execução.
c) Apenas um temporizador para as diversas simulações.
d) Uma máquina virtual para suportar aplicações Java.
e) Basicamente um framework que garante uma infraestrutura de execução das simulações heterogêneas.
Questão 2
Quem foi a entidade responsável pela criação do HLA?
a) Microsoft
b) MEC
c) Oracle
d) FAB
e) DMSO
Questão 3
Com a Gestão do tempo, o RTI:
a) Controla o modelo de publicação e assinatura para troca de informações.
b) Permite a transmissão eficiente de dados entre Federates.
c) Coordena a linha de tempo de cada Federate dentro do eixo de tempo do Federation, garantindo a preservação de causa e ordenação.
d) Controla todo o ciclo de vida e troca de mensagens entre os objetos.
e) Controla as atividades de cada Federation durante a execução.
Questão 4
O que vem a ser Federate para a High Level Architecture?
a) Uma aplicação com suporte a HLA e que pode participar de simulações neste ambiente.
b) Uma simulação em execução.
c) Apenas um temporizador para as diversas simulações.
d) Uma máquina virtual para suportar aplicações Java.
e) Basicamente um framework que garante uma infraestrutura de execução das simulações heterogêneas.
Questão 5
No ano de 2000 a High Level Architecture foi transformada em um padrão (standard). Qual foi a entidade normatizadora?
a) DMSO
b) DoD
c) W3C
d) SSL
e) IEEE
Questão 6
Qual das opções abaixo NÃO é um exemplo de mensageria?
a) JBoss MQ
b) IBM MQ Series
c) IPlanet MQ
d) Bea Web Logic
e) QueueSender
Questão 7
Onde é imprescindível um objeto ouvinte (MessageListener) para avisar que existe uma mensagem no canal da mensageria?
a) Envio do modelo de fila
b) Recepção do modelo de fila
c) Envio do modelo de tópico
d) Recepção do modelo de tópico
e) Preparação prévia da mensagem para envio
Questão 8
Quando o uso de mensagerias NÃO é indicado?
a)Quando o elemento principal da comunicação é o formato da mensagem
b) Quando existe a necessidade de bloquear o cliente durante a transação
c) Quando não é possível prever a disponibilidade dos componentes
d) Quando é preciso suportar comunicação assíncrona
e) Quando é necessário enviar a mensagem, mesmo que o receptor não esteja ativo
Questão 9
Podemos ter sistemas desenvolvidos em diferentes tecnologias, como Java e C#, cada uma com sua biblioteca de middleware para acesso à mensageria, nesse caso denominado:
a) MOM
b) RPC
c) RMI
d) JDBC
e) EJB
Questão 10
Dentro do ambiente JEE, qual o nome do componente responsável por receber as mensagens advindas de uma mensageria?
a) SessionBean
b) Stateless
c) MDB
d) Stateful
e) EntityBean
 
 
 
 
 
 
 
 
 
Respostas
Questão 1 – E
Justificativa: A sigla RTI significa Infraestrutura de tempo de execução, e cuida do gerenciamento das Federates, Federation e Federation Execution, entre outros elementos.
Questão 2 – E
Justificativa: Quem criou o HLA foi o Defense Modeling and Simulation Office (DMSO).
Questão 3 – C
Justificativa: Os componentes responsáveis pelas funções citadas nestas opções são:
– Gestão de declarações, que controla o modelo de publicação e assinatura para troca de informações;
– Gestão de dados distribuídos, com a transmissão eficiente de dados entre Federates;
– Gestão de tempo, o qual coordena a linha de tempo de cada Federate dentro do eixo de tempo do Federation, garantindo a preservação de causa e ordenação.
– Gestão de objetos, controlando todo o ciclo de vida e troca de mensagens entre estes objetos;
– Gestão de Federation, que controla as atividades de cada Federation durante a execução.
Questão 4 – A
Justificativa: Uma aplicação compatível com o ambiente HLA é denominada Federate.
Questão 5 – E
Justificativa: Inicialmente a HLA foi normatizada pelo IEEE Standard 1516-2000.
Questão 6 – E
Justificativa: A única opção que não trata de uma mensageria comercial é o QueueSender. Este é, na verdade, o componente Java necessário para enviar uma mensagem no modelo de fila sem uso de EJBs.
Questão 7 – D
Justificativa: No modelo de tópico é necessário um objeto ouvinte (MessageListener) para avisar que há nova mensagem no canal, de forma que os assinantes possam recebê-la.
Questão 8 – B
Justificativa: O uso de mensagerias é indicado em todos estes casos, menos quando há necessidade de bloquear o cliente, isso porque o funcionamento é justamente o oposto, sem bloqueio do cliente, o que viabiliza o comportamento assíncrono.
Questão 9 – A
Justificativa: O middleware para acesso a mensagerias é denominado MOM, ou Message Oriented Middleware. As opções RPC e RMI referem-se a sistemas de processamento distribuído, enquanto JDBC é o middleware para acesso a banco de dados do Java, e o EJB um componente corporativo da plataforma JEE.
Questão 10 – C
Justificativa: O componente responsável pela recepção das mensagens é o Message Driven Bean, definido pela anotação @MessageDriven, e que precisa implementar a interface MessageListener.
Questão 1
Quando trabalhamos com processamento paralelo, um problema comum é a utilização de recursos compartilhados que podem ser lidos ou escritos de forma errônea devido à preempção. Para resolver isso deve ocorrer um sequenciamento no acesso ao recurso, o que é obtido no Java com o uso da palavra reservada:
a) static
b) volatile
c) synchronized
d) abstract
e) final
Questão 2
Uma classe ServerSocket deve escutar uma porta especificada e aceitar conexões solicitadas pelos clientes, repassando as mesmas para objetos Socket locais, o que define o circuito virtual entre cliente e servidor. Qual o método utilizado para aceitar uma conexão?
a) start
b) accept
c) getInputStream
d) getOutputStream
e) close
Questão 3
A utilização de RPC viabiliza a construção de sistemas de processamento distribuído com um formato de comunicação transparente para o programador. Quem permite esta transparência são os _______________ definidos para o padrão Proxy.
a) senders
b) idles
c) clientes
d) stubs
e) publishers
Questão 4
Na arquitetura do RPC, o elemento responsável por tratar as chamadas no servidor é denominado:
a) IDL
b) stub
c) skeleton
d) Socket
e) ServerSocket
Questão 5
O elemento na arquitetura do RPC que permite a geração automática de todo o aparato de comunicação em rede, de forma automatizada, por ferramentas como o rpcgen é:
a) IDL
b) stub
c) skeleton
d) Socket
e) ServerSocket
Questão 6
Em sistemas de processamento distribuído ocorre a necessidade de registrar e localizar componentes disponibilizados remotamente. O componente de software responsável por executar esta função seria:
a) Interface de Descrição de Serviços
b) Serviço de Nomes e Diretórios
c) Temporizador
d) Protocolo de Comunicação
e) Gerenciador do Banco de Dados
Questão 7
A transformação dos dados estruturados segundo uma determinada tecnologia, como Java ou C#, em formato compatível com as mensagens que são trafegadas entre os stubs é denominada:
a) serialização
b) unmarshalling
c) marshalling
d) de-serialização
e) vetorização
Questão 8
Em termos de RMI a descrição dos serviços é feita na própria linguagem Java através de uma interface descendente de:
a) Remote
b) Runnable
c) MessageListener
d) Serializable
e) CommandListener
Questão 9
Considere as afirmativas abaixo:
I – Os métodos expostos pela interface remota do RMI devem considerar a ocorrência da exceção RemoteException.
II – Criada a interface, deve ser definido uma classe que implementa a mesma e seja descendente de UnicastRemoteObject.
III – Os passos I e II são necessários e suficientes para a criação de um servidor RMI.
Quais as afirmativas corretas?
a) Todas estão corretas
b) Apenas a I está correta
c) Apenas a II está correta
d) As alternativas I e II estão corretas
e) Nenhuma está correta
Questão 10
No ambiente Java os serviços de nomes e diretórios são acessados através de:
a) DAP
b) LDAP
c) DNS
d) JEE
e) JNDI
 
 
 
 
 
 
 
 
 
 
 
 
RESPOSTAS
Questão 1 – C
Justificativa: Em linguagem Java uma tarefa independente pode ser definida pela extensão da classe Thread ou pela implementação da interface Runnable, e quando há necessidade de sincronização utiliza-se a palavra-chave synchronized.
Questão 2 – B
Justificativa: Os métodos getInputStream, getOutputStream e close pertencem à classe Socket, enquanto start inicia uma Thread. O método accept pertence ao ServerSocket e serve para receber uma conexão na porta especificada na inicialização do mesmo.
Questão 3 – D
Justificativa: As ferramentas para criação de aplicativos RPC cuidam da geração dos stubs para garantir a transparência da comunicação em rede. O par de stubs faz a transformação de chamadas e respostas nas mensagens necessárias.
Questão 4 – C
Justificativa: Em termos do servidor, o elemento responsável pela interceptação das chamadas é comumente denominado skeleton, e deve receber a chamada, ativar o componente de software responsável pelo processamento do pedido, e retornar com a resposta solicitada.
Questão 5 – A
Justificativa: A utilização de Socket e ServerSocket de forma plana não constituiria um sistema RPC. Nas arquiteturas do tipo RPC deve haver uma IDL (Interface Definition Language) que permita a aplicativos como o rpcgen gerar os stubs para a comunicação com o skeleton do servidor.
Questão 6 – B
Justificativa: Tanto no uso de RMI quanto no uso de CORBA, JEE, ou qualquer outro recurso que precise ser acessado a partir de uma localização externa ao programa que fornece este recurso, é comum o uso de serviços de nomes e diretórios.
Questão 7 – C
Justificativa: A transformação dos dados para o formato de envio é denominada marshalling, enquanto o processo inverso, na recepção, é denominado unmarshalling.
Questão 8 – A
Justificativa: O passo inicial para o desenvolvimento de um sistema com uso de RMI é a definição da interface remota, o que equivaleria à definiçãoda IDL utilizada no RPC, porém restrita ao universo Java. Esta interface deverá ser descendente da interface Remote.
Questão 9 – D
Justificativa: A alternativa III está incorreta, pois seria ainda necessário criar um aplicativo (main) que registre uma instância da classe criada em II, bem como o rmiregistry deverá estar em execução para que este aplicativo consiga também executar.
Questão 10 – E
Justificativa: No caso do Java, as ações de registro e localização são feitas pelo JNDI, o qual apresenta uma interface única entre os diversos serviços de diretório, gerenciando inclusive o acesso a recursos como RMI, CORBA, DAP, LDAP e JEE.
Questão 1
Qual o padrão de desenvolvimento utilizado na forma de comunicação com objetos distribuídos?
a) Front Control
b) Flyweight
c) DAO
d) Proxy
e) Request Dispatcher
Questão 2
Qual o serviço de nomes e diretórios do CORBA?
a) CORBA IDL
b) LDAP
c) DNS
d) JNDI
e) COS Naming
Questão 3
Qual a entidade responsável pela criação do CORBA?
a) DoD
b) OMG
c) DMSO
d) W3C
e) IEEE
Questão 4
Qual das opções abaixo NÃO é uma arquitetura de objetos distribuídos?
a) CORBA
b) JEE
c) DDObjects
d) COM
e) Pyro
Questão 5
Para que um servidor RMI possa se tornar compatível com o protocolo IIOP, segundo a especificação RMI-IIOP, a classe de negócios deve ser definida como um descendente de:
a) PortableRemoteObject
b) UnicastRemoteObject
c) MulticastRemoteObject
d) HttpServlet
e) RemoteException
Questão 6
Qual o elemento que viabiliza a compatibilidade com CORBA para os EJBs?
a) Descrição de serviços CORBA-IDL
b) Protocolo RMI-IIOP
c) Uso da linguagem Java
d) Uso do JNDI
e) Padrão Proxy
Questão 7
Qual a anotação que deve ser utilizada para efetuar a chamada ao pool de EJBs a partir de um Servlet?
a) @Local
b) @Remote
c) @Stateless
d) @Stateful
e) @EJB
Questão 8
Qual tipo de EJB era utilizado no J2EE para efetuar a persistência de dados?
a) Message Driven Bean
b) Stateless SessionBean
c) Stateful SessionBean
d) EntityBean
e) EntityManager
Questão 9
Um descendente de EJBHome deve gerar descendentes de EJBObject para prover acesso remoto ao pool de EJBs, enquanto descendentes de EJBLocalHome devem gerar descendentes de EJBLocalObject para prover acesso local ao mesmo pool. Para tal finalidade é utilizado o padrão de desenvolvimento:
a) Proxy
b) Flyweight
c) Abstract Factory
d) Session Facade
e) DAO
Questão 10
Considere as seguintes afirmativas:
I – A construção de pools de EJBs é baseada no padrão Flyweight.
II – A comunicação remota com os EJBs é feita segundo o padrão Proxy.
III – No J2EE tornou-se uma prática comum a adoção de um componente que siga o padrão Service Locator para localizar as fábricas de EJBs.
Quais estão corretas?
a) Apenas as afirmativas I e II
b) Apenas a afirmativa I
c) Apenas a afirmativa II
d) Apenas a afirmativa III
e) Todas as afirmativas
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
RESPOSTAS
Questão 1 – D
Justificativa: O padrão Proxy é adotado, já que são utilizados stubs e skeletons na comunicação entre cliente e servidor. Os demais padrões: Front Control é utilizado na camada de visualização para direcionamento de requisições apenas; Flyweight é utilizado nos pools de objetos; DAO trabalha na camada de dados, concentrando o acesso ao banco; e Request Dispatcher efetua redirecionamentos para visualizações específicas.
Questão 2 – E
Justificativa: No ambiente CORBA o serviço de nomes e diretórios para localização de componentes é denominado COS Naming, ou Common Object Service Naming Services.
Questão 3 – B
Justificativa: Criado pelo OMG (Object Management Group), o CORBA (Common Object Request Broker Architecture) trata de uma arquitetura padrão com o objetivo de estabelecer e simplificar a troca de dados entre sistemas distribuídos heterogêneos baseados em objetos.
Questão 4 – D
Justificativa: O formato COM server para arquivos binários compatíveis com a interface interoperável de componentes Microsoft. Para utilizar objetos distribuídos seria adotada uma tecnologia similar, porém com suporte ao ambiente distribuído, denominada DCOM.
Questão 5 – A
Justificativa: Os passos para colocar um sistema RMI sob o IIOP segue os mesmos passos de um RMI padrão, porém, para que a implementação esteja compatível com o CORBA, segundo o protocolo IIOP, deve ser utilizado um descendente de PortableRemoteObject na criação da classe de negócios.
Questão 6 – B
Justificativa: Incialmente, a descrição de serviços para os EJBs utiliza Java, e não CORBA-IDL. O padrão proxy é apenas o modelo de comunicação baseado em stubs, e o uso de Java ou JNDI não traz qualquer compatibilidade com o ambiente CORBA. O protocolo RMI-IIOP é o que traz esta compatibilidade.
Questão 7 – E
Justificativa: Para que este EJB seja utilizado a partir de um Servlet bastaria acrescentar um atributo do tipo da interface escolhida (remota ou local), anotado com @EJB. As demais anotações estão relacionadas à criação SessionBeans e suas interfaces.
Questão 8 – D
Justificativa: Os EntityBeans eram utilizados para persistência, mas foram substituídos pelo JPA no JEE5 por questões de performance. Quanto ao EntityManager, ele se refere à gestão de entidades anotadas do JPA. Os SessionBeans trabalham com processos de negócios síncronos, e os MDBs trabalham com recepção de mensagerias.
Questão 9 – C
Justificativa: Segundo o padrão Abstract Factory, toda a funcionalidade básica de integração com o framework fica pronta, enquanto o desenvolvedor especializa apenas para a fábrica concreta e interface concreta os detalhes referentes a regras de negócio próprias do aplicativo. Quanto ao Proxy, é utilizado na comunicação, o Flyweight na gestão dos pools de EJBs, o SessionFacade seria um Session encapsulando as chamadas aos EntityBeans ou JPA, e finalmente o DAO poderia ser utilizado para organizar as funções de persistência.
Questão 10 – E
Justificativa: Todas as afirmativas estão corretas. Particularmente quanto à afirmativa III, no JEE5 a adoção de anotações como @EJB acabou eliminando a necessidade de utilizar o Service Locator.
Questão 1
“Elemento do XML que não é interpretado segundo as regras sintáticas do mesmo, se comportando como texto corrido.”
Esta é a definição de que componente da sintaxe XML?
a) Nó de texto
b) Seção CDATA
c) Atributo
d) Comentário
e) Instrução de Processamento
Questão 2
Uma forma de definir gramáticas XML com sintaxe bastante simples, porém sem uso de namespaces e sem a possibilidade de trabalhar com estruturas de dados complexas, seria através de:
a) CSS
b) XSD
c) XSL
d) DTD
e) RPC
Questão 3
Quando há, nos arquivos XML, a necessidade de diferenciar elementos com nomes iguais, mas que se aplicam a contextos diferenciados, qual componente deverá ser utilizado?
a) Entidade
b) Comentário
c) Nó de Texto
d) Atributo
e) NameSpace
Questão 4
As entidades seguem a sintaxe &ENTIDADE; e podem representar caracteres especiais ou elementos da tabela ASCII. Qual das entidades abaixo não está corretamente descrita em termos do que representa?
a) A significa “espaço”
b) < significa “menor que”
c) > significa “maior que”
d) & significa “&”
e) ' significa “apóstrofe”
Questão 5
Uma forma de definir gramáticas XML com uso da própria sintaxe XML e namespaces, e com a possibilidade de trabalhar com estruturas de dados complexas, seria através de:
a) CSS
b) XSD
c) XSL
d) DTD
e) RPC
Questão 6
Qual o comando do XSL utilizado de forma a repetir um determinado trecho para cada nó do conjunto correntemente selecionado?
a) for-each
b) select
c) if
d) choose
e) when
Questão 7
Qual o nome da tecnologia utilizada para a construção de gráficos vetoriais em XML?
a) MathML
b) CML
c) XMI
d) SMIL
e) SVG
Questão 8
Tecnologia preparada para a geração de arquivos binários, destinada à criação de documentos em formatos voltados para plataformas específicas, como PDF:
a) XSLT
b) CML
c) XSL-FO
d) MathMLe) SVG
Questão 9
Para que serve o comando template no XSL?
a) Define o formato da saída.
b) Define o modelo a ser utilizado para determinado tipo de nó.
c) Aplica um modelo ao elemento corrente ou filhos do mesmo.
d) Retorna o valor do nó.
e) Declara uma variável.
Questão 10
Os elementos que efetivamente fornecem o conteúdo a ser distribuídos nas páginas, segundo o XSL-FO seriam:
a) fo:root e fo:layout-master-set
b) fo:page-sequence e fo:bookmark-tree
c) fo:layout-master-set e fo:declarations
d) fo:root e fo:sequence
e) fo:flow e fo:static-content
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
RESPOSTAS
Questão 1 – B
Justificativa: Apenas a seção CDATA permite elementos como sinal de maior e de menor, sem que estes sejam interpretados de alguma forma pelos parsers, o que permite, por exemplo, a inclusão de código-fonte em alguma linguagem dentro de um arquivo XML.
Questão 2 – D
Justificativa: São duas as formas de definir gramáticas: DTD e XSD. Quanto ao texto, este se refere ao DTD, pois o mesmo apresenta como características:
– Sintaxe bastante simples, mas não no padrão do XML.
– Não permite o uso de namespaces.
– Não permite a definição de estruturas de dados complexas.
Questão 3 – E
Justificativa: Devem ser utilizados namespaces sempre que duas ou mais gramáticas se cruzam dentro do mesmo arquivo XML. Entidades são utilizadas para caracteres especiais, e os demais são componentes estruturais comuns de qualquer XML.
Questão 4 – A
Justificativa: O código ASCII 65, assinalado pela entidade A corresponde ao caractere “A” (letra a maiúscula). Os demais estão corretos.
Questão 5 – B
Justificativa: São duas as formas de definir gramáticas: DTD e XSD. Quanto ao texto, este se refere ao XSD, pois o mesmo apresenta como características:
– Sintaxe mais complexa, dentro das regras do XML.
– Permite a utilização de namespaces.
– Permite a definição de estruturas de dados complexas.
Questão 6 – A
Justificativa: O comando que causa uma repetição para cada elemento do conjunto é o for-each. Com relação ao select, este determina o que será selecionado para o conjunto, enquanto os demais elementos (if, choose e when) servem para desvios condicionais.
Questão 7 – E
Justificativa: SVG (Scalable Vector Graphics) é utilizado para a construção de gráficos vetoriais em XML, sendo amplamente utilizado no HTML 5. Quanto aos demais:
– XMI (XML Metadata Interchange), utilizado para troca de informações de metadados entre ferramentas de modelagem UML (Unified Modeling Language).
– MathML, utilizado na representação de modelos matemáticos.
– SMIL (Synchronized Multimedia Integration Language), para a construção de apresentações multimídia interativas.
– CML (Chemical Markup Language), para a formulação de elementos químicos.
Questão 8 – C
Justificativa: A tecnologia XSL-FO (XML Stylesheet Language – Formatting Objects), este destina-se à criação de documentos em formatos voltados para plataformas específicas, como arquivos PDF, por exemplo. Diferencia-se do XSLT padrão, pois este último faz transformações em modo texto. Quanto ao SVG, o MathML e o CML, estas são tecnologias XML para domínios específicos, sendo respectivamente: gráficos, matemática e química.
Questão 9 – B
Justificativa: Para definir o formato de saída é utilizado o comando output; value-of retorna o valor do nó selecionado; variable declara uma variável local; apply-template aplica um modelo ao elemento corrente e filhos do mesmo.
Quando utilizamos template estamos definindo o modelo que será aplicado (com apply-template) a determinado tipo de nó for encontrado em um conjunto selecionado.
Questão 10 – E
Justificativa: O nó raiz da árvore de objetos de formatação deve ser um fo:root. Os filhos possíveis do fo:root são um único fo:layout-master-set, opcionalmente fo:declarations e fo:bookmark-tree, e uma seqüência de um ou mais elementos fo:page-sequence-wrapper e fo:page-sequence. Enquanto fo:layout-master-set define a geometria e sequenciamento das páginas; os filhos do fo:page-sequence, que são chamados de fluxos (contidos em fo:flow e fo:static-content), fornecem o conteúdo que é distribuído nas páginas.
Questão 1
Qual das opções abaixo NÃO é uma característica do XML-RPC?
a) Criado para ser tão simples quanto possível, definindo as interfaces de chamadas remotas, mas não implementando os métodos ouvintes nos servidores.
b) Utiliza um vocabulário baseado em JSON.
c) Tem uma quantidade limitada de comandos (tags) para descrever funções, tipos de parâmetros e tipos de retorno.
d) Utiliza o HTTP para o transporte na Internet.
e) Voltado para a comunicação computador a computador, e não de usuário a computador.
Questão 2
Em termos de XML-RPC, quando ocorre um erro no atendimento à solicitação, a mensagem referente a este erro será retornada em que elemento da resposta?
a) params
b) faultCode
c) faultString
d) param
e) methodName
Questão 3
Com relação à sintaxe do SOAP, qual das opções está INCORRETA?
a) A mensagem é criada com uso de XML.
b) Precisa do namespace soap-envelop.
c) Precisa do namespace soap-encoding.
d) Pode ser utilizado um DTD.
e) Não são permitidas instruções de processamento XML.
Questão 4
“Para o SOAP a seção _________ é opcional, e permite a inclusão de informações específicas do aplicativo, como autenticação e pagamento, por exemplo. Se esta seção estiver presente deverá constar como o primeiro elemento filho do envelope.”
Qual opção preenche corretamente a lacuna?
a) Body
b) Footer
c) Fault
d) Header
e) Tail
Questão 5
Considere as afirmativas abaixo, com relação ao SOAP:
I – Objetiva a comunicação entre o servidor e o usuário final.
II – Permite a comunicação na Internet de forma transparente aos firewalls.
III – Utiliza sintaxe JSON.
IV – É independente de plataforma e de linguagem de programação.
Qual a opção que indica a quantidade de afirmativas corretas?
a) As quatro estão corretas.
b) Apenas três estão corretas.
c) Apenas duas estão corretas.
d) Apenas uma está correta.
e) Nenhuma das afirmativas está correta.
Questão 6
Para Web Services SOAP é utilizado um descritor de serviços denominado:
a) WSDL
b) UDDI
c) XML
d) SOAP
e) REST
Questão 7
Para definir um Web Service em linguagem Java através de anotações, a classe deve ser anotada com _________, cada método que precise ser exposto como serviço deve ser anotado com __________, e cada parâmetro presente em cada um desses métodos deve ser anotado com _________.
Qual opção preenche corretamente as lacunas?
a) @Stateless, @EJB e @Servlet
b) @Stateless, @EJB e @MessageDriven
c) @WebParam, @WebMethod e @WebService
d) @Override, @Remote e @Local
e) @WebService, @WebMethod e @WebParam
Questão 8
Um componente de grande relevância nos ambientes de computação distribuída é o sistema de registro, normalmente um serviço de nomes e diretórios. Quais são, respectivamente, os sistemas de registro para RMI-IIOP, CORBA e Web Services?
a) RMI Registry, COS Naming e UDDI.
b) JNDI, COS Naming e UDDI.
c) WSDL, UDDI e SOAP.
d) JNDI, COS Naming e WSDL.
e) WSDL, CORBA IDL e RMI Registry.
Questão 9
Considerando-se os documentos WSDL, qual elemento é relacionado a “um conjunto abstrato de operações apoiados por um ou mais endpoints”?
a) Message
b) Types
c) Binding
d) PortType
e) Service
Questão 10
Qual o tipo de Web Service que trabalha com envio e recepção de objetos, e permite uso tanto de XML quanto JSON?
a) SOAP
b) WADL
c) WSDL
d) UDDI
e) RESTful
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
RESPOSTA
Questão 1 – B
Justificativa: A tecnologia XML-RPC utiliza um vocabulário baseado em XML. As demais opções estão corretas.
Questão 2 – C
Justificativa: A chamada dos procedimentos está sujeita a falhas, e uma resposta indicando que algo errado ocorreu utilizará o elemento fault. Este elemento pode ser definido como uma estrutura composta do código do erro (faultCode) e mensagem do erro (faultString).
Questão 3 – D
Justificativa:A sintaxe do SOAP não permite o uso de DTD. As demais opções estão corretas.
Questão 4 – D
Justificativa: A opção Header preenche corretamente a lacuna. A seção Body está relacionada à chamada e resposta do serviço, e a seção Fault refere-se à ocorrência de um erro qualquer. Quanto a Footer e Tail, estas opções não existem no SOAP.
Questão 5 – C
Justificativa: As afirmativas II e IV estão corretas, no entanto a I está incorreta, pois o foco do SOAP é a comunicação entre aplicativos, e a III está incorreta pelo fato de ser utilizado XML, e não JSON.
Questão 6 – A
Justificativa: Além do protocolo SOAP, utilizado na comunicação entre aplicativos para Web Services deste tipo, será necessário também um descritor de serviços, o WSDL (Web Service Description Language). É através deste WSDL que diversas IDEs, como Visual Studio e NetBeans, conseguem criar o cliente com as chamadas corretas, deixando o programador com a sensação de que está fazendo uma simples chamada local, e sem envolver nenhum esforço para o mesmo na criação dos stubs de comunicação.
Questão 7 – E
Justificativa: As anotações utilizadas para definir o Web Service são:
@WebService – define a classe como um serviço na Web.
@WebMethod – define um método para este serviço.
@WebParam – utilizado para definir parâmetros de chamada de um determinado método do Web Service.
Questão 8 – B
Justificativa: O quadro seguinte mostra uma síntese das diversas plataformas e componentes.
Questão 1
Qual das opções abaixo NÃO é uma característica do XML-RPC?
a) Criado para ser tão simples quanto possível, definindo as interfaces de chamadas remotas, mas não implementando os métodos ouvintes nos servidores.
b) Utiliza um vocabulário baseado em JSON.
c) Tem uma quantidade limitada de comandos (tags) para descrever funções, tipos de parâmetros e tipos de retorno.
d) Utiliza o HTTP para o transporte na Internet.
e) Voltado para a comunicação computador a computador, e não de usuário a computador.
Questão 2
Em termos de XML-RPC, quando ocorre um erro no atendimento à solicitação, a mensagem referente a este erro será retornada em que elemento da resposta?
a) params
b) faultCode
c) faultString
d) param
e) methodName
Questão 3
Com relação à sintaxe do SOAP, qual das opções está INCORRETA?
a) A mensagem é criada com uso de XML.
b) Precisa do namespace soap-envelop.
c) Precisa do namespace soap-encoding.
d) Pode ser utilizado um DTD.
e) Não são permitidas instruções de processamento XML.
Questão 4
“Para o SOAP a seção _________ é opcional, e permite a inclusão de informações específicas do aplicativo, como autenticação e pagamento, por exemplo. Se esta seção estiver presente deverá constar como o primeiro elemento filho do envelope.”
Qual opção preenche corretamente a lacuna?
a) Body
b) Footer
c) Fault
d) Header
e) Tail
Questão 5
Considere as afirmativas abaixo, com relação ao SOAP:
I – Objetiva a comunicação entre o servidor e o usuário final.
II – Permite a comunicação na Internet de forma transparente aos firewalls.
III – Utiliza sintaxe JSON.
IV – É independente de plataforma e de linguagem de programação.
Qual a opção que indica a quantidade de afirmativas corretas?
a) As quatro estão corretas.
b) Apenas três estão corretas.
c) Apenas duas estão corretas.
d) Apenas uma está correta.
e) Nenhuma das afirmativas está correta.
Questão 6
Para Web Services SOAP é utilizado um descritor de serviços denominado:
a) WSDL
b) UDDI
c) XML
d) SOAP
e) REST
Questão 7
Para definir um Web Service em linguagem Java através de anotações, a classe deve ser anotada com _________, cada método que precise ser exposto como serviço deve ser anotado com __________, e cada parâmetro presente em cada um desses métodos deve ser anotado com _________.
Qual opção preenche corretamente as lacunas?
a) @Stateless, @EJB e @Servlet
b) @Stateless, @EJB e @MessageDriven
c) @WebParam, @WebMethod e @WebService
d) @Override, @Remote e @Local
e) @WebService, @WebMethod e @WebParam
Questão 8
Um componente de grande relevância nos ambientes de computação distribuída é o sistema de registro, normalmente um serviço de nomes e diretórios. Quais são, respectivamente, os sistemas de registro para RMI-IIOP, CORBA e Web Services?
a) RMI Registry, COS Naming e UDDI.
b) JNDI, COS Naming e UDDI.
c) WSDL, UDDI e SOAP.
d) JNDI, COS Naming e WSDL.
e) WSDL, CORBA IDL e RMI Registry.
Questão 9
Considerando-se os documentos WSDL, qual elemento é relacionado a “um conjunto abstrato de operações apoiados por um ou mais endpoints”?
a) Message
b) Types
c) Binding
d) PortType
e) Service
Questão 10
Qual o tipo de Web Service que trabalha com envio e recepção de objetos, e permite uso tanto de XML quanto JSON?
a) SOAP
b) WADL
c) WSDL
d) UDDI
e) RESTful
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
RESPOSTA
Questão 1 – B
Justificativa: A tecnologia XML-RPC utiliza um vocabulário baseado em XML. As demais opções estão corretas.
Questão 2 – C
Justificativa: A chamada dos procedimentos está sujeita a falhas, e uma resposta indicando que algo errado ocorreu utilizará o elemento fault. Este elemento pode ser definido como uma estrutura composta do código do erro (faultCode) e mensagem do erro (faultString).
Questão 3 – D
Justificativa: A sintaxe do SOAP não permite o uso de DTD. As demais opções estão corretas.
Questão 4 – D
Justificativa: A opção Header preenche corretamente a lacuna. A seção Body está relacionada à chamada e resposta do serviço, e a seção Fault refere-se à ocorrência de um erro qualquer. Quanto a Footer e Tail, estas opções não existem no SOAP.
Questão 5 – C
Justificativa: As afirmativas II e IV estão corretas, no entanto a I está incorreta, pois o foco do SOAP é a comunicação entre aplicativos, e a III está incorreta pelo fato de ser utilizado XML, e não JSON.
Questão 6 – A
Justificativa: Além do protocolo SOAP, utilizado na comunicação entre aplicativos para Web Services deste tipo, será necessário também um descritor de serviços, o WSDL (Web Service Description Language). É através deste WSDL que diversas IDEs, como Visual Studio e NetBeans, conseguem criar o cliente com as chamadas corretas, deixando o programador com a sensação de que está fazendo uma simples chamada local, e sem envolver nenhum esforço para o mesmo na criação dos stubs de comunicação.
Questão 7 – E
Justificativa: As anotações utilizadas para definir o Web Service são:
@WebService – define a classe como um serviço na Web.
@WebMethod – define um método para este serviço.
@WebParam – utilizado para definir parâmetros de chamada de um determinado método do Web Service.
Questão 8 – B
Justificativa: O quadro seguinte mostra uma síntese das diversas plataformas e componentes.
Segundo o quadro, o RMI-IIOP utiliza JNDI, CORBA utiliza COS Naming e os Web Services trabalham com UDDI.
Questão 9 – D
Justificativa: Um documento WSDL usa os seguintes elementos na definição de serviços de rede:
– Types – Um recipiente para definições de tipo de dados usando algum tipo de gramática (como XSD).
– Message – Uma definição abstrata do formato de dados da comunicação.
– Operation – Uma descrição abstrata de uma ação suportada pelo serviço.
– PortType – Um conjunto abstrato de operações apoiadas por um ou mais endpoints.
– Binding – Um protocolo concreto e especificação do formato de dados para um tipo de porta (PortType) particular.
– Port – Um endpoint simples, definido como uma combinação de um binding e um endereço de rede.
– Service – uma coleção de endpoints relacionados.
Questão 10 – E
Justificativa: Para RESTful Web Services, onde REST significa REpresentational State Transfer), as mensagens podem utilizar sintaxe XML ou JSON (Java Script Object Notation). Diferentemente do SOAP, que foca as chamadas de métodos remotos, o REST trabalha com envio e recepção de objetos ou recursos.
Quanto às demais opções, WADL descreve um Web Service REST, enquanto WSDL descreve um do tipo SOAP, e UDDI é o serviço de registroe localização de Web Services.
Questão 1
Considerando-se a abordagem de Web Services para uma Arquitetura Orientada a Serviços, o que são o OASIS ebXML e UDDI?
a) Protocolos de comunicação de Web Services.
b) Descritores de Serviços.
c) Repositórios de informações relacionados à publicação de descoberta.
d) Gestores de segurança.
e) Ferramentas de autenticação e autorização de usuários e componentes.
Questão 2
Em termos do SOA, analise as seguintes afirmativas:
I – Um serviço é definido como uma função independente e sem estado (stateless).
II – Os serviços devem se comunicar através de uma interface padronizada e bem definida.
III – Um serviço deve ser consumível de forma prática, com ferramentas para descoberta e uso automatizado.
IV – A única desvantagem deste tipo de ambiente é o grande aumento do acoplamento.
Quantas afirmativas estão corretas?
a) Todas estão corretas.
b) Apenas uma está correta.
c) Apenas duas estão corretas.
d) Apenas três estão corretas.
e) Nenhuma está correta.
Questão 3
Um ambiente SOA deve ser independente de plataforma, conferindo a característica de:
a) baixo acoplamento
b) neutralidade
c) coesão
d) segurança
e) governança
Questão 4
Qual dos elementos abaixo NÃO está relacionado aos aspectos de segurança em ambientes SOA?
a) Confidencialidade
b) Autenticação
c) Interoperabilidade
d) Autenticidade
e) Autorização
Questão 5
Outra característica desejável em ambientes SOA é a possibilidade de gestão de políticas e processos necessários à boa utilização da arquitetura, com a definição de papéis e determinação de objetivos claros. A descrição se refere a qual característica específica?
a) baixo acoplamento
b) neutralidade
c) coesão
d) segurança
e) governança
Questão 6
O que viabiliza a grande conectividade do SOA é a presença de um componente principal denominado:
a) SOAP
b) XML
c) JDBC
d) RMI
e) ESB
Questão 7
Existem diversos tipos de conectores disponíveis nas plataformas SOA. Entre as opções seguintes, qual delas NÃO é um conector que satisfaça à filosofia de utilização do SOA?
a) SOAP
b) REST
c) CORBA
d) Mensagerias
e) JDBC
Questão 8
Existem várias técnicas que podem ser utilizadas para o reaproveitamento ou adaptação de sistemas legados. No caso de ambientes SOA, a técnica utilizada seria:
a) Refatoramento
b) Modernização do tipo “caixa preta”
c) Modernização do tipo “caixa branca”
d) Herança
e) Substituição
Questão 9
Uma necessidade bastante comum em ambientes SOA é a gestão de segurança, e parte da solução envolve a utilização de certificados digitais, como os do tipo RSA. Qual conector do SOA estaria relacionado ao acesso a estes certificados em grande parte dos sistemas corporativos?
a) CORBA
b) RPC
c) Mensagerias
d) RMI
e) LDAP
Questão 10
Com relação à abordagem de Web Services para ambientes SOA, considere as seguintes afirmativas:
I – Os dois principais papéis utilizados são Service Provider e Consumer.
II – Um provedor não pode ser consumidor de outro provedor.
III – Podem ser combinados vários serviços através de processos de orquestração.
IV – Sempre que possível o Web Service deve ser acessado diretamente, sem a real necessidade de uso do broker.
Quantas das afirmativas estão corretas?
a) Todas estão corretas.
b) Apenas uma está correta.
c) Apenas duas estão corretas.
d) Apenas três estão corretas.
e) Nenhuma está correta.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
RESPOSTAS
Exercícios de fixação
Questão 1 – C
Justificativa: Exemplos de repositórios são o OASIS ebXML e UDDI, tratando de ferramentais onde podem ser armazenados e gerenciados artefatos como XML Schemas e WSDL. Estes repositórios não tratam de aspectos relacionados à autenticação e demais elementos relacionados à segurança da plataforma. Quanto ao protocolo normalmente adotado, é o SOAP, e o descritor de serviços mais comum é o WSDL.
Questão 2 – D
Justificativa: Apenas a afirmativa IV está incorreta. Um termo muito utilizado em termos de programação é “acoplamento “, que trata do nível de interdependência entre os módulos de um sistema. Uma das características do SOA é justamente o baixo acoplamento, e o módulo é considerado coeso quando possui uma atividade bem definida e um baixo acoplamento.
Questão 3 – B
Justificativa: Apesar de todas as características apresentadas serem desejáveis em um ambiente SOA, a independência de plataforma é denominada neutralidade.
Questão 4 – C
Justificativa: A interoperabilidade é uma premissa básica para o SOA, porém não faz parte dos aspectos de segurança desejados, como as demais opções, inclusive aumentando a complexidade para que essas sejam implementadas efetivamente.
Questão 5 – E
Justificativa: Apesar de todas as características apresentadas serem desejáveis em um ambiente SOA, esta gestão de papéis e da boa utilização do ambiente é denominada governança.
Questão 6 – E
Justificativa: O que garante a grande conectividade em um ambiente SOA, viabilizando inclusive o reuso de sistemas legados, é a presença do ESB (Enterprise Service Bus), apoiado por diversos tipos de Middleware.
Questão 7 – E
Justificativa: Apenas o JDBC não poderia ser considerado um conector típico para SOA. Apesar de ser um middleware para acesso a bases de dados, o SOA se preocupa com o acesso e orquestração de serviços, não tendo como objetivo o acesso direto aos dados de uma determinada base. Este acesso seria intermediado por um componente como o JEE ou Web Service.
Questão 8 – B
Justificativa: No caso do SOA é utilizada a modernização do tipo “caixa preta”, a qual envolve apenas a análise de entradas e saídas do sistema legado dentro de um contexto operacional, de forma a identificar as interfaces desse sistema, ou seja, aproveitando os serviços oferecidos pelo mesmo. Não ocorre qualquer tipo de refatoramento, o que alteraria o código original, nem de extensões na linguagem original, tipicamente por herança, como ocorre na modernização “caixa branca”. Finalmente, o uso de SOA é justificado em parte pela impossibilidade de substituição do sistema legado.
Questão 9 – E
Justificativa: Incialmente, CORBA, RPC e RMI estariam relacionados à conexão com serviços distribuídos, alguns deles considerados legados, e as Mensagerias estão relacionadas ao tratamento de solicitações de forma assíncrona.
Finalmente, um elemento de grande utilização dentro do ambiente SOA é a conexão com LDAP (Lightweight Directory Access Protocol), o que pode ser interessante para a gestão de certificados digitais e da segurança em conjunto com tecnologias como o JAAS (Java Authentication and Authorization Service).
Questão 10 – C
Justificativa: As opções II e IV estão incorretas. Um provedor pode ser consumidor de outro provedor, e mesmo que um Web Service possa ser disponibilizado diretamente, sem o uso do Broker, o ideal é que o faça através de outro Web Service disponibilizado pelo mesmo, de forma a não diminuir os aspectos de segurança e governança da arquitetura orientada a serviços.
Questão 1
Na arquitetura SOA, o acesso aos diversos tipos de tecnologias englobados é feito por intermédio da estrutura denominada:
a) RPC
b) ESB
c) CORBA
d) RMI
e) JEE
Questão 2
“Quando trabalhamos com serviços de forma colaborativa existem duas formas de organizá-los e sequenciá-los. Na prática denominada ___________ existe um ambiente mediador, sendo a ativação e coordenação das diversas chamadas e respostas sempre efetuadas através deste, enquanto que no modelo denominado ______________ não existe este coordenador central, e por consequência todos os participantes se conhecem e atuam de forma colaborativa.”
Qual opção completa corretamente as lacunas?
a) Coreografia e broadcast.
b) Coreografia e orquestração.
c) Coreografia e ESB.
d) Orquestração e ESB.
e) Orquestração e coreografia.
Questão 3
Qual o nome adotado para a camada intermediária entre dois ou mais componentes de software?
a) Front-end
b) ESB
c) Middleware
d) Back-end
e) MOM
Questão 4
Como núcleoda Arquitetura Orientada a Serviços, o ESB cumpre com várias tarefas referentes aos serviços. Qual das opções abaixo NÃO é uma destas tarefas?
a) Transformação
b) Roteamento
c) Gerência
d) Segurança
e) Implementação
Questão 5
Considere as seguintes afirmativas:
I – A linguagem BPEL é amplamente utilizada na orquestração de serviços.
II – Outra opção de linguagem para efetuar a orquestração é a WS-CDL.
III – Toda a comunicação do ESB com outras tecnologias deve utilizar Web Services.
Qual das opções está correta?
a) Apenas a afirmativa I é verdadeira.
b) São verdadeiras as afirmativas II e III.
c) Apenas a afirmativa II é falsa.
d) Todas as afirmativas são verdadeiras.
e) Todas as afirmativas são falsas.
Questão 6
Os elementos básicos fornecidos pelo BPMN para a modelagem de processos são:
a) Eventos, Atividades e Tarefas.
b) Eventos, Tarefas e Gateways.
c) Eventos, Tarefas e Subprocessos.
d) Atividades, Tarefas e Subprocessos.
e) Eventos, Atividades e Gateways.
Questão 7
Considere as afirmativas acerca do seguinte fluxo de processo:
I – “Lottery Retailer ” e “Customer ” são pools, definindo duas instituições diferentes.
II – “Wait for result” é um evento simples.
III – O processo todo é iniciado por “Order received”.
Qual das opções é verdadeira?
a) Todas as afirmativas estão corretas.
b) As afirmativas II e III estão corretas.
c) Apenas a afirmativa I está correta.
d) As afirmativas I e II estão corretas.
e) Nenhuma afirmativa está correta.
Questão 8
Segundo a BPMN, o que significa o símbolo abaixo?
a) Atividade Ad-hoc.
b) Subprocesso que repete a si próprio (loop).
c) Tarefa que repete a si própria (loop).
d) Tarefa de compensação.
e) Subprocesso de múltiplas instâncias.
Questão 9
Em termos de BPEL, quais comandos fazem, respectivamente, a chamada a um serviço e a recepção da resposta de uma fonte externa?
a) Os comandos invoque e receive.
b) Os comandos invoque e partnerLink.
c) Os comandos invoque e assign.
d) Os comandos assign e partnerLink.
e) Os comandos partnerLink e assign.
Questão 10
Qual comando BPEL deve ser utilizado quando precisamos escolher uma entre várias atividades?
a) process
b) throw
c) terminate
d) switch
e) while
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
RESPOSTAS
Questão 1 – B
Justificativa: O termo ESB (Enterprise Service Bus), refere-se à camada de middleware de negócios de uma arquitetura orientada a serviços. Basicamente trata do núcleo da arquitetura, agrupando todas as tecnologias de comunicação com os diversos tipos de componentes suportados pelo software gestor desta arquitetura. As demais opções apresentadas tratam justamente de tecnologias que costumam ser acessadas por intermédio do ESB nesta arquitetura.
Questão 2 – E
Justificativa: A orquestração de serviços exige um mediador central, o qual normalmente é constituído do ESB e ferramentas de apoio no SOA, enquanto a coreografia não trabalha com este mediador, trazendo um ambiente em que os serviços colaboram diretamente uns com os outros.
Questão 3 – C
Justificativa: Quando falamos de middleware estamos nos referindo a tecnologias que permitem a criação de uma camada intermediária para a comunicação de dois ou mais componentes de software.
O middleware normalmente é utilizado para isolar o nível de Back-End do Front-End, sendo o MOM um exemplo de tipo de middleware específico para mensagerias.
Quanto ao ESB, ele precisa de grande diversidade de middlewares para garantir toda a interoperabilidade desejada.
Questão 4 – E
Justificativa: O ambiente SOA se preocupa com a gerência, segurança e orquestração de serviços, mas não com a implementação dos mesmos, fato este que garante a grande neutralidade deste ambiente.
Questão 5 – A
Justificativa: A afirmativa II é falsa, pois WS-CDL é uma linguagem para coreografia de serviços, e não orquestração. Quanto à afirmativa III, o ESB concentra uma grande gama de middleware para acesso a diferentes tipos de tecnologias, logo não ficando restrito aos Web Services.
Questão 6 – E
Justificativa: Elementos básicos do BPMN:
– Eventos, tratando de elementos que afetam o fluxo do processo de negócio.
– Atividades, referindo-se a comandos executados durante o processo, podendo ser atômicas ou compostas.
– Gateway, o qual controla a convergência ou divergência do fluxo.
Questão 7 – C
Justificativa: A afirmativa I está correta, e certamente muitas pessoas confundiriam estes pools com lanes. Quanto à afirmativa II, está incorreta pois o elemento trata de um Gateway. Por fim, todo o processo é iniciado por “Start Event”, o que invalida a afirmativa III, até mesmo porque o elemento considerado possui dependência de “Buy a ticket”.
Questão 8 – B
Justificativa: A simbologia das atividades pode ser observada a seguir. O símbolo de “+” indica um subprocesso fechado (fora da forma expandida), e a simbologia utilizada é a de loop.
Questão 9 – A
Justificativa: Os comandos são invoque e receive, como pode ser observado nos descritivos abaixo.
Questão 10 – D
Justificativa: O comando é switch, como pode ser observado nos descritivos abaixo.

Continue navegando