Title: Engenharia de Software / Arquitetura Orientada a Serviços (SOA)
Tags: Engenharia_de_Software Resumo
On every note of this deck, unless a note says otherwise:
tldr: - SOA (Service Oriented Architecture) é um paradigma arquitetural para organizar e expor funcionalidades como serviços com interfaces/contratos bem definidos, favorecendo baixo acoplamento, reuso e interoperabilidade (independente de plataforma).
- Serviço: mecanismo de acesso a recursos via interface descrita, oferecido por um provedor e consumido por um consumidor; idealmente é agnóstico (lógica independente de processos, apps ou tecnologias proprietárias), aumentando o potencial de reúso.
- Motivação: combater o crescimento desordenado de integrações ponto-a-ponto (“hairball architecture”), que gera alto acoplamento e redundância, dificultando mudança, rastreabilidade e evolução.
- SOA não é: tecnologia, produto, web service, framework, metodologia, middleware etc.; web services são uma tecnologia comum para implementá-la (entre outras como CORBA, RPC, WCF...).
- Conceitos-chave (Modelo de Referência SOA):
- Visibilidade (consumidor/provedor conseguem “se ver”: consciência, concordância, acessibilidade)
- Interação (execução de ações, geralmente por troca de mensagens)
- Efeito no mundo real (resultado prático, tipicamente mudança de estado compartilhado)
- Elementos de suporte: descrição do serviço, contratos e políticas (condições/restrições de uso) e contexto de execução (infraestrutura/acordos envolvidos na interação).
- Objetivos/benefícios estratégicos (Thomas Erl): interoperabilidade intrínseca, federação (autonomia com padronização) e diversificação de fornecedores; vantagens incluem reuso, flexibilidade, manutenibilidade, integração e alinhamento com o negócio; desvantagens incluem performance, complexidade, disponibilidade, testabilidade e segurança.
- Modelos arquitetônicos: evolução de end-to-end para modelo triangular (provedor, consumidor e registro), com variações publish-find-bind e find-bind-execute; papéis no ciclo: consultor de negócios, arquiteto SOA, provedor e consumidor; modelagem pode ser top-down ou bottom-up.
- Princípios de design de serviços (Erl): contrato padronizado, baixo acoplamento, abstração, reusabilidade, autonomia, statelessness (minimizar estado/alocação), discoverability (descoberta/visibilidade) e composability (composição).
- Composição de serviços: pode ocorrer por orquestração (centralizada; ex. WS-BPEL) ou coreografia (descentralizada; ex. WS-CDL); SCA busca simplificar composição/montagem e políticas em soluções SOA.
- Manifesto SOA: prioriza valor de negócio, metas estratégicas, interoperabilidade intrínseca, serviços compartilhados, flexibilidade e evolução progressiva (em vez de foco técnico, integração customizada e “perfeição inicial”).
- Versionamento e governança: mudanças frequentes exigem repositório/registro, rastreabilidade, políticas e infraestrutura (ex. ESB) para mediar/rotear/transformar mensagens e acomodar múltiplas versões.
- Integração e comunicação:
- Mensageria favorece comunicação assíncrona, reduz acoplamento e melhora escalabilidade.
- CORBA (com ORB, IDL etc.) viabiliza interoperabilidade em sistemas distribuídos heterogêneos, mas é mais complexo e hoje menos comum.
- Streams: processamento contínuo de dados em tempo real, suportando arquiteturas assíncronas e resilientes.
link: https://documentacao.online/estudos/35oz.html

front: (CESPE / MPE-TO – 2024) SOA (Service Oriented Architecture) é uma arquitetura empregada para reutilizar serviços em sistemas diferentes ou combinar vários serviços independentes para realizar tarefas complexas.
response: Correto
comment: SOA é uma abordagem de design de software que envolve a organização e a utilização de serviços distribuídos que podem ser reusados para suportar requisitos de negócios aplicáveis. Esta arquitetura permite que serviços sejam combinados ou reutilizados em diferentes aplicações ou contextos, facilitando a integração e a flexibilidade. SOA é particularmente valorizada por sua capacidade de permitir que sistemas diferentes colaborem e executem tarefas complexas por meio da comunicação entre serviços independentes, o que aumenta a eficiência operacional e reduz a redundância de desenvolvimento.
title: Arquitetura Orientada a Serviços (SOA)
Other fields (not shown on cards):
back: Correto - SOA é uma abordagem de design de software que envolve a organização e a utilização de serviços distribuídos que podem ser reusados para suportar requisitos de negócios aplicáveis. Esta arquitetura permite que serviços sejam combinados ou reutilizados em diferentes aplicações ou contextos, facilitando a integração e a flexibilidade. SOA é particularmente valorizada por sua capacidade de permitir que sistemas diferentes colaborem e executem tarefas complexas por meio da comunicação entre serviços independentes, o que aumenta a eficiência operacional e reduz a redundância de desenvolvimento.

