Curso 174518 Aula 10 0df5 Completo
Curso 174518 Aula 10 0df5 Completo
Curso 174518 Aula 10 0df5 Completo
Autor:
Equipe Informática e TI, Fernando
Pedrosa Lopes , Diego Carvalho
Aula 10
14 de Agosto de 2021
Sumário
3 – SOA: Conceitos-Chaves................................................................................................................... 7
9 – Mensageria e CORBA.................................................................................................................... 27
Gabarito ................................................................................................................................................ 84
Nesse momento da aula, vamos falar sobre Service Oriented Architecture (SOA)! Antes de
adentrarmos nesse tema, é importante que vocês compreendam os conceitos de arquitetura e
de serviço. No contexto de engenharia de software, a arquitetura é a organização ou a
estrutura dos componentes significativos do sistema de software que interagem por meio de
interfaces. Simples, não é?
Galera, basta pensar em qualquer empresa de prestação de serviço. Existe um provedor que
fornece algum tipo de serviço e o consumidor que consome o serviço fornecido. Eu, por
exemplo, contrato uma empresa e pago por um serviço de fornecimento de energia elétrica para
minha casa. Eu lá quero saber sobre a geração, transmissão e distribuição de energia? Claro que
não, eu quero é a energia!
Eu não ligo para como eles vão fazer essa energia aparecer, eu só quero que ela sempre esteja
disponível na minha casa. Thomas Erl destaca também outros benefícios: serviços são
reutilizáveis; compartilham um contrato formal; possuem baixo acoplamento; abstraem a
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
lógica; são capazes de se comporem; são autônomos; evitam alocação de recursos por longos
períodos; entre outros.
Agora que já sabemos o que é uma arquitetura e o que é um serviço, podemos juntá-los! A OASIS1
define Arquitetura Orientada a Serviços como um paradigma para organização e utilização
de recursos distribuídos que estão sob o controle de diferentes domínios proprietários,
permitindo que funcionalidades implementadas sejam disponibilizadas na forma de serviços
fracamente acoplados.
Uma abordagem distribuída (não-monolítica) para integração de arquiteturas baseadas no conceito de serviço.
Uma abordagem arquitetural corporativa que permite a criação de serviços de negócio interoperáveis, que
podem ser reutilizados e compartilhados entre aplicações e empresas.
1
OASIS (Organization for the Advancement of Structured Information Standards) é um consórcio global que conduz o desenvolvimento,
convergência e adoção de padrões para e-business e web services.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Para entender isso melhor, peço que acompanhem comigo uma pequena história sobre a
justificativa para implementação de arquitetura orientada a serviços. Imaginem que João
trabalha em um banco e, por conta de novas demandas de negócio, ele precisa de dados
específicos, mas esses dados estão espalhados em diferentes aplicações no sistema do banco.
Um programador, então, escreve exclusivamente para João uma aplicação que recupera os
dados que ele deseja de outras três aplicações A, B, C e escreve todos esses dados em uma
planilha. Como todo usuário, João é extremamente exigente! Ele sabe que precisará desses
dados todos os dias de manhã, logo ele não quer ter que gerá-lo na mão, ele quer que a
aplicação o faça automaticamente.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Vocês já viram o tamanho de um banco? João não é o único que quer melhorar sua eficiência.
Multipliquem essa situação por algumas centenas e nós teremos uma Arquitetura de Bola de
Pelo (Hairball Architecture)2. Em outras palavras, temos centenas de pelos indo e voltando em
tudo que é direção. Ninguém tem controle e ninguém consegue rastrear absolutamente nada.
Imaginem agora que nós temos que substituir uma aplicação imensa do banco porque ela
está desatualizada e o fornecedor disse que, em dois anos, ele parará de oferecer suporte.
Ninguém sabe quais aplicações dependem dessa aplicação. É uma rede sem fim de dependências
que foram criadas uma de cada vez, todas fazendo sentido no momento de sua criação, mas que
ficou caótica com o tempo.
2
Alguns chamam de Spaghetti-Like Architecture, i.e., Arquitetura de Macarronada.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Torna-se impossível mudar algum aspecto sem afetar dezenas de outras coisas, por conta do alto
acoplamento. Havia, então, a necessidade de mudar a visão de negócio sobre o parque
tecnológico de uma organização de tal forma que as pessoas tenham liberdade para criar
melhorias e inovações. Devemos ter uma arquitetura que seja simultaneamente robusta,
eficiente e flexível.
Vocês puderam notar dois problemas claros da área de tecnologia da informação desse banco!
Alto acoplamento, tendo em vista que os sistemas dependem excessivamente de serviços
personalizados; e alta redundância, na medida em que há funcionalidades replicadas em
diversos sistemas dentro do próprio banco. Galera, em um nível estratégico, isso significa
perda de dinheiro!
Quando se fala em perda de dinheiro, a alta direção dos bancos já começa a tremer! Bancos
gostam de perder dinheiro? De jeito nenhum! Professor, por que eles não compram logo uma
Arquitetura Orientada a Serviços? Porque Arquitetura Orientada a Serviços não é um produto que
se possa comprar! Eu não posso chegar em um fornecedor e pedir o melhor SOA que eles
tiverem...
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Interação envolve a execução de ações na direção do serviço. Em geral, isto é realizado pelo
envio/recebimento de mensagens, mas há modos que não envolvem explicitamente transmissão
de mensagens (Ex: uma interação pode ser efetuada pela modificação do estado de um recurso
compartilhado). Grosso modo, refere-se à troca de mensagens como modo primário de
interação com um serviço.
Quanto ao efeito no mundo real, sempre há um propósito particular associado à interação com
um serviço. O efeito é o resultado do uso de um serviço por um cliente que gera a alteração
no estado compartilhado entre este e seu consumidor e outras entidades que pertençam ao
mesmo domínio. No fim das contas, sempre há de ter um efeito real.
Professor, o que seria esse estado compartilhado? Imagine um sistema de compras online, em
que há mais de um serviço interagindo. Ao finalizar uma compra, o estado compartilhado pelo
consumidor, provedor, etc será alterado: a conta do comprador terá um débito, o estoque terá
sua quantidade reduzida, entre outros. Não se deve focar nos estados internos, mas nas partes
compartilhadas. Em suma...
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Uma política representa alguma restrição ou condição sobre o uso, distribuição ou descrição de
uma entidade própria definida por qualquer participante. Um contrato, por outro lado,
representa um acordo de duas ou mais partes. Assim como as políticas, acordos são também
sobre as condições de uso de um serviço; ele pode também restringir os efeitos esperados no
mundo real ao usar o serviço.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Thomas Erl afirma que a arquitetura orientada a serviços possui diversos objetivos
estratégicos, tais como: maior interoperabilidade intrínseca; maior federação; e maior
diversificação de fornecedores. O primeiro objetivo trata simplesmente de estabelecer a
interoperabilidade nativa dentro dos serviços, a fim de reduzir a necessidade de integração.
Reduzir a necessidade de integração? Sim, senhor!
O segundo objetivo trata de federação! O que é isso, professor? Um ambiente federado é aquele
em que recursos e aplicativos são unidos, entretanto cada um mantém sua autonomia e
autogestão. Isso pode ser alcançado por meio do uso de serviços padronizados e com
capacidade de composição, de modo que cada serviço encapsula um segmento da organização
e o expressa de maneira consistente.
O terceiro objetivo trata da capacidade que o cliente tem de analisar diversos fornecedores
e serviços, invocando o melhor serviço ou aquele que seja mais condizente com sua
demanda. Na tabela abaixo, vocês podem visualizar diversas vantagens e desvantagens (sim,
elas também existem!) da utilização da arquitetura orientada a serviços. Bacana?
Produtividade: com o reuso, a equipe de desenvolvimento pode reutilizar serviços em outros projetos,
diminuindo o tempo de desenvolvimento.
Flexibilidade: isolando a estrutura de um serviço as mudanças são feitas com maior facilidade.
Alinhamento com o negócio: a área de negócio visualiza os processos alinhados com a tecnologia.
Interoperabilidade: disponibilizar serviços independentemente da plataforma e tecnologia.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Performance: a performance depende do servidor onde o serviço está publicado, como também da rede.
Robustez: caso uma exceção acontecer não tem como reverter o processo.
Segurança: os serviços estão disponíveis na rede, qualquer aplicativo pode consumir esse serviço, os dados são
trafegados pela rede podendo ser interceptados.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Neste modelo, três papeis são identificados com base em seus comportamentos e
responsabilidades sobre um serviço: Prestadores de Serviço, Registro de Serviços e
Solicitantes de Serviço. Funcionava assim: um prestador de serviços publica serviços em um
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Existem dois modelos bastante similares que implementam o modelo triangular com
algumas particularidades. O primeiro é o Modelo Publish-Find-Bind, formado pelo prestador de
serviços, solicitante de serviços e o registro de serviços – aqui chamado de Broker de Serviços. O
segundo é o Modelo Find-Bind-Execute3, formado pelo prestador de serviços, solicitante de
serviços e o registro de serviços.
3
Alguns chamam de Find-Bind-Invoke.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Esse último modelo funciona assim: prestadores de serviços publicam serviços no registro de
serviço; consumidores de serviços realizam uma busca por algum serviço de interesse. Caso o
consumidor encontre o serviço desejado, é criado um contrato e devolve-se um endereço
(comumente chamado de endpoint) para utilização do serviço. Após isso, basta executar o
serviço contratado...
serviço, isto é, é considerado o dono do serviço. Ele é o responsável por fornecer toda a
infraestrutura de acesso, tipicamente via rede, e é capaz de responder as requisições. O
consumidor determina o comportamento daquele que representa o cliente da organização
provedora do serviço.
Um consumidor pode ser representado por uma pessoa, uma organização, uma máquina ou
um componente de software. Já o registro determina o comportamento que a organização
deve ter para divulgar seu serviço e o do cliente que deve proceder para localizar o serviço
desejado. Ele gerencia os repositórios que armazenam informações sobre os serviços e entidades
que os fornecem.
Galera, algumas questões têm cobrado recentemente os papeis ou atores que compõem o Ciclo
de Vida de Soluções SOA. Nesse contexto, abaixo temos alguns papeis considerados
essenciais e suficientes, são eles: Consultor de Negócios; Arquiteto SOA; Provedor; e
Consumidor – os dois últimos, nós já vimos extensivamente. Vamos ver em mais detalhes na
tabela abaixo:
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Galera, quantas vezes nós já falamos, nessa aula, em Thomas Erl? Pois é, ele é o cara da arquitetura
orientada a serviços! Foi do livro dele que retiraram todo o tema da prova discursiva do TCU/2015.
Ele destaca em seu livro oito princípios básicos de design que norteiam toda modelagem
lógica de serviços e aplicações. Vamos ver agora cada um deles em mais detalhes:
Todo serviço deve conter um contrato formal padronizado. O que é um contrato? Basicamente,
trata-se de um documento que descreve o que o serviço faz, dentre outras coisas. Cada
contrato de serviços deve estar de acordo com os mesmos padrões de design aplicados a
contratos de outros serviços dentro de um inventário de serviços, i.e., deve ser padronizado.
Galera, por que contratos são tão importantes? Porque eles trazem detalhes da funcionalidade
provida por um serviço! Ele inclusive auxilia outro princípio que veremos mais a frente – Princípio
do Descobrimento (ou Localização). Além disso, um contrato pode conter outros documentos,
como um SLA (Service Level Agreement), para constar o nível de serviço acordado.
O que é baixo acoplamento? Na minha época de estudos, eu sempre decorei acoplamento como
a independência entre as partes! Se há baixo acoplamento, as partes são pouco dependentes; se
há alto acoplamento, as partes são muito dependentes. O baixo acoplamento de um serviço
está relacionado com sua capacidade de ser independente de outros serviços para realizar
sua tarefa.
Uma possível consequência do baixo acoplamento é a alta coesão! De novo, o que é isso? Eu
decorava coesão como a divisão de responsabilidades. Em outras palavras, cada serviço tem sua
responsabilidade bem definida e coerente – é o princípio da responsabilidade única. Imaginem
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
um serviço que é responsável por quatro tarefas totalmente diferentes. É uma péssima ideia -
gera alto acoplamento!
Um serviço nunca será 100% desacoplado, mas o desafio é achar o grau de desacoplamento
que torne o serviço flexível para compor outros serviços e com custo não tão elevado. Para
diminuir a dependência com um mundo exterior, utiliza-se a tecnologia chamada ESB
(Enterprise Service Bus), implementação conceitual da infraestrutura que abstrai a forma de
troca de mensagens feitas pelos sistemas.
Galera, vocês já devem ter pegado ônibus alguma vez na vida (ou ainda pegam). Como funciona?
Você encontra o ônibus que você quer, você chega nele, e ele te leva onde você quer ir. Você sabe
aproximadamente quanto tempo vai demorar para chegar ao seu destino (com exceção de
quaisquer atrasos). Se o tráfego estiver intenso, o motorista vai tomar uma rota alternativa
para chegar onde você quer.
É parecido com o Enterprise Service Bus (ESB). Ele fornece uma de mover mensagens entre
serviços. Embora existam muitos tipos de serviços de mensagens, o ESB é um pacote de estilos
diferentes de mensagens, combinadas com serviços de registro e de segurança. É uma forma de
as organizações criarem um ambiente SOA escalável sem codificar na mão a forma como os
serviços são ligados entre si.
O ESB trata abstrai várias preocupações que o arquiteto não precisa se preocupar. Algumas das
capacidades consideradas essenciais para um barramento de serviço corporativo (ESB) são:
Resolução de Descrições de Serviços; Transformação de Mensagens; Roteamento Dinâmico de
Mensagens (Serviço de conectividade); Tratamento de Exceções; e Monitoramento de
Mensagens.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Trata-se, portanto, de uma arquitetura para middlewares com o intuito de integrar serviços
distribuídos por meio de diferentes formas de processamento de mensagens e tecnologias
(plataformas, hardware, software, protocolos, etc). Por fim, existe ESB sem SOA e SOA sem
ESB! Aliás, existe ESB até sem Web Service – pode-se inclusive utilizar outras formas de
serviço. Logo, ESB não implementa SOA!
Vocês se lembram dos Testes Caixa-Preta? São aqueles que são realizados sem a necessidade
de entender a forma de implementação! Pois é, serviços devem ser vistos como uma caixa-
preta que compõe um sistema. Se eu quiser mudar a implementação, refatorar, manutenir, não
há nenhum problema – desde que eu mantenha os padrões de entrada e saída definidos no
contrato.
Dessa forma, o consumidor não é afetado! Vejam só: se eu contrato um serviço dos correios para
entregar apostilas para os meus alunos, eu não quero saber como eles organizarão a sua
logística de entrega! Eles podem mudar o tanto que for, desde que a apostila chegue para os
alunos corretamente. Serviços devem ser consumidos independente da linguagem de
programação, arquitetura ou outras tecnologias.
Serviços são projetados para limitar informações no contrato de serviços ao que é realmente
necessário para que o serviço seja funcionalmente útil a consumidores agora e no futuro.
Informações, além das que são publicadas no contratado de serviços, são consideradas
privadas e não devem ser disponibilizadas para a criação de consumidores de serviço
potenciais.
Pessoal, esse é um princípio muito tranquilo! É de se esperar que um serviço seja reutilizável,
i.e., eu posso utilizá-lo em diferentes contextos e tecnologias. Como serviços contêm e
expressam lógicas, eles podem ser definidos como recursos da organização. Esse princípio é
fundamental para aumentar a agilidade do desenvolvimento das aplicações.
É evidente que será necessário mais esforço para construir um serviço mais genérico – que
atenda diversas demandas diferentes, abrangendo vários cenários. Observem também que
esse princípio é uma consequência do Princípio do Baixo Acoplamento. Para que os serviços
sejam reusados, os contratos de serviços devem ter as informações necessárias e bem claras
sobre as suas capacidades.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
E qual a consequência disso? Maior confiabilidade, na medida em que os serviços podem operar
com menos dependência de recursos sobre os quais há pouco ou nenhum controle – a
longevidade de um serviço é bastante dependente de sua confiabilidade. Se o serviço não
depende de algum elemento externo para executar suas atividades, então ele é mais seguro,
confiável e autônomo.
Essa autonomia é medida e disponibilizada nos contratos formais, tendo como finalidade
esclarecer o nível de independência aos seus consumidores. Além da maior confiabilidade, a
autonomia promove melhor desempenho e previsibilidade comportamental. Além disso, como
dissemos, ele aumenta a quantidade de controle que um serviço tem sobre o ambiente em
tempo de execução.
Serviços são explicitamente projetados para minimizar o período durante o qual eles existem
em uma condição de dependência de informações de estado. A independência de estado é
quando um serviço não precisa reter nenhum dado do estado para que outro serviço processe a
sua lógica. Podemos citar como exemplo, o uso do protocolo HTTP.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Ele monta seu cabeçalho e todo o conteúdo da página que é enviada para o navegador,
retornando a uma condição de independência de estado em que ele não retém nenhuma
solicitação ou memória adicional do navegador. Serviços são projetados para minimizar o
período durante o qual eles existem em uma condição de dependência de informação de estado,
aumentando a escalabilidade do serviço.
O objetivo principal é fazer com que o serviço se torne visível a todos, aumentando assim a
agilidade, a produtividade e a confiabilidade dos consumidores. Os serviços são projetados
para que sejam encontrados e seus propósitos e capacidades sejam claramente entendidos, ou
seja, os contratos de serviços devem ter meta-informações extras que transmitem claramente o
que o serviço realmente faz.
Serviços são projetados para que atuem como participantes eficazes de uma composição,
independente do tamanho e da complexidade de composição. Ao discutir os objetivos da
composição de serviços, boa parte dos objetivos de reúso de serviços também é aplicável. Isso
ocorre porque, muitas vezes, a composição de serviços é uma forma de reúso de serviços.
Talvez você se lembre que um dos objetivos que selecionamos para o princípio da
reusabilidade era possibilitar a composição de serviços em larga escala. A composição de
serviços permite que as capacidades de um serviço sejam combinadas várias vezes com as de
outros serviços em novas configurações a fim de resolver problemas diferentes.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Vamos ver um exemplo? Os correios disponibilizam um serviço tal que, dado um CEP, retorna
um endereço. Eles também oferecem outro serviço tal que, dado um CEP, retorna os tipos de
frete e seus valores. Esses serviços isoladamente resolvem determinados problemas específicos.
Quando compostos, esses resolvem outros tipos de problemas. Simples de entender?
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Já que acabamos de falar sobre o princípio da composição de serviços, vamos ver mais alguns
detalhes! Conforme vimos anteriormente, uma das principais características de um serviço é a
sua capacidade de se compor com outros serviços para a elaboração de um novo serviço de mais
alto nível de abstração – como é apresentado na imagem a seguir.
Eu falei que serviços, individualmente, devem ser projetados seguindo princípios de design que
incluem, por exemplo, a independência de estados. No entanto, quando serviços estão
compostos, trabalhando em conjunto, geralmente é necessário que eles sejam capazes de
manter seus estados. Galera, existem workflows de coordenação para implementar a
composição de serviços. Vejamos os principais:
Orquestração: representa o processo em que vários recursos dentro de uma organização podem
ser coordenados para executar um conjunto de lógicas de processo de negócio. Essa tecnologia
é mais comumente associada a uma plataforma central de gerenciamento de atividades que
fornecem benefícios como transformação de dados e gerenciamento de transações.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
No contexto de web services, existe uma linguagem para facilitar a orquestração das chamadas
de serviços: Web Services Business Process Execution Language (WS-BPEL)! Essa é uma
linguagem executável, com variáveis, tratamento de exceção, etc que segue o Padrão OASIS
e é utilizada para especificar ações de processos de negócios e orquestrar serviços em um
fluxo de processos.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
No contexto de web services, existe uma linguagem para facilitar a coreografia das chamadas de
serviços: Web Services Choreography Description Language (WS-CDL)! Essa é uma linguagem
descritiva que descreve colaborações ponto-a-ponto de participantes ao definir, a partir de
um ponto de vista global, um comportamento observável comum e complementar.
Por fim, vamos falar um pouco sobre Service Component Architecture (SCA). Trata-se de uma
tentativa iniciada por fornecedores de software (Ex: BEA, IBM, Oracle, SAP, etc) de simplificar a
construção de uma Arquitetura Orientada a Serviços. Aliás, trata-se de um modelo de
programação simples, porém poderoso, para construir aplicativos com base em SOA.
Ele é baseado na ideia de que funções do negócio são providas como uma série de serviços, os
quais são combinados a fim de criar soluções que sirvam a uma necessidade particular. Estas
aplicações podem conter tanto serviços novos criados especificamente para a aplicação, mas
também funções do negócio provenientes de sistemas e aplicações, as quais são reutilizadas
como parte da composição.
Para componentes, isto inclui não apenas diferentes linguagens de programação, mas
também frameworks, e ambientes geralmente utilizados com estas linguagens. Para
métodos de acesso, composições SCA permitem o uso de várias tecnologias de comunicação e
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
acesso a serviços que são usadas em geral, incluindo, por exemplo, Web Services, sistemas de
mensagens e Remote Procedure Call (RPC).
O SCA foca em três aspectos: Composição (como empacotar componentes de software para
eles serem reutilizados por outras aplicações); Montagem (define como componentes podem ser
colocados juntos e tratá-los como um único serviço; e Política (como tratar restrição de acesso
ou assinatura digital em uma arquitetura orientada a serviços).
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Orientação a Serviço é um paradigma que molda o que você faz. SOA é um tipo de
arquitetura que resulta da aplicação de orientação a serviço. Nós temos aplicado
orientação para ajudar organizações a, de maneira consistente e sustentável, agregar valor
ao negócio, com maior agilidade e efetividade de custos, em alinhamento com a dinâmica
das necessidades de negócio. Através de nosso trabalho, priorizamos:
Isso é, mesmo valorizando os itens à direita, valorizamos mais os itens à esquerda. Nós
seguimos os seguintes princípios orientadores:
Produtos e padrões, por si só, não proverão uma SOA nem aplicarão os paradigmas de
orientação a serviço por você.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Esse manifesto foi detalhadamente comentado – parte a parte – por um de seus maiores
idealizadores: Thomas Erl. Se quiserem se aprofundar, leiam este artigo:
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Antes de entrar exatamente nesses temas, vamos falar um pouco sobre comunicação
síncrona e assíncrona. Em um sistema distribuído, as partes têm que conversar entre si e essa
comunicação é realizada, em geral, por meio de trocas de mensagens. Existem duas famosas
abordagens de comunicação: síncrona e assíncrona. Vamos ver de maneira bastante lúdica a
diferença entre elas...
Minha namorada gostava de me ligar várias vezes durante o dia para tratar de assuntos
pessoais. Até que um dia, eu tive que chegar para ela e dizer: “Amor, eu não aguento mais! Nós
precisamos reduzir essa quantidade de comunicação síncrona e substituí-la por outro meio de
comunicação assíncrona porque você está me atrapalhando!”.
Tomei um sopapo no pé da orelha e reorganizei meus pensamentos de uma forma que ela
entendesse melhor! O que eu queria dizer? A comunicação síncrona exige, como o próprio nome
diz, sincronia, ou seja, quando ela me telefonava eu tinha que parar o que estava fazendo e
respondê-la imediatamente – eu não podia simplesmente ouvir e respondê-la depois.
Então ela dizia: “Oi, tudo bem?”; eu respondia: “Oi, tudo bem! E você?”; ela dizia: “Tudo ótimo! Está
no trabalho?”; eu respondia: “Sim, e você?”... enfim, a troca de mensagens era síncrona, ela falava
algo, eu ouvia e respondia, ela ouvia de volta e respondia de volta e assim por diante. Como eu
não podia ouvir uma pergunta dela e não a responder, isso se chamava comunicação
síncrona!
Foi então que um gênio colocou no Whatsapp uma nova feature que permitia enviar
mensagens de voz. Dessa forma, eu podia ouvir a mensagem dela, ir fazer outra atividade e
respondê-la só mais tarde quando eu tivesse um tempo livre, ou seja, a mensagem dela não
bloqueava mais as minhas atividades e isso (obrigado, Deus!) se chama comunicação assíncrona.
É nesse cenário que se insere a Mensageria, i.e., trata-se de uma maneira de resolver
problemas complexos de integração de sistemas por meio da comunicação indireta entre as
partes. E por que dizemos indiretas? Suponha que tenhamos um problema complexo de
integração, isto é, temos dois ou mais sistemas que precisam “conversar”, entretanto eles não
possuem uma linguagem comum para tal.
Para resolver esse tipo de problema, é comum inserir um middleware que auxiliará a
comunicação entre os dois sistemas com o intuito e, por conta desse middleware, diz-se que a
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Qual a grande vantagem disso? Isso permite reduzir o grau de acoplamento (i.e., dependência)
entre os componentes. De mais a mais, a mensageria reduz gargalos dos sistemas, contribui
para o aumento da escalabilidade e facilita uma arquitetura flexível e ágil, capaz de responder
mais rapidamente a mudanças. Esse é um tópico absurdamente raro de cair em prova!
O CORBA (Common Object Request Broker Architeture) é uma arquitetura padrão proposta pelo
Object Management Group (OMG) para estabelecer e simplificar a troca de dados entre
sistemas distribuídos heterogêneos por meio de uma estrutura comum para o gerenciamento
de objetos distribuídos que é conhecida como Object Manager Architecture (OMA).
O componente fundamental para o CORBA é o ORB (Object Request Broker), que é responsável
pela interoperabilidade entre objetos. Por meio do IOR (Interoperable Object Reference), o ORB
consegue localizar os objetos e transmitir informações. O ORB é um módulo intermediário
entre cliente/objeto, sendo responsável por aceitar requisições, enviá-las ao objeto correto
e entregar a resposta ao cliente.
Além disso, ele utiliza a IDL (Interface Definition Language), uma linguagem utilizada para
descrever as interfaces das implementações dos objetos na rede (seria algo similar ao
WSDL). Uma interface escrita em IDL especifica o formato da chamada das operações providas
pelo objeto e os parâmetros de entrada ou saída necessários para efetuar a operação.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
O que é o versionamento de serviços? Quando se está inserido num programa SOA, vários
projetos de software são criados e realizados em paralelo. À medida que os projetos
amadurecem, vários serviços são disponibilizados para uso pelas aplicações, seja para satisfazer
algum critério da solução que está sendo criada, seja para disponibilizar tal serviço a um parceiro
ou cliente.
Seja qual for o caso, o ciclo dos serviços é iniciado a cada projeto executado. Como já é de se
esperar das iniciativas SOA, é comum que alguns serviços sejam necessários em mais de uma
aplicação. Neste caso, com os projetos em andamento, os serviços disponibilizados devem
suprir expectativas de vários consumidores distintos e, às vezes, estas expectativas acarretam
mudanças nos serviços existentes.
A cada vez que um serviço é alterado para acomodar alguma nova necessidade, uma nova
versão do serviço é disponibilizada. Nos primeiros estágios de um programa4 SOA, as
mudanças no serviço para acomodar diferentes expectativas são frequentes. Neste caso, é
importante que você estabeleça uma forma eficiente de lidar com as mudanças. Por que,
professor?
Orientação a serviços é um modelo de desenvolvimento interessante, mas deve ser muito bem
projetado para que ele tenha resultados visíveis. Assim como qualquer projeto de sistemas, a
correta aplicação da disciplina de análise e desenho pode ser crucial para o sucesso do
projeto. Da mesma forma, se você projetar bem seus serviços, raramente eles lhe trarão
problemas quando tiverem que ser alterados.
Além da boa dosagem de análise e desenho em serviços, é importante que você trace
claramente um conjunto de políticas relacionadas à gestão dos serviços. Boas práticas neste
aspecto envolvem ter um repositório único na organização para manter questões de
dependência e rastreabilidade entre artefatos de um serviço numa forma controlada, além de
definir o tempo de guarda das versões.
4
Um programa SOA é a aplicação de SOA em nível organizacional com um fim bem definido.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Da mesma forma, é importante que toda organização que detenha um portfólio considerável de
serviços disponibilize um mecanismo eficiente de consulta, também em nível organizacional.
Desta forma, toda vez que consumidores estiverem interessados em alguns serviços, seu
mecanismo de registro poderá ajudá-los a obter respostas mais facilmente.
É necessário que você possua uma infraestrutura de integração que acomode questões de
mudanças de forma simples e rápida. Neste caso, o uso de um bom barramento de serviços
(Enterprise Service Bus) é primordial para lidar com questões de versionamento de serviços.
Através de técnicas de roteamento, transformação e mediação de mensagens, é simples
acomodar várias versões de um serviço.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Padrões SOA são princípios propostos para desenvolver uma solução lógica de serviços
dentro de uma Arquitetura Orientada a Serviços. O sucesso do desenvolvimento de software
baseado em qualquer paradigma de design particular nunca está garantido. Software
desenvolvido sob o paradigma de projeto orientado a serviços carrega riscos ainda maiores.
Isso ocorre porque uma arquitetura orientada a serviços normalmente abrange várias áreas de
negócio e requer uma análise inicial considerável. Portanto, SOA desenvolvido sem
orientações concretas provavelmente falhará. Para garantir que o movimento em direção a
orientação a serviços seja uma mudança positiva, que entrega os benefícios que promete, é útil
adotar um conjunto de regras ou padrões.
Os padrões de projeto orientados a serviço são divididos em: contrato de serviço padronizado,
serviços fracamente acoplados, abstração de serviços, reusabilidade de serviços, autonomia de
serviços, serviços sem estado, descobertabilidade de serviços, e composição de serviços. A
aplicação desses princípios pode gerar serviços independentes de tecnologia e interoperáveis.
A aplicação desses princípios ajuda a atingir os objetivos subjacentes relacionados com a adoção
de orientação a serviços. Essas metas são de natureza estratégica, ou seja, de longo prazo,
olhando para além das necessidades imediatas de uma organização. Estes objetivos
estratégicos ajudam a desenvolver uma organização ágil, capaz de responder rapidamente a
mudanças de mercar e reduzir esforços.
Soluções orientadas a serviços são, em geral, neutras em relação aos fornecedores, dirigidas
por negócio, centradas na organização e orientadas a composição. Em outras palavras,
soluções que não dependem de um fornecedor específico, que é totalmente focada nas
necessidades de negócio, centradas em uma organização específica e capaz de compor diversos
serviços de diversas dimensões.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Em geral, o conceito de governança nos diz que se trata de estabelecer e reforçar como
pessoas e soluções trabalham em conjunto para alcançar objetivos organizacionais.
Observem que se trata de controles diferentes que se distinguem das atividades rotineiras de
gestão. Já a definição de Governança de Tecnologia da Informação é:
Gosto muito dessa última parte da definição, porque a governança pode ser vista como um
framework para tomada de decisão. Ela especifica responsabilidades de decisão para ajudar a
atingir o comportamento desejado em sua utilização. Em linhas gerais, governança é o
estabelecimento e administração de controle sobre um ambiente de modo a influenciar e
garantir ações e comportamento.
Com a governança, a corporação torna-se apta a: identificar os ativos que estão sendo
produzidos na empresa; ter o controle do ciclo de vida destes ativos; identificar o grau de
dependência entre os diferentes ativos; promover reuso e economia; assegurar a execução de
um processo; realizar mais facilmente análise de impacto; assegurar cumprimento de políticas
de execução e de segurança; etc.
O SGRM (SOA Governance Reference Model) é um modelo genérico utilizado como linha de
base para aplicar o processo em uma organização. Ele define princípios, processos, artefatos,
papéis, responsabilidades, tecnologias, entre outros. Vamos continuar nosso papo vendo os
princípios que regem a Governança SOA (ou Governança de Serviços).
São eles: promover o alinhamento entre Negócio e TI; estar em conformidade com a
governança da organização; haver uma arquitetura de referência SOA; haver contratos de
provedor e consumidor; possuir metadados de serviços; identificar as partes interessadas; deve
automatizar os processos de governança; deve implementar um modelo de financiamento; entre
outros.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
1. (CESPE - 2009 - INMETRO - Analista de Sistemas) A SOA estabelece que uma aplicação é
construída por meio dos seguintes serviços: consumidor do serviço, fornecedor do serviço,
localizador do serviço e publicador do serviço.
Comentários:
Neste modelo, três papeis são identificados com base em seus comportamentos e
responsabilidades sobre um serviço: Prestadores de Serviço, Registro de Serviços e Solicitantes
de Serviço. Funcionava assim: um prestador de serviços publica serviços em um registro de serviços;
o registro de serviços registra e organiza os serviços publicados e fornece serviços de busca.
Gabarito: Errado
Comentários:
De fato, trata-se de uma arquitetura; aumenta a agilidade para atender novas demandas, visto
que preconiza uma arquitetura fracamente acoplada; por conta disso, também melhor o
custo/benefício da implatação de sistemas interoperáveis; unidades lógicas nada mais são que
os serviços disponibilizados de forma padronizada e homogênea com fraco acoplamento e alta
coesão.
Gabarito: Correto
3. (CESPE – 2013 – ANTT – Analista de Sistemas) A SOA pode ser definida como um tipo de
arquitetura que utiliza serviços como blocos de construção para facilitar a integração em
ambientes corporativos e a reutilização de componentes por meio do baixo acoplamento.
Comentários:
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
A questão está perfeita. Nem precisa dizer novamente que o baixo acoplamento é um dos
princípios desta arquitetura.
Gabarito: Correto
Comentários:
O que é baixo acoplamento? Na minha época de estudos, eu sempre decorei acoplamento como a
independência entre as partes! Se há baixo acoplamento, as partes são pouco dependentes; se há
alto acoplamento, as partes são muito dependentes. O baixo acoplamento de um serviço está
relacionado com sua capacidade de ser independente de outros serviços para realizar sua
tarefa.
Uma possível consequência do baixo acoplamento é a alta coesão! De novo, o que é isso? Eu
decorava coesão como a divisão de responsabilidades. Em outras palavras, cada serviço tem sua
responsabilidade bem definida e coerente – é o princípio da responsabilidade única. Vamos
abstrair? Imagine um serviço que é responsável por quatro tarefas diferentes. Péssima ideia! Alto
acoplamento!
Gabarito: Correto
5. (CESPE - 2015 – TRE/MT – Analista de Sistemas) Assinale a opção correta, relativa a SOA
(service-oriented architecture).
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Comentários:
Thomas Erl afirma que a arquitetura orientada a serviços possui diversos objetivos
estratégicos, tais como: maior interoperabilidade intrínseca; maior federação; e maior
diversificação de fornecedores. O primeiro objetivo trata simplesmente de estabelecer a
interoperabilidade nativa dentro dos serviços, a fim de reduzir a necessidade de integração. Reduzir
a necessidade de integração? Sim, senhor!
(a) Correto, vimos acima o porquê; (b) Errado, visa aumentar a perspectiva federada de serviços;
(c) Errado, elas encapsulam funcionalidades não específicas a nenhum aplicativo ou processo de
negócio; (d) Errado, são serviços agnósticos que fornecem um intervalo de funcionalidades
genéricas; (e) Errado, são serviços agnósticos que podem ser adaptados inúmeras vezes.
Gabarito: Letra A
6. (CESPE - 2015 – STJ – Analista de Sistemas) A arquitetura orientada a serviços (SOA) é uma
forma de desenvolvimento monolítica em que os componentes de sistemas são serviços
autônomos baseados em XML.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Comentários:
Uma abordagem distribuída (não-monolítica) para integração de arquiteturas baseadas no conceito de serviço.
Conforme vimos em aula, não é monolítica – é distribuída! Além disso, os serviços não são
necessariamente baseados em XML.
Gabarito: Errado
7. (CESPE - 2014 – ANTAQ – Analista de Sistemas) No uso de SOA, a troca de dados requer
protocolos intermediários, os quais poderão representar uma perda de desempenho das
aplicações.
Comentários:
Vamos parar um pouco e tentar refletir sobre esse item. Observe que ele diz: “No uso de uma
arquitetura orientada a serviços (...)”, portanto estamos falando de uma implementação da
arquitetura (WS-*, REST, etc) e, não, da arquitetura em si.
Nesse sentido, a troca de dados realmente requer protocolos intermediários para fazer a
comunicação entre os serviços (Ex: SOAP, HTTP). Se eu uso qualquer meio intermediário, por
mais leve que ele seja, gerará um overhead.
Dessa forma, podemos dizer – sim – que esses protocolos intermediários poderão representar
uma perda de desempenho. Exemplo: WS-* gera mais overhead que REST, mas ambas geram
overhead.
Gabarito: Correto
Comentários:
Orquestração: representa o processo em que vários recursos dentro de uma organização podem ser
coordenados para executar um conjunto de lógicas de processo de negócio. Essa tecnologia é mais
comumente associada a uma plataforma central de gerenciamento de atividades que
fornecem benefícios como transformação de dados e gerenciamento de transações.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Gabarito: Errado
Comentários:
Eu não ligo para como eles vão fazer essa energia aparecer, eu só quero que ela sempre esteja
disponível na minha casa. Thomas Erl destaca também outros benefícios: serviços são reutilizáveis;
compartilham um contrato formal; possuem baixo acoplamento; abstraem a lógica; são capazes de
se comporem; são autônomos; evitam alocação de recursos por longos períodos; entre outros.
Conforme vimos em aula, a arquitetura orientada a serviços permite baixo acoplamento e baixa
redundância.
Gabarito: Errado
10. (CESPE - 2014 – SUFRAMA – Analista de Sistemas) Entre os princípios básicos da SOA estão
os serviços que abstraem a lógica, que compartilham um contrato formal, que evitam
alocação de recursos por longos períodos e que são autônomos e reutilizáveis.
Comentários:
Gabarito: Correto
11. (CESPE - 2013 – STF – Analista de Sistemas) A arquitetura orientada a serviços é utilizada
para interoperabilidade de sistemas heterogêneos por meio de conjunto de serviços
fracamente acoplados. A orientação a serviços utiliza protocolos padrão e interfaces
convencionais para facilitar o acesso à lógica de negócios e às informações entre serviços
distintos.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Comentários:
Um dos motivos que tornam os Web Services atrativos é o fato de estes serem baseados em
tecnologias padrão, em particular XML e HTTP. Eles são comumente utilizados para disponibilizar
serviços interativos na web, podendo ser acessados por outras aplicações. O SOAP é o protocolo
mais comum para troca de mensagens, já que é escrito em XML e transportado, via de regra, por
HTTP.
Gabarito: Correto
12. (CESPE - 2013 – MPOG – Analista de Sistemas) O SOA garante serviços fortemente
acoplados, fracamente coesos e com alta possibilidade de reutilização.
Comentários:
Eu não ligo para como eles vão fazer essa energia aparecer, eu só quero que ela sempre esteja
disponível na minha casa. Thomas Erl destaca também outros benefícios: serviços são reutilizáveis;
compartilham um contrato formal; possuem baixo acoplamento; abstraem a lógica; são capazes de
se comporem; são autônomos; evitam alocação de recursos por longos períodos; entre outros.
Pela milionésima vez, a arquitetura orientada a serviços garante serviços fracamente acoplados
e altamente coesos – de fato, com alta possibilidade de reutilização.
Gabarito: Errado
13. (CESPE - 2013 – MPOG – Analista de Sistemas) O SOA promove a integração entre o
negócio e a tecnologia da informação por meio de serviços, que são o principal componente
dessa arquitetura.
Comentários:
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Gabarito: Correto
14. (CESPE - 2013 – SERPRO – Analista de Sistemas) Por ser dependente de tecnologia, o
ambiente de SOA tem de ser implementado em protocolos específicos.
Comentários:
Gabarito: Errado
Comentários:
Quando falamos em serviços fracamente acoplados, estamos querendo dizer que os serviços são
independentes uns dos outros, i.e., se houver uma mudança na implementação de um serviço,
em nada afetará o restante. Vocês verão esse conceito de fraco acoplamento dezenas, talvez
centenas, de vezes em concursos – sugiro memorizá-lo! Abaixo segue uma lista de definições de SOA
que eu já encontrei...
Gabarito: Errado
Comentários:
Quando falamos em serviços fracamente acoplados, estamos querendo dizer que os serviços são
independentes uns dos outros, i.e., se houver uma mudança na implementação de um serviço,
em nada afetará o restante. Vocês verão esse conceito de fraco acoplamento dezenas, talvez
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
centenas, de vezes em concursos – sugiro memorizá-lo! Abaixo segue uma lista de definições de SOA
que eu já encontrei...
Gabarito: Errado
Comentários:
Thomas Erl afirma que a arquitetura orientada a serviços possui diversos objetivos
estratégicos, tais como: maior interoperabilidade intrínseca; maior federação; e maior
diversificação de fornecedores. O primeiro objetivo trata simplesmente de estabelecer a
interoperabilidade nativa dentro dos serviços, a fim de reduzir a necessidade de integração. Reduzir
a necessidade de integração? Sim, senhor!
Gabarito: Correto
18. (CESPE - 2009 – SECONT-ES – Analista de Sistemas) SOA é uma arquitetura orientada a
serviços, utilizada para interoperabilidade de sistemas por meio de conjunto de interfaces de
serviços fracamente acoplados, em que um serviço pode ser descrito como uma
representação lógica de uma atividade de negócio que tem um resultado específico, como,
por exemplo, um relatório resultante de um data mining.
Comentários:
Agora que já sabemos o que é uma arquitetura e o que é um serviço, podemos juntá-los! A OASIS
define Arquitetura Orientada a Serviços como um paradigma para organização e utilização de
recursos distribuídos que estão sob o controle de diferentes domínios proprietários, permitindo
que funcionalidades implementadas sejam disponibilizadas na forma de serviços fracamente
acoplados.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Gabarito: Correto
19. (CESPE - 2011 – MEC – Analista de Sistemas) A arquitetura SOA, orientada para a criação
de componentes fracamente acoplados, é muito utilizada para componentes que não
tenham interface bem definida ou cujos detalhes de implementação não sejam claros.
Comentários:
Gabarito: Errado
20. (CESPE - 2013 – ANTT - Analista de Sistemas) No padrão CORBA, a IDL é uma linguagem
utilizada para implementar o conteúdo de um objeto CORBA.
Comentários:
Além disso, ele utiliza a IDL (Interface Definition Language), uma linguagem utilizada para
descrever as interfaces das implementações dos objetos na rede (seria algo similar ao WSDL).
Uma interface escrita em IDL especifica o formato da chamada das operações providas pelo objeto
e os parâmetros de entrada ou saída necessários para efetuar a operação.
Conforme vimos em aula, o IDL descreve interfaces das implementações; ele não implementa o
conteúdo de um objeto CORBA!
Gabarito: Errado
21. (CESPE - 2013 – SERPRO - Analista de Sistemas) Na arquitetura orientada a serviços, são
utilizados serviços web objetos da arquitetura CORBA (common object request broker
architecture), na qual são definidas as interfaces de comunicação entre as extremidades da
rede de componentes.
Comentários:
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Essa questão é um pouco confusa! Não compreendo o que o examinador quis dizer com “(...)
serviços web objetos”, mas vamos tentar solucioná-la. Vocês sabem que SOA é independente de
tecnologia, logo eu posso implementar SOA utilizando Web Services ou CORBA! A questão fala
que, na arquitetura orientada a serviços, são utilizados serviços web objetos da arquitetura
CORBA.
Para mim, isso não faz sentido – você pode utilizar Serviços Web ou pode utilizar objetos CORBA,
mas a questão trata ambos como uma coisa só! Além disso, as interfaces de comunicação entre
as extremidades da rede de computadores são definidas no UDDI (no caso de Web Services) ou
no IDL (no caso de CORBA).
Gabarito: Errado
22. (CESPE - 2014 – SUFRAMA - Analista de Sistemas) No CORBA, o ORB (object request
broker) é o responsável por encontrar a implementação de objeto para o pedido feito pelo
cliente, preparar a implementação de objeto para receber o pedido e transmitir os dados do
pedido.
Comentários:
O componente fundamental para o CORBA é o ORB (Object Request Broker), que é responsável pela
interoperabilidade entre objetos. Por meio do IOR (Interoperable Object Reference), o ORB consegue
localizar os objetos e transmitir informações. O ORB é um módulo intermediário entre
cliente/objeto, sendo responsável por aceitar requisições, enviá-las ao objeto correto e
entregar a resposta ao cliente.
Gabarito: Correto
23. (CESPE - 2013 – MPOG - Analista de Sistemas) Os padrões CORBA auxiliam a comunicação
lógica entre objetos em arquiteturas de objetos distribuídos mesmo onde objetos
implementados possuam diferentes linguagens ou plataformas.
Comentários:
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Gabarito: Correto
24. (CESPE - 2015 – TCE/RN - Analista de Sistemas) A arquitetura CORBA permite realizar a
intercomunicação entre computadores de arquiteturas e portes distintos por meio do
protocolo-padrão EIGRP, versão melhorada do IGRP, que permite compor, de forma síncrona
ou assíncrona, objetos, dados e unidades individuais.
Comentários:
Na verdade, CORBA utiliza o Protocolo IIOP (Internet Inter-ORB Protocol) e, não, EIGRP.
Gabarito: Errado
25. (CESPE - 2009 – CEHAP/PB - Analista de Sistemas – Letra C) No padrão CORBA, o ORB
localiza o objeto que fornece o serviço, prepara-o para uma solicitação, envia o serviço
solicitado e retorna o resultado ao solicitante.
Comentários:
O componente fundamental para o CORBA é o ORB (Object Request Broker), que é responsável pela
interoperabilidade entre objetos. Por meio do IOR (Interoperable Object Reference), o ORB consegue
localizar os objetos e transmitir informações. O ORB é um módulo intermediário entre
cliente/objeto, sendo responsável por aceitar requisições, enviá-las ao objeto correto e
entregar a resposta ao cliente.
Gabarito: Correto
26. (CESPE - 2016 – TCE/PA - Analista de Sistemas) Os quatro atores necessários à composição
do ciclo de vida de uma solução SOA incluem o arquiteto SOA, que é o responsável por
mapear os processos de negócio.
Comentários:
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Gabarito: Errado
27. (CESPE - 2016 – TCE/PR – Analista de Sistemas) Os componentes de um web service não
devem ser reutilizados, para que tenham uma evolução independente, característica
fundamental de soluções SOA.
Comentários:
Pessoal, esse é um princípio muito tranquilo! É de se esperar que um serviço seja reutilizável, i.e.,
eu posso utilizá-lo em diferentes contextos e tecnologias. Como serviços contêm e expressam
lógicas, eles podem ser definidos como recursos da organização. Esse princípio é fundamental para
aumentar a agilidade do desenvolvimento das aplicações.
Gabarito: Errado
28. (CESPE - 2016 – TCE/PR – Analista de Sistemas) Um barramento de serviços ESB (Enterprise
Service BUS) é a implementação física de infraestrutura com base em web services.
Comentários:
Um serviço nunca será 100% desacoplado, mas o desafio é achar o grau de desacoplamento
que torne o serviço flexível para compor outros serviços e com custo não tão elevado. Para
diminuir a dependência com um mundo exterior, utiliza-se a tecnologia chamada ESB (Enterprise
Service Bus), implementação conceitual de infraestrutura que abstrai a forma de troca de
mensagens feitas pelos sistemas.
Gabarito: Errado
29. (CESPE - 2016 – TCE/PR – Analista de Sistemas) Conforme as soluções SOA, cabe ao cliente
monitorar o desempenho da aplicação, uma vez que ele é o maior interessado em utilizar os
serviços fornecidos.
Comentários:
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Gabarito: Errado
Comentários:
Galera, algumas questões têm cobrado recentemente os papeis ou atores que compõem o Ciclo de
Vida de Soluções SOA. Nesse contexto, abaixo temos alguns papeis considerados essenciais e
suficientes, são eles: Consultor de Negócios; Arquiteto SOA; Provedor; e Consumidor – os dois
últimos, nós já vimos extensivamente. Vamos ver em mais detalhes na tabela abaixo:
Gabarito: Correto
Comentários:
Gabarito: Errado
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Comentários:
Questão correta! No entanto, a banca diz que é errado – eu não sei porquê! :(
Gabarito: Errado
Comentários:
Gabarito: Errado
34. (CESPE - 2016 – TCE/PR – Analista de Sistemas – D) Assim como o DCOM, o CORBA é
executado apenas em ambiente Windows.
Comentários:
O CORBA (Common Object Request Broker Architeture) é uma arquitetura padrão proposta pelo
Object Management Group (OMG) para estabelecer e simplificar a troca de dados entre
sistemas distribuídos heterogêneos por meio de uma estrutura comum para o gerenciamento de
objetos distribuídos que é conhecida como Object Manager Architecture (OMA).
Gabarito: Errado
35. (CESPE - 2016 – TCE/PR – Analista de Sistemas – E) O modelo de referência da OMG (Object
Management Group) para CORBA define a interface de aplicação, isto é, o conjunto de dados
públicos do objeto que possibilita a comunicação por meio de chamadas aos métodos desse
objeto com os parâmetros apropriados.
Comentários:
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Gabarito: Correto
36. (CESPE - 2015 – MEC – Analista de Sistemas) Enterprise Service Bus é um barramento para
integração de serviços coletivos de bancos de dados distribuídos sobre arquitetura IP
(internet protocol) para independência de camada de serviços.
Comentários:
Trata-se, portanto, de uma arquitetura para middlewares com o intuito de integrar serviços
distribuídos por meio de diferentes formas de processamento de mensagens e tecnologias
(plataformas, hardware, software, protocolos, etc). Por fim, existe ESB sem SOA e SOA sem ESB!
Aliás, existe ESB até sem Web Service – pode-se inclusive utilizar outras formas de serviço.
Logo, ESB não implementa SOA!
Gabarito: Errado
Comentários:
Um serviço nunca será 100% desacoplado, mas o desafio é achar o grau de desacoplamento
que torne o serviço flexível para compor outros serviços e com custo não tão elevado. Para
diminuir a dependência com um mundo exterior, utiliza-se a tecnologia chamada ESB (Enterprise
Service Bus), implementação conceitual da infraestrutura que abstrai a forma de troca de
mensagens feitas pelos sistemas.
Não se trata de uma implementação física, mas conceitual. É uma abstração, um modelo
conceitual da infraestrutura.
Gabarito: Errado
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
38. (CESPE - 2015 – TCU - Analista de Sistemas) Um projeto de software orientado pela
governança SOA deve estar alinhado não só com a governança de TI, mas também com a
governança da arquitetura empresarial.
Comentários:
E o que seria a Governança SOA? É um conceito utilizado para atividades relacionadas ao exercício
de controle sobre soluções de arquitetura orientada a serviços. Outra definição afirma que é uma
forma de garantir e validar que os ativos e artefatos dentro da arquitetura estão agindo como o
esperado e mantendo um certo nível de qualidade. Governança SOA estende a Governança de TI!
É até um pouco óbvio – se a Governança SOA estende a Governança de TI, que está alinhada à
governança da arquitetura empresarial.
Gabarito: Correto
39. (CESPE - 2018 – STM – Analista de Sistemas) Em SOA, orquestração é a forma de arranjar
serviços diferentes para serem executados em uma ordem preestabelecida.
Comentários:
Galera, a orquestração e a coreografia arranjam (no sentido de arranjo) serviços diferentes para
serem executados em uma ordem preestabelecida. Qual a diferença, então? A orquestração
possui um orquestrador único que define a ordem de realização dos serviços, fazendo com que
os mesmos não necessitem conhecer uns aos outros. Na coreografia, é necessário que os serviços
saibam da existência uns dos outros, para, então, serem executados em uma ordem
preestabelecida.
Gabarito: Correto
40. (FCC - 2012 - TRT - 6ª Região (PE) - Técnico Judiciário - Tecnologia da Informação)
O tão falado alinhamento da organização é uma das principais preocupações atuais. Um processo
unificado de governança faz com que sejam melhorados os negócios da companhia de forma geral.
No entanto, não são necessários novos sistemas ou ferramentas que vão melhorar o sistema de
gerenciamento a ponto de integrar TI e gestão. A chamada governança de SOA é compartilhar
objetivos. O importantes é ter cada stakeholders representado no momento da elaboração de um
projeto SOA. Ter algum sistema de gerenciamento de serviço, como ITIL, também colabora para dar
uma visibilidade ao cliente.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
a) é essencial que uma empresa adote as melhores práticas da ITIL antes de implantar o SOA.
c) SOA, neste contexto, se refere à sigla para Society Of Actuaries, uma organização educacional,
profissional e de pesquisa com sede nos Estados Unidos.
d) SOA é uma abordagem de projeto baseada em padrões para a criação de uma infraestrutura
de TI integrada capaz de responder rapidamente às mudanças nas necessidades de negócios.
e) a implantação do SOA numa empresa, por si só, é suficiente para garantir o alinhamento dos
negócios com TI.
Comentários:
(a) Errado, é uma boa prática, mas não é essencial; (b) Errado, SOA não é uma ferramenta!
Ademais, não é utilizada para gerenciar serviços de tecnologia da informação – para tal, existe o
ITIL; (c) Errado, é o acrônimo de Service Oriented Architecture; (e) Errado, ela não é capaz de
sozinha garantir o alinhamento entre TI e Negócio.
(d) Correto! SOA é uma abordagem de projeto? Sim! Ela não é operacional, é uma abordagem que
envolve em geral grande investimento e deve ser tratada como tal. É baseada em padrões para a
criação de uma infraestrutura de TI integrada? Sim, por exemplo: SOAP, WSDL e UDDI. É capaz
de responder rapidamente às mudanças nas necessidades de negócio? Sim, funcionalidades são
fracamente acopladas e altamente coesas, logo responde a mudanças facilmente.
Gabarito: Letra D
41. (FCC - 2012 - TRT - 11ª Região (AM) - Analista Judiciário - Tecnologia da Informação) Em
SOA:
a) normalmente, são utilizados WSDL para descrever os próprios serviços e SOAP para
descrever os protocolos de comunicação.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
b) a tecnologia utilizada para prover o serviço, tal como uma linguagem de programação é
parte da definição do serviço.
Comentários:
(a) Errado, mas a banca deu o gabarito como correto. SOAP não é utilizado para descrever
protocolos de comunicação – ele é o protocolo de comunicação; (b) Errado, linguagem de
programação não é parte da definição do serviço; (c) Errado, para orquestrar os serviços web, é
indiferente a representação de dados; (d) Errado, Broker nada mais é que um registro de serviços,
logo ele requer do provedor a definição de listas de serviços; (e) Errado, composite services são
pequenos serviços agregados, i.e., dependentes entre si.
Gabarito: Letra A
42. (FCC - 2012 - TJ-PE - Técnico Judiciário - Programador de Computador) Sobre SOA é
INCORRETO afirmar:
a) Quando se utiliza SOA, todos os aplicativos desenvolvidos em uma corporação devem ser
implementados de forma que possam prover serviços que permitirão a integração de
componentes de uma única plataforma.
b) Web Services a grosso modo podem ser classificados como métodos remotos publicados
na Web, que através do uso do protocolo SOAP e XML, permitem a exposição de métodos de
aplicativos diversos na Web, para consumo por qualquer outro aplicativo ou dispositivo que
utilize o HTTP.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Comentários:
(a) Errado. Nem todos os aplicativos devem ser implementados como um serviço. Ademais,
devem permitir a integração de componentes de quaisquer plataformas – serviços são
independentes de tecnologia.
(b) Correto. Não tem muito a acrescentar nesse item – observem que ele apenas cita HTTP (ele
não restringe a esse protocolo).
Além da boa dosagem de análise e desenho em serviços, é importante que você trace
claramente um conjunto de políticas relacionadas à gestão dos serviços. Boas práticas neste
aspecto envolvem ter um repositório único na organização para manter questões de dependência e
rastreabilidade entre artefatos de um serviço numa forma controlada, além de definir o tempo de
guarda das versões.
(c) Correto. Uma boa prática é definir o tempo de guarda das versões de um serviço em
funcionamento.
O que é o versionamento de serviços? Quando se está inserido num programa SOA, vários
projetos de software são criados e realizados em paralelo. À medida que os projetos
amadurecem, vários serviços são disponibilizados para uso pelas aplicações, seja para satisfazer
algum critério da solução que está sendo criada, seja para disponibilizar tal serviço a um parceiro ou
cliente.
(d) Correto. Como são projetos criados e realizados em paralelo e que evoluem como serviços,
existem também versões (incluindo operações e implementações).
(e) Correto. A autonomia, como nós vimos em aula, é inclusive um dos princípios de design do
SOA.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Gabarito: Letra A
43. (FCC - 2011 - TRT - 4ª REGIÃO (RS) - Analista Judiciário - Tecnologia da Informação)
Considere:
a) I, somente.
b) II, somente.
c) I e III, somente.
d) II e III, somente.
e) I, II e III.
Comentários:
Uma abordagem arquitetural corporativa que permite a criação de serviços de negócio interoperáveis, que
podem ser reutilizados e compartilhados entre aplicações e empresas.
Vocês puderam notar dois problemas claros da área de tecnologia da informação desse banco! Alto
acoplamento, tendo em vista que os sistemas dependem excessivamente de serviços
personalizados; e alta redundância, na medida em que há funcionalidades replicadas em diversos
sistemas dentro do próprio banco. Galera, em um nível estratégico, isso significa perda de
dinheiro!
Uma abordagem distribuída (não-monolítica) para integração de arquiteturas baseadas no conceito de serviço.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Gabarito: Letra A
c) não depende do estado de outros componentes externos para executar um ciclo completo
de trabalho.
d) é uma unidade de trabalho oferecida pelo provedor de serviço para atender à demanda
requerida por um consumidor de serviço.
Comentários:
Vocês puderam notar dois problemas claros da área de tecnologia da informação desse banco! Alto
acoplamento, tendo em vista que os sistemas dependem excessivamente de serviços
personalizados; e alta redundância, na medida em que há funcionalidades replicadas em diversos
sistemas dentro do próprio banco. Galera, em um nível estratégico, isso significa perda de
dinheiro!
Gabarito: Letra B
45. (FCC - 2009 - SEFAZ-SP - Agente Fiscal de Rendas - Tecnologia da Informação - Prova 3)
A Service-Oriented Architecture - SOA trata-se de
II. uma meta a ser alcançada, ou seja, disponibilizar uma metodologia de implementação que
usa padrões e protocolos de linguagem específicos para execução de aplicativos.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
III. soluções que não requerem uma renovação completa de tecnologia e de processo de
negócios, que devem ser incrementais e baseadas nos investimentos atuais.
IV. uma abordagem de design de sistemas que orientam como os recursos do TI serão
integrados e quais serviços serão expostos para o uso.
a) I e II.
b) I e IV.
c) III e IV.
d) II e III.
e) II e IV.
Comentários:
(I) Errado. Conforme vimos em aula, não se trata de um produto – pelo menos acertou na parte
do loosely coupled.
(II) Errado. Conforme vimos em aula, não se trata de uma metodologia ou meta. Ademais não
utiliza padrões e protocolos específicos.
(III) Correto. Conforme vimos em aula, realmente não requerem renovação completa de
tecnologia e processos de negócio – é uma abordagem conceitual.
Gabarito: Letra C
a) WSDL.
b) XML.
c) SOA.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
d) SOAP.
e) UDDI.
Comentários:
Gabarito: Letra C
47. (FCC - 2011 – TRE/PE - Analista de Sistemas) Arquitetura padrão proposta pelo Object
Management Group (OMG) para estabelecer e simplificar a troca de dados entre sistemas
distribuídos heterogêneos por meio de uma estrutura comum para o gerenciamento de
objetos distribuídos que é conhecida como Object Manager Architecture (OMA). Trata-se de:
a) IDL.
b) RPC.
c) DCON.
d) CORBA.
e) COM.
Comentários:
O CORBA (Common Object Request Broker Architeture) é uma arquitetura padrão proposta pelo
Object Management Group (OMG) para estabelecer e simplificar a troca de dados entre
sistemas distribuídos heterogêneos por meio de uma estrutura comum para o gerenciamento de
objetos distribuídos que é conhecida como Object Manager Architecture (OMA).
Gabarito: Letra D
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
III. Garante serviços altamente acoplados, fracamente coesos e com alta possibilidade de
reutilização.
V. Um serviço deve funcionar de forma dependente do estado de outros serviços a fim de criar
uma interface bem definida, compatível e coerente com o estado do serviço do qual depende.
Comentários:
(I) Correto, pode-se considerar como uma coleção de serviços; (II) Errado, não utiliza tecnologias
de bancos de dados para troca de mensagens – a questão viajou; (III) Errado, garante serviços
fracamente acoplados e altamente coesos; (IV) Correto, é realmente uma função do sistema
disponibilizada como um serviço; (V) Errado, deve funcionar de forma independente (fracamente
acoplada) do estado de outros serviços. Portanto, os itens corretos são I e IV.
Gabarito: Letra C
49.(FCC - 2013 – AL/RN - Analista de Sistemas) Uma Arquitetura Orientada a Serviços (SOA) é
uma forma de arquitetura de sistemas distribuídos que é tipicamente caraterizada pelo
seguinte:
I. Visão lógica: O serviço é uma visão abstrata e lógica de programas, bancos de dados,
processos de negócio etc. definida em termos de “o que isso faz”, carregando em conjunto
uma operação de nível de negócio.
III. Orientada à descrição: Um serviço é descrito por um metadado que pode ser processado
por uma máquina. Essa descrição expõe apenas detalhes que são importantes para o serviço.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
IV. Granularidade: Serviços tendem a ser um pequeno número de operações com mensagens
relativamente grandes e complexas.
Comentários:
Gabarito: Letra A
50. (FCC - 2013 – DPE/SP - Analista de Sistemas) A Arquitetura Orientada a Serviços (SOA)
possui um modelo de referência que descreve diversas propriedades importantes do SOA.
Uma dessas propriedades refere-se ao fato de que a descrição de um serviço deve fornecer
dados suficientes para permitir que um consumidor e um provedor de serviços possam
interagir entre si. A propriedade descrita recebe a denominação de:
a) funcionalidade do serviço.
b) acessibilidade do serviço.
c) política do serviço.
d) semântica do serviço.
e) conformidade do serviço.
Comentários:
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Gabarito: Letra B
51. (FCC - 2013 – TRT/11 - Analista de Sistemas) Em relação aos aspectos do projeto de serviços
em SOA, é INCORRETO afirmar:
Comentários:
(a) Correto, meios de acesso (entre outras coisas) é estabelecido no contrato do serviço; (b)
Correto, é a alta coesão – cada serviço tem sua responsabilidade sobre a lógica que encapsula;
(c) Correto, serviços devem ser “encontráveis” e são projetados para tal; (d) Errado, ela deve ser
fidedigna ao contrato; (e) Correto, é um dos princípios da utilização de serviços.
Gabarito: Letra D
52. (FCC - 2008 – METRÔ/SP - Analista de Sistemas) Enterprise Service Bus - ESB:
d) tem sua base construída a partir da quebra de funções básicas em partes, que são
distribuídas onde for preciso.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Comentários:
O ESB é uma arquitetura para middlewares com o intuito de integrar serviços distribuídos por meio
de diferentes formas de processamento de mensagens e tecnologias (plataformas, hardware,
software, protocolos, etc). Por fim, existe ESB sem SOA e SOA sem ESB! Aliás, existe ESB até
sem Web Service – pode-se inclusive utilizar outras formas de serviço. Logo, ESB não
implementa SOA!
(a) Errado, ele reduz o acoplamento – esse é, inclusive, um dos princípios; (b) Errado, ele não
implementa SOA; (c) Errado, não é obrigatório web services; (d) Correto, divide-se funções
grandes em pequenas e distribui em forma de serviços; (e) Errado, não há essa relação.
Gabarito: Letra D
53. (FCC - 2012 – TJ/PE - Analista de Sistemas) O Barramento de Serviços Corporativos (ESB):
II. Pode suportar inúmeras tecnologias como J2EE, SOAP, WSDL, XML, BPEL etc.
III. Herda do SOA o conceito de serviços, mas não é a mesma coisa que SOA, pois não
funciona numa filosofia de invocação de serviços (web), e sim de envio de mensagens de
controle e dados.
Comentários:
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
O ESB é uma arquitetura para middlewares com o intuito de integrar serviços distribuídos por meio
de diferentes formas de processamento de mensagens e tecnologias (plataformas, hardware,
software, protocolos, etc). Por fim, existe ESB sem SOA e SOA sem ESB! Aliás, existe ESB até
sem Web Service – pode-se inclusive utilizar outras formas de serviço. Logo, ESB não
implementa SOA!
(I) Correto, item bem completo; (II) Correto, ele pode suportar infinitas tecnologias; (III) Correto,
ESB é diferente de SOA e trabalha com o envio de mensagens e, não, seu consumo; (IV) Errado,
não é igual a todas (EAI, por exemplo).
Gabarito: Letra B
54. (FCC - 2012 – TJ/PE - Analista de Sistemas) Com relação ao Barramento de Serviços
Corporativos (ESB) é INCORRETO afirmar:
Comentários:
O ESB trata abstrai várias preocupações que o arquiteto não precisa se preocupar. Algumas das
capacidades consideradas essenciais para um barramento de serviço corporativo (ESB) são:
Resolução de Descrições de Serviços; Transformação de Mensagens; Roteamento Dinâmico de
Mensagens (Serviço de conectividade); Tratamento de Exceções; e Monitoramento de Mensagens.
O ESB é uma arquitetura para middlewares com o intuito de integrar serviços distribuídos por meio
de diferentes formas de processamento de mensagens e tecnologias (plataformas, hardware,
software, protocolos, etc). Por fim, existe ESB sem SOA e SOA sem ESB! Aliás, existe ESB até
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
sem Web Service – pode-se inclusive utilizar outras formas de serviço. Logo, ESB não
implementa SOA!
(a) Correto, conforme vimos em aula; (b) Correto, existem duas abordagens: direcionada a API,
em que o ESB define APIs específicas de plataforma e os fornecedores e os consumidores as
utilizam para implementarem serviços e realizarem chamadas. Um exemplo disso são as
interfaces Java; e direcionada a Protocolo, em que ESB define um protocolo e os fornecedores e
os consumidores o utilizam para enviar e receber mensagens. Um exemplo disso é Web Service
utilizando SOAP; (c) Correto, conforme vimos em aula, ele deve prestar o serviço de
conectividade; (d) Errado, conforme vimos em aula, ESB não implementa SOA; (e) Correto,
conforme já vimos, também está perfeito.
Gabarito: Letra D
55. (FGV - 2009 - MEC - Analista de Sistemas - Especialista) A Arquitetura Orientada a Serviços
(SOA – Service Oriented Architecture) é uma abordagem arquitetural corporativa que
permite a criação de serviços de negócios interoperáveis que podem facilmente ser
reutilizados e compartilhados entre aplicações e empresas. Não é considerada característica
relevante do SOA:
a) a distribuição.
b) a assincronia.
c) a composição.
d) o reuso “caixa-preta”.
e) a heterogeneidade ambiental.
Comentários:
Todas são características do SOA! Heterogeneidade ambiental, i.e., serviços podem funcionar
em ambientes completamente diferentes; Reúso Caixa-Preta, i.e., podem ser reutilizá-los sem
precisar entender seu funcionamento interno, apenas suas interfaces e funcionalidades;
Composição, i.e., podem se integrar com diversos outros componentes; distribuição, i.e., podem
ser distribuídos amplamente em um registro de serviços; e, por fim, assincronia, que é a resposta
da questão! Isso é um pouco polêmico. Ora, de fato, uma característica relevante do SOA é que
seus serviços, em geral, são síncronos. No entanto, aqui é preciso ter “manha” para acertar. Tudo
bem, ela implementa serviços assíncronos, mas ele diz “relevante”, aí o aluno, infelizmente, tem
também que “relevar” algumas coisas para poder acertar.
Gabarito: Letra B
56. (FGV - 2009 - MEC - Analista de Sistemas - Especialista) Um Web Service é definido pela
W3C como um sistema de software projetado para fornecer interoperabilidade entre
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
máquinas em uma determinada rede. Dentro do contexto dos Web Services assinale a
alternativa correta.
b) SOAP (Simple Object Access Protocol) é um protocolo, baseado em XML, para troca de
informação estruturada com Web Services em redes de computadores.
e) A WSDL (Web Services Description Language) é uma especificação para publicar e localizar
informações sobre Web Services.
Comentários:
(a) Não, UDDI não é uma linguagem; (b) Sim, SOAP é um protocolo baseado em XML para troca
de informações estruturadas; (c) Não, Java não é obrigatório; (d) SOA é o acrônimo de Service
Oriented Architecture; (e) Não, isso é UDDI!
Gabarito: Letra B
57. (FGV - 2008 - Senado Federal - Analista de Sistemas) Considere as seguintes assertivas
sobre uma arquitetura orientada a serviços (SOA):
IV. Quando os serviços são disponibilizados na web, eles são identificados por uma URI.
a) somente I, II e III.
b) somente II, III e IV.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Comentários:
Interação envolve a execução de ações na direção do serviço. Em geral, isto é realizado pelo
envio/recebimento de mensagens, mas há modos que não envolvem explicitamente transmissão de
mensagens (Ex: uma interação pode ser efetuada pela modificação do estado de um recurso
compartilhado). Grosso modo, refere-se à troca de mensagens como modo primário de
interação com um serviço.
(I) Errado, SOA não é WS; (II) Correto, a comunicação ocorre por meio de mensagens; (III)
Correto, SOA não é prescritivo – ele não especificará como implementar serviços; (IV) Correto,
isso realmente ocorre – o serviço é identificado por uma URI para que possa ser acessado.
Gabarito: Letra B
58. (CESGRANRIO – 2010 – IBGE – Analista de Sistemas) Sabe-se que SOA é uma abordagem
arquitetural corporativa que permite a criação de serviços de negócio interoperáveis que
podem facilmente ser reutilizados e compartilhados entre aplicações e empresas. Sobre os
princípios básicos da arquitetura SOA é INCORRETO afirmar que:
a) o alto acoplamento entre os serviços é um dos princípios básicos de SOA e define que o
consumidor de um serviço deve conhecer os detalhes de sua implementação para que possa
reagir de forma rápida quando mudanças ocorrerem.
b) o princípio de dividir para conquistar é muito conhecido há anos e tem como principal
objetivo simplificar os problemas encontrados no dia-a-dia. Assim, seguindo esta ideia, os
serviços devem ser capazes de se compor e serem acessados de forma a atender um
problema maior.
c) os serviços devem ser reutilizáveis, ou seja, não devem carregar particularidades técnicas
de uma implementação ou regra de negócio específica e devem ser genéricos o suficiente
para atender outros projetos.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
d) os serviços devem evitar a alocação de recursos por muito tempo e devem possuir a
capacidade de serem encontrados, além de serem autônomos.
e) todo serviço deve ter um contrato formal que descreve o que o serviço faz e, para tal,
padrões de mercado são muito utilizados.
Comentários:
O que é baixo acoplamento? Na minha época de estudos, eu sempre decorei acoplamento como a
independência entre as partes! Se há baixo acoplamento, as partes são pouco dependentes; se há
alto acoplamento, as partes são muito dependentes. O baixo acoplamento de um serviço está
relacionado com sua capacidade de ser independente de outros serviços para realizar sua
tarefa.
Conforme vimos em aula, alto acoplamento não é um princípio básico! Pelo contrário, é o baixo
acoplamento que é desejável.
Gabarito: Letra A
59. (CESGRANRIO – 2009 – CASA DA MOEDA – Analista de Sistemas) Uma das principais
características de uma Arquitetura Orientada a Serviços (SOA, na sigla em inglês) é o (a):
d) exposição dos detalhes internos de cada serviço, facilitando o reúso dos mesmos.
Comentários:
O que é baixo acoplamento? Na minha época de estudos, eu sempre decorei acoplamento como a
independência entre as partes! Se há baixo acoplamento, as partes são pouco dependentes; se há
alto acoplamento, as partes são muito dependentes. O baixo acoplamento de um serviço está
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
relacionado com sua capacidade de ser independente de outros serviços para realizar sua
tarefa.
Gabarito: Letra A
Comentários:
Gabarito: Letra C
61. (FGV - 2014 – DPE/RJ – Analista de Sistemas) A arquitetura orientada a serviço (SOA)
estabelece um princípio de arquitetura para aplicações distribuídas que fornecem serviços
que atendem uma função especifica do negocio. Fred, desenvolvedor de software, começou
a implementar sua primeira aplicação adotando SOA. Fred empregará adequadamente os
princípios da arquitetura orientada a serviços se:
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
d) garantir que as funções que implementam os serviços recebam requisições das aplicações
cliente e as respondam ocultando detalhes do processamento da requisição.
e) utilizar serviços Web e deixar a orquestração dos serviços a cargo das aplicações clientes,
pois isso aumenta o acoplamento e diminui a coesão.
Comentários:
(a) Errado, o Princípio da Abstração preconiza que detalhes técnicos sejam ocultos;
(b) Errado, códigos devem ser ocultos.
(c) Errado, não faz o menor sentido essa afirmação;
(d) Certo, de acordo com o Princípio da Abstração;
(e) Errado, o Princípio do Acoplamento preconiza baixo acoplamento.
Gabarito: Letra D
c) Abstração - o serviço "esconde" do mundo exterior qualquer lógica que não conste de seu
contrato.
d) Manutenção de estado - os serviços são projetados para reter o estado entre os acessos de
clientes distintos.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
Comentários:
Devido ao fato de que um serviço, por sua natureza, deve futuramente ser reutilizado, deve-se tomar
o cuidado de não se criar muitas instâncias deste serviço, onerando a infraestrutura que o mantém.
Em outras palavras, para um serviço ter disponibilidade, ele deve evitar reter informações
específicas a uma determinada atividade, se possível deslocando a sobrecarga para outro
componente externo.
Os serviços devem evitar a alocação de recursos por muito tempo! Recomenda-se a construção
de serviços stateless (sem estado). Galera, isso não é muito fácil de alcançar. A otimização da
alocação de recursos é difícil por conta da natureza distribuída e autônoma dos serviços, além da
natureza de mudanças constantes dos ambientes que utilizam essa arquitetura.
O Princípio da Alocação de Recursos (ou Manutenção de Estados) preconiza que se evite reter o
estado.
Gabarito: Letra D
a) C.
b) Assembly.
c) SmallTalk.
d) VB-6.
e) IDL
Comentários:
Além disso, ele utiliza a IDL (Interface Definition Language), uma linguagem utilizada para
descrever as interfaces das implementações dos objetos na rede (seria algo similar ao WSDL).
Uma interface escrita em IDL especifica o formato da chamada das operações providas pelo objeto
e os parâmetros de entrada ou saída necessários para efetuar a operação.
Gabarito: Letra E
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
forma, é preciso que existam mecanismos para conectar tais serviços. Nesse contexto, o
middleware responsável por fornecer a infraestrutura para a comunicação entre esses
serviços é o:
Comentários:
Trata-se, portanto, de uma arquitetura para middlewares com o intuito de integrar serviços
distribuídos por meio de diferentes formas de processamento de mensagens e tecnologias
(plataformas, hardware, software, protocolos, etc). Por fim, existe ESB sem SOA e SOA sem ESB!
Aliás, existe ESB até sem Web Service – pode-se inclusive utilizar outras formas de serviço.
Logo, ESB não implementa SOA!
Não é um middleware, é uma arquitetura para middleware – por essa razão, a questão foi
anulada.
Gabarito: Anulada
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
1. (CESPE - 2009 - INMETRO - Analista de Sistemas) A SOA estabelece que uma aplicação é
construída por meio dos seguintes serviços: consumidor do serviço, fornecedor do serviço,
localizador do serviço e publicador do serviço.
3. (CESPE – 2013 – ANTT – Analista de Sistemas) A SOA pode ser definida como um tipo de
arquitetura que utiliza serviços como blocos de construção para facilitar a integração em
ambientes corporativos e a reutilização de componentes por meio do baixo acoplamento.
5. (CESPE - 2015 – TRE/MT – Analista de Sistemas) Assinale a opção correta, relativa a SOA
(service-oriented architecture).
6. (CESPE - 2015 – STJ – Analista de Sistemas) A arquitetura orientada a serviços (SOA) é uma
forma de desenvolvimento monolítica em que os componentes de sistemas são serviços
autônomos baseados em XML.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
7. (CESPE - 2014 – ANTAQ – Analista de Sistemas) No uso de SOA, a troca de dados requer
protocolos intermediários, os quais poderão representar uma perda de desempenho das
aplicações.
10. (CESPE - 2014 – SUFRAMA – Analista de Sistemas) Entre os princípios básicos da SOA estão
os serviços que abstraem a lógica, que compartilham um contrato formal, que evitam
alocação de recursos por longos períodos e que são autônomos e reutilizáveis.
11. (CESPE - 2013 – STF – Analista de Sistemas) A arquitetura orientada a serviços é utilizada
para interoperabilidade de sistemas heterogêneos por meio de conjunto de serviços
fracamente acoplados. A orientação a serviços utiliza protocolos padrão e interfaces
convencionais para facilitar o acesso à lógica de negócios e às informações entre serviços
distintos.
12. (CESPE - 2013 – MPOG – Analista de Sistemas) O SOA garante serviços fortemente
acoplados, fracamente coesos e com alta possibilidade de reutilização.
13. (CESPE - 2013 – MPOG – Analista de Sistemas) O SOA promove a integração entre o
negócio e a tecnologia da informação por meio de serviços, que são o principal componente
dessa arquitetura.
14. (CESPE - 2013 – SERPRO – Analista de Sistemas) Por ser dependente de tecnologia, o
ambiente de SOA tem de ser implementado em protocolos específicos.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
são gerados para toda a empresa e são reutilizados de maneira eficiente e por várias
aplicações.
18. (CESPE - 2009 – SECONT-ES – Analista de Sistemas) SOA é uma arquitetura orientada a
serviços, utilizada para interoperabilidade de sistemas por meio de conjunto de interfaces de
serviços fracamente acoplados, em que um serviço pode ser descrito como uma
representação lógica de uma atividade de negócio que tem um resultado específico, como,
por exemplo, um relatório resultante de um data mining.
19. (CESPE - 2011 – MEC – Analista de Sistemas) A arquitetura SOA, orientada para a criação
de componentes fracamente acoplados, é muito utilizada para componentes que não
tenham interface bem definida ou cujos detalhes de implementação não sejam claros.
20. (CESPE - 2013 – ANTT - Analista de Sistemas) No padrão CORBA, a IDL é uma linguagem
utilizada para implementar o conteúdo de um objeto CORBA.
21. (CESPE - 2013 – SERPRO - Analista de Sistemas) Na arquitetura orientada a serviços, são
utilizados serviços web objetos da arquitetura CORBA (common object request broker
architecture), na qual são definidas as interfaces de comunicação entre as extremidades da
rede de componentes.
22. (CESPE - 2014 – SUFRAMA - Analista de Sistemas) No CORBA, o ORB (object request
broker) é o responsável por encontrar a implementação de objeto para o pedido feito pelo
cliente, preparar a implementação de objeto para receber o pedido e transmitir os dados do
pedido.
23. (CESPE - 2013 – MPOG - Analista de Sistemas) Os padrões CORBA auxiliam a comunicação
lógica entre objetos em arquiteturas de objetos distribuídos mesmo onde objetos
implementados possuam diferentes linguagens ou plataformas.
24. (CESPE - 2015 – TCE/RN - Analista de Sistemas) A arquitetura CORBA permite realizar a
intercomunicação entre computadores de arquiteturas e portes distintos por meio do
protocolo-padrão EIGRP, versão melhorada do IGRP, que permite compor, de forma síncrona
ou assíncrona, objetos, dados e unidades individuais.
25. (CESPE - 2009 – CEHAP/PB - Analista de Sistemas – Letra C) No padrão CORBA, o ORB
localiza o objeto que fornece o serviço, prepara-o para uma solicitação, envia o serviço
solicitado e retorna o resultado ao solicitante.
26. (CESPE - 2016 – TCE/PA - Analista de Sistemas) Os quatro atores necessários à composição
do ciclo de vida de uma solução SOA incluem o arquiteto SOA, que é o responsável por
mapear os processos de negócio.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
27. (CESPE - 2016 – TCE/PR – Analista de Sistemas) Os componentes de um web service não
devem ser reutilizados, para que tenham uma evolução independente, característica
fundamental de soluções SOA.
28. (CESPE - 2016 – TCE/PR – Analista de Sistemas) Um barramento de serviços ESB (Enterprise
Service BUS) é a implementação física de infraestrutura com base em web services.
29. (CESPE - 2016 – TCE/PR – Analista de Sistemas) Conforme as soluções SOA, cabe ao cliente
monitorar o desempenho da aplicação, uma vez que ele é o maior interessado em utilizar os
serviços fornecidos.
34. (CESPE - 2016 – TCE/PR – Analista de Sistemas – D) Assim como o DCOM, o CORBA é
executado apenas em ambiente Windows.
35. (CESPE - 2016 – TCE/PR – Analista de Sistemas – E) O modelo de referência da OMG (Object
Management Group) para CORBA define a interface de aplicação, isto é, o conjunto de dados
públicos do objeto que possibilita a comunicação por meio de chamadas aos métodos desse
objeto com os parâmetros apropriados.
36. (CESPE - 2015 – MEC – Analista de Sistemas) Enterprise Service Bus é um barramento para
integração de serviços coletivos de bancos de dados distribuídos sobre arquitetura IP
(internet protocol) para independência de camada de serviços.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
38. (CESPE - 2015 – TCU - Analista de Sistemas) Um projeto de software orientado pela
governança SOA deve estar alinhado não só com a governança de TI, mas também com a
governança da arquitetura empresarial.
39. (CESPE - 2018 – STM – Analista de Sistemas) Em SOA, orquestração é a forma de arranjar
serviços diferentes para serem executados em uma ordem preestabelecida.
40. (FCC - 2012 - TRT - 6ª Região (PE) - Técnico Judiciário - Tecnologia da Informação)
O tão falado alinhamento da organização é uma das principais preocupações atuais. Um processo
unificado de governança faz com que sejam melhorados os negócios da companhia de forma geral.
No entanto, não são necessários novos sistemas ou ferramentas que vão melhorar o sistema de
gerenciamento a ponto de integrar TI e gestão. A chamada governança de SOA é compartilhar
objetivos. O importantes é ter cada stakeholders representado no momento da elaboração de um
projeto SOA. Ter algum sistema de gerenciamento de serviço, como ITIL, também colabora para dar
uma visibilidade ao cliente.
a) é essencial que uma empresa adote as melhores práticas da ITIL antes de implantar o SOA.
c) SOA, neste contexto, se refere à sigla para Society Of Actuaries, uma organização educacional,
profissional e de pesquisa com sede nos Estados Unidos.
d) SOA é uma abordagem de projeto baseada em padrões para a criação de uma infraestrutura
de TI integrada capaz de responder rapidamente às mudanças nas necessidades de negócios.
e) a implantação do SOA numa empresa, por si só, é suficiente para garantir o alinhamento dos
negócios com TI.
41. (FCC - 2012 - TRT - 11ª Região (AM) - Analista Judiciário - Tecnologia da Informação) Em
SOA:
a) normalmente, são utilizados WSDL para descrever os próprios serviços e SOAP para
descrever os protocolos de comunicação.
b) a tecnologia utilizada para prover o serviço, tal como uma linguagem de programação é
parte da definição do serviço.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
42. (FCC - 2012 - TJ-PE - Técnico Judiciário - Programador de Computador) Sobre SOA é
INCORRETO afirmar:
a) Quando se utiliza SOA, todos os aplicativos desenvolvidos em uma corporação devem ser
implementados de forma que possam prover serviços que permitirão a integração de
componentes de uma única plataforma.
b) Web Services a grosso modo podem ser classificados como métodos remotos publicados
na Web, que através do uso do protocolo SOAP e XML, permitem a exposição de métodos de
aplicativos diversos na Web, para consumo por qualquer outro aplicativo ou dispositivo que
utilize o HTTP.
43. (FCC - 2011 - TRT - 4ª REGIÃO (RS) - Analista Judiciário - Tecnologia da Informação)
Considere:
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
a) I, somente.
b) II, somente.
c) I e III, somente.
d) II e III, somente.
e) I, II e III.
c) não depende do estado de outros componentes externos para executar um ciclo completo
de trabalho.
d) é uma unidade de trabalho oferecida pelo provedor de serviço para atender à demanda
requerida por um consumidor de serviço.
45. (FCC - 2009 - SEFAZ-SP - Agente Fiscal de Rendas - Tecnologia da Informação - Prova 3)
A Service-Oriented Architecture - SOA trata-se de
II. uma meta a ser alcançada, ou seja, disponibilizar uma metodologia de implementação que
usa padrões e protocolos de linguagem específicos para execução de aplicativos.
III. soluções que não requerem uma renovação completa de tecnologia e de processo de
negócios, que devem ser incrementais e baseadas nos investimentos atuais.
IV. uma abordagem de design de sistemas que orientam como os recursos do TI serão
integrados e quais serviços serão expostos para o uso.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
a) I e II.
b) I e IV.
c) III e IV.
d) II e III.
e) II e IV.
46.(FCC - 2010 - DPE-SP - Agente de Defensoria - Analista de Sistemas) Arquitetura orientada
a serviço é um novo conceito, no qual cria-se um ambiente de descoberta dinâmico e se faz o
uso de Serviços Web através da rede. NÃO é uma tecnologia usada nos serviços Web
disponibilizados:
a) WSDL.
b) XML.
c) SOA.
d) SOAP.
e) UDDI.
47. (FCC - 2011 – TRE/PE - Analista de Sistemas) Arquitetura padrão proposta pelo Object
Management Group (OMG) para estabelecer e simplificar a troca de dados entre sistemas
distribuídos heterogêneos por meio de uma estrutura comum para o gerenciamento de
objetos distribuídos que é conhecida como Object Manager Architecture (OMA). Trata-se de:
a) IDL.
b) RPC.
c) DCON.
d) CORBA.
e) COM.
III. Garante serviços altamente acoplados, fracamente coesos e com alta possibilidade de
reutilização.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
V. Um serviço deve funcionar de forma dependente do estado de outros serviços a fim de criar
uma interface bem definida, compatível e coerente com o estado do serviço do qual depende.
49.(FCC - 2013 – AL/RN - Analista de Sistemas) Uma Arquitetura Orientada a Serviços (SOA) é
uma forma de arquitetura de sistemas distribuídos que é tipicamente caraterizada pelo
seguinte:
I. Visão lógica: O serviço é uma visão abstrata e lógica de programas, bancos de dados,
processos de negócio etc. definida em termos de “o que isso faz”, carregando em conjunto
uma operação de nível de negócio.
III. Orientada à descrição: Um serviço é descrito por um metadado que pode ser processado
por uma máquina. Essa descrição expõe apenas detalhes que são importantes para o serviço.
IV. Granularidade: Serviços tendem a ser um pequeno número de operações com mensagens
relativamente grandes e complexas.
50. (FCC - 2013 – DPE/SP - Analista de Sistemas) A Arquitetura Orientada a Serviços (SOA)
possui um modelo de referência que descreve diversas propriedades importantes do SOA.
Uma dessas propriedades refere-se ao fato de que a descrição de um serviço deve fornecer
dados suficientes para permitir que um consumidor e um provedor de serviços possam
interagir entre si. A propriedade descrita recebe a denominação de:
a) funcionalidade do serviço.
b) acessibilidade do serviço.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
c) política do serviço.
d) semântica do serviço.
e) conformidade do serviço.
51. (FCC - 2013 – TRT/11 - Analista de Sistemas) Em relação aos aspectos do projeto de serviços
em SOA, é INCORRETO afirmar:
52. (FCC - 2008 – METRÔ/SP - Analista de Sistemas) Enterprise Service Bus - ESB:
d) tem sua base construída a partir da quebra de funções básicas em partes, que são
distribuídas onde for preciso.
53. (FCC - 2012 – TJ/PE - Analista de Sistemas) O Barramento de Serviços Corporativos (ESB):
II. Pode suportar inúmeras tecnologias como J2EE, SOAP, WSDL, XML, BPEL etc.
III. Herda do SOA o conceito de serviços, mas não é a mesma coisa que SOA, pois não
funciona numa filosofia de invocação de serviços (web), e sim de envio de mensagens de
controle e dados.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
54. (FCC - 2012 – TJ/PE - Analista de Sistemas) Com relação ao Barramento de Serviços
Corporativos (ESB) é INCORRETO afirmar:
55. (FGV - 2009 - MEC - Analista de Sistemas - Especialista) A Arquitetura Orientada a Serviços
(SOA – Service Oriented Architecture) é uma abordagem arquitetural corporativa que
permite a criação de serviços de negócios interoperáveis que podem facilmente ser
reutilizados e compartilhados entre aplicações e empresas. Não é considerada característica
relevante do SOA:
a) a distribuição.
b) a assincronia.
c) a composição.
d) o reuso “caixa-preta”.
e) a heterogeneidade ambiental.
56. (FGV - 2009 - MEC - Analista de Sistemas - Especialista) Um Web Service é definido pela
W3C como um sistema de software projetado para fornecer interoperabilidade entre
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
máquinas em uma determinada rede. Dentro do contexto dos Web Services assinale a
alternativa correta.
b) SOAP (Simple Object Access Protocol) é um protocolo, baseado em XML, para troca de
informação estruturada com Web Services em redes de computadores.
e) A WSDL (Web Services Description Language) é uma especificação para publicar e localizar
informações sobre Web Services.
57. (FGV - 2008 - Senado Federal - Analista de Sistemas) Considere as seguintes assertivas
sobre uma arquitetura orientada a serviços (SOA):
IV. Quando os serviços são disponibilizados na web, eles são identificados por uma URI.
a) somente I, II e III.
b) somente II, III e IV.
c) somente I, III e IV.
d) somente I, II e IV.
e) todas.
58. (CESGRANRIO – 2010 – IBGE – Analista de Sistemas) Sabe-se que SOA é uma abordagem
arquitetural corporativa que permite a criação de serviços de negócio interoperáveis que
podem facilmente ser reutilizados e compartilhados entre aplicações e empresas. Sobre os
princípios básicos da arquitetura SOA é INCORRETO afirmar que:
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
a) o alto acoplamento entre os serviços é um dos princípios básicos de SOA e define que o
consumidor de um serviço deve conhecer os detalhes de sua implementação para que possa
reagir de forma rápida quando mudanças ocorrerem.
b) o princípio de dividir para conquistar é muito conhecido há anos e tem como principal
objetivo simplificar os problemas encontrados no dia-a-dia. Assim, seguindo esta ideia, os
serviços devem ser capazes de se compor e serem acessados de forma a atender um
problema maior.
c) os serviços devem ser reutilizáveis, ou seja, não devem carregar particularidades técnicas
de uma implementação ou regra de negócio específica e devem ser genéricos o suficiente
para atender outros projetos.
d) os serviços devem evitar a alocação de recursos por muito tempo e devem possuir a
capacidade de serem encontrados, além de serem autônomos.
e) todo serviço deve ter um contrato formal que descreve o que o serviço faz e, para tal,
padrões de mercado são muito utilizados.
59. (CESGRANRIO – 2009 – CASA DA MOEDA – Analista de Sistemas) Uma das principais
características de uma Arquitetura Orientada a Serviços (SOA, na sigla em inglês) é o (a):
d) exposição dos detalhes internos de cada serviço, facilitando o reúso dos mesmos.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
61. (FGV - 2014 – DPE/RJ – Analista de Sistemas) A arquitetura orientada a serviço (SOA)
estabelece um princípio de arquitetura para aplicações distribuídas que fornecem serviços
que atendem uma função especifica do negocio. Fred, desenvolvedor de software, começou
a implementar sua primeira aplicação adotando SOA. Fred empregará adequadamente os
princípios da arquitetura orientada a serviços se:
d) garantir que as funções que implementam os serviços recebam requisições das aplicações
cliente e as respondam ocultando detalhes do processamento da requisição.
e) utilizar serviços Web e deixar a orquestração dos serviços a cargo das aplicações clientes,
pois isso aumenta o acoplamento e diminui a coesão.
c) Abstração - o serviço "esconde" do mundo exterior qualquer lógica que não conste de seu
contrato.
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
d) Manutenção de estado - os serviços são projetados para reter o estado entre os acessos de
clientes distintos.
a) C.
b) Assembly.
c) SmallTalk.
d) VB-6.
e) IDL
15176084732 - Leonardo
1184281
Silva da Costa Gomes
Equipe Informática e TI, Fernando Pedrosa Lopes , Diego Carvalho
Aula 10
15176084732 - Leonardo
1184281
Silva da Costa Gomes