front: (CESPE / BNB – 2022) Implementações de SOA por meio de um barramento de serviços implicam a criação de um ponto único de falha, uma vez que clientes e serviços da organização não poderão se comunicar se o barramento de serviços se tornar inoperante.
response: Correto
comment: A criação de um barramento de serviços para implementar uma arquitetura de SOA significa que todos os serviços e clientes da organização se comunicarão através desse barramento. Isso significa que, se o barramento de serviços se tornar inoperante, todos os serviços e clientes da organização não poderão se comunicar. Isso cria um único ponto de falha, pois todos os serviços e clientes da organização dependem do barramento de serviços para se comunicar. Se o barramento de serviços não estiver funcionando, todos os serviços e clientes da organização serão afetados.
title: Arquitetura Orientada a Serviços (SOA)
Other fields (not shown on cards):
back: Correto - A criação de um barramento de serviços para implementar uma arquitetura de SOA significa que todos os serviços e clientes da organização se comunicarão através desse barramento. Isso significa que, se o barramento de serviços se tornar inoperante, todos os serviços e clientes da organização não poderão se comunicar. Isso cria um único ponto de falha, pois todos os serviços e clientes da organização dependem do barramento de serviços para se comunicar. Se o barramento de serviços não estiver funcionando, todos os serviços e clientes da organização serão afetados.

front: (CESPE / FUNPRESP-EXE - 2022) Em uma arquitetura orientada a serviços, o registro central é o elemento que disponibiliza os serviços, enquanto que o provedor age como concentrador de serviços.
response: Errado
comment: Na verdade, é o inverso o provedor de serviços disponibiliza os serviços e o registro central concentra os serviços.
title: Arquitetura Orientada a Serviços (SOA)
Other fields (not shown on cards):
back: Errado - Na verdade, é o inverso o provedor de serviços disponibiliza os serviços e o registro central concentra os serviços.

front: (CESPE / FUNPRESP-EXE - 2022) ESB (Enterprise Service Bus) é um barramento sobre o qual os serviços são oferecidos aos clientes, e que provê interoperabilidade entre sistemas heterogêneos.
response: Correto
comment: ESB é um barramento de serviços que fornece uma forma de mover mensagens entre serviços. Além disso, 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.
title: Arquitetura Orientada a Serviços (SOA)
Other fields (not shown on cards):
back: Correto - ESB é um barramento de serviços que fornece uma forma de mover mensagens entre serviços. Além disso, 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.

front: (CESPE / FUNPRESP-EXE - 2022) A BPEL (Bussiness Process Execution Language) é utilizada para implementar uma composição de serviços do tipo coordenação.
response: Errado
comment: Na verdade, a BPEL é 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.
title: Arquitetura Orientada a Serviços (SOA)
Other fields (not shown on cards):
back: Errado - Na verdade, a BPEL é 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.

front: (CESPE / Petrobrás - 2022) Com a SOA é mais fácil escalar ou ampliar o uso de uma funcionalidade para plataformas ou ambientes novos, o que resulta em maior agilidade e eficiência no desenvolvimento, por outro lado, em geral, acaba por promover aumento nos custos da solução.
response: Errado
comment: SOA promove aumento nos custos de uma solução? Na verdade, é o contrário, SOA traz mais efetividade nos custos. Isso é explícito no Manifesto SOA. O restante do item está correto.
title: Arquitetura Orientada a Serviços (SOA)
Other fields (not shown on cards):
back: Errado - SOA promove aumento nos custos de uma solução? Na verdade, é o contrário, SOA traz mais efetividade nos custos. Isso é explícito no Manifesto SOA. O restante do item está correto.

front: (CESPE / STM – 2018) Em SOA, orquestração é a forma de arranjar serviços diferentes para serem executados em uma ordem preestabelecida.
response: Correto
comment: 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.
title: Arquitetura Orientada a Serviços (SOA)
Other fields (not shown on cards):
back: Correto - 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.

front: (CESPE / TCE-PA – 2016) 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.
response: Errado
comment: Papel Descrição Consultor de Negócios Papel responsável pelo mapeamento dos processos de negócio da organização. Arquiteto SOA Papel responsável pela modelagem dos serviços, além da construção, instalação e manutenção. A questão se refere ao papel de Consultor e, não, ao Arquiteto SOA.
title: Arquitetura Orientada a Serviços (SOA)
Other fields (not shown on cards):
back: Errado - Papel Descrição Consultor de Negócios Papel responsável pelo mapeamento dos processos de negócio da organização. Arquiteto SOA Papel responsável pela modelagem dos serviços, além da construção, instalação e manutenção. A questão se refere ao papel de Consultor e, não, ao Arquiteto SOA.

front: (CESPE / TCE-PR – 2016 – Letra A) 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.
response: Errado
comment: É claro que devem ser reutilizados! Trata-se, inclusive, de um dos princípios: reusabilidade de serviços (service reusability).
title: Arquitetura Orientada a Serviços (SOA)
Other fields (not shown on cards):
back: Errado - É claro que devem ser reutilizados! Trata-se, inclusive, de um dos princípios: reusabilidade de serviços (service reusability).

front: (CESPE / TCE-PR – 2016 – Letra B) Um barramento de serviços ESB (Enterprise Service BUS) é a implementação física de infraestrutura com base em web services.
response: Errado
comment: Trata-se de uma implementação conceitual! O barramento provê uma camada de abstração acima de um sistema de mensageria que permite a integração entre os aplicativos.
title: Arquitetura Orientada a Serviços (SOA)
Other fields (not shown on cards):
back: Errado - Trata-se de uma implementação conceitual! O barramento provê uma camada de abstração acima de um sistema de mensageria que permite a integração entre os aplicativos.

front: (CESPE / TCE-PR – 2016 – Letra C) 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.
response: Errado
comment: O monitoramento de aplicações visa garantir o desempenho adequado dos sistemas. Ao medir a experiência do usuário, as empresas conseguem enxergar como uma aplicação se comporta na máquina do funcionário, permitindo que os profissionais de TI atuem de forma pró-ativa para solucionar problemas. Portanto, é claro que não cabe ao cliente – cabe à equipe de sustentação.
title: Arquitetura Orientada a Serviços (SOA)
Other fields (not shown on cards):
back: Errado - O monitoramento de aplicações visa garantir o desempenho adequado dos sistemas. Ao medir a experiência do usuário, as empresas conseguem enxergar como uma aplicação se comporta na máquina do funcionário, permitindo que os profissionais de TI atuem de forma pró-ativa para solucionar problemas. Portanto, é claro que não cabe ao cliente – cabe à equipe de sustentação.

front: (CESPE / TCE-PR – 2016) A respeito de SOA e CORBA, assinale a opção correta.
a) No modelo operacional triangular, o registro do serviço determina o comportamento de quem disponibiliza o serviço, ou seja, do dono do serviço, que é responsável, entre outros aspectos, pela infraestrutura de acesso ao serviço.
b) A utilização de SOA em uma organização permite a descoberta de novos processos de negócio para uma posterior associação com serviços de TI.
c) Entre os possíveis mapeamentos de negócio e de TI, a abordagem de baixo para cima (bottom-up) determina que a organização identifique, primeiramente, os processos que considerar prioritários.
d) Assim como o DCOM, o CORBA é executado apenas em ambiente Windows.
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.
response: Letra E
comment: (a) Errado, o dono do serviço é o provedor e, não, o registro; (b) Errado, eu não sei por que a banca considerou como errado – para mim, está correto; (c) Errado, a questão trata da abordagem top- down e, não, bottom-up; (d) Errado, CORBA não se limita apenas ao ambiente Windows; (e) Correto, o modelo de referência é composto por: Objetos de Serviço; Facilidades Comuns; Interfaces de Domínio; Interface de Aplicação; e Objetos de Aplicação. A Interface de Aplicação é 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.
title: Arquitetura Orientada a Serviços (SOA)
Other fields (not shown on cards):
back: Letra E - (a) Errado, o dono do serviço é o provedor e, não, o registro; (b) Errado, eu não sei por que a banca considerou como errado – para mim, está correto; (c) Errado, a questão trata da abordagem top- down e, não, bottom-up; (d) Errado, CORBA não se limita apenas ao ambiente Windows; (e) Correto, o modelo de referência é composto por: Objetos de Serviço; Facilidades Comuns; Interfaces de Domínio; Interface de Aplicação; e Objetos de Aplicação. A Interface de Aplicação é 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.

front: (CESPE / MPOG-ATI – 2015) Em arquiteturas orientadas a serviço, um serviço deve ser implementado de forma a garantir um fraco acoplamento.
response: Correto
comment: Perfeito! A questão trata do princípio o fraco/baixo acoplamento.
title: Arquitetura Orientada a Serviços (SOA)
Other fields (not shown on cards):
back: Correto - Perfeito! A questão trata do princípio o fraco/baixo acoplamento.