Skip to content
Arquitetura Orientada a Serviços (SOA): O que é?

Entenda sobre arquitetura orientada a serviços (SOA)

Muitos já devem ter escutado falar da Arquitetura Orientada a Serviços (ou SOA). Ela é uma abordagem de arquitetura complexa com objetivo de trazer agilidade, flexibilidade e uma redução de custos para as empresas que aplicam esse conceito.

Mas, para entender melhor as características, vantagens e funcionamento da SOA, continue lendo.

 

O que é a Arquitetura Orientada a Serviços?

A Arquitetura orientada a serviços, ou SOA, é um tipo de design de software que torna os componentes reutilizáveis usando interfaces de serviços com uma linguagem de comunicação comum em uma rede.

Entende-se como serviço, uma unidade ou conjunto de funcionalidades de softwares independentes, que foram desenvolvidos para cumprir uma tarefa específica, como recuperar determinadas informações ou executar uma operação. 

O SOA contém as integrações de dados e o código necessários para executar uma função de negócios completa. Podendo ser acessados remotamente, além de ser e atualizado de maneira independente.

A arquitetura orientada a serviços integra os componentes de software que foram implantados e são mantidos separadamente, permitindo que eles se comuniquem e trabalhem juntos.

Saiba mais sobre a diferença entre arquitetura monolítica e de microsserviços aqui.

 

Vantagens em comparação com a abordagem monolítica

  • Time to market acelerado e maior flexibilidade: os desenvolvedores não precisam sempre começar do zero, como no caso das aplicações monolíticas, sendo muito mais fácil e rápido montar aplicações.
  • Uso de infraestrutura legada em novos mercados: é mais fácil para os desenvolvedores escalar ou ampliar o uso de uma  funcionalidade para plataformas ou ambientes novos.
  • Redução de custos: por conta da maior agilidade e eficiência no desenvolvimento.
  • Fácil manutenção: por serem serviços autossuficientes e independentes, é possível modificá-los e atualizá-los conforme a necessidade, sem afetar os outros serviços.
  • Escalabilidade: o SOA permite executar serviços usando vários serviços, plataformas e linguagens de programação diferentes, entregando uma grande melhoria na escalabilidade. Além disso, a redução no nível de interação, faz com que seja possível escalar aplicações com menos urgência e aborrecimentos.
  • Maior confiabilidade: permite a criação de aplicações mais confiáveis.
  • Maior disponibilidade: os recursos disponíveis para todos.

 

Funções da Arquiteturas orientadas a serviços

São 3 as principais funções da arquitetura orientada a serviços. Sendo elas:

1- Provedor de serviços

Um provedor de serviços cria serviços web e os oferece para um registro de serviços. Ele é responsável pelos termos de uso desse serviço.

 

2- Broker ou registro de serviços

O registro de serviços é responsável por oferecer informações solicitadas sobre o serviço. Podendo ser público ou privado.

 

3- Solicitante ou cliente de serviços

Um solicitante de serviços encontra um serviço no broker ou no registro de serviços. E, a partir disso, conecta-se ao provedor de serviços para recebê-lo.

 

SOA x microsserviços

O SOA está muito presente no Cloud Computing. Por haver uma certa similaridade, muitas pessoas acreditam que a arquitetura orientada a serviços e a arquitetura de microsserviços são a mesma coisa. 

Porém há algumas características que os diferenciam. Sendo a principal delas, o escopo: a SOA é uma abordagem de arquitetura adotada pela empresa como um todo, enquanto os microsserviços são uma estratégia de implementação da equipe de desenvolvimento para cada aplicação.

A comunicação entre os componentes também é diferente. A SOA usa ESB, enquanto os microsserviços comunicam-se uns com os outros de maneira stateless, por meio de APIs independentes de linguagem. O que permite que as equipes de desenvolvimento escolham as ferramentas com que preferem trabalhar. Isso faz com que os microsserviços sejam mais tolerantes e flexíveis.

Quer saber mais sobre a arquitetura orientada a serviços e a arquitetura de microsserviços? Conte com a A.R. Phoenix! Tire suas dúvidas sobre esse tipo de arquitetura com nosso time de especialistas.

Continue sua leitura!

Além do hype: Explorando o impacto real da IA

Além do hype: Explorando o impacto real da IA

A inteligência artificial (IA) se tornou um termo presente desde artigos científicos até conversas casuais. Mas o deslumbramento em torno desse assunto encobre a realidade prática da tecnologia e os…
Descubra o framework ideal para o seu projeto

Descubra o framework ideal para o seu projeto

Construir um projeto pode ser comparado à construção de uma casa. Assim como um bom pedreiro precisa de ferramentas adequadas para erguer uma estrutura sólida e segura, o sucesso do…
Otimização de Banco de Dados

Otimização de Banco de Dados

Bancos de dados são essenciais para o funcionamento de qualquer sistema ou aplicação que armazene e manipule dados. No entanto, mesmo os bancos de dados mais bem projetados podem apresentar…

Planejamento

O planejamento do sprint é um evento no scrum que inicia o sprint.

O objetivo desse planejamento é definir o que pode ser entregue no sprint e como esse trabalho vai ser alcançado.

O planejamento do sprint é feito em colaboração com toda a equipe Scrum.

Desenvolvimento

Desenvolvemos seu projeto em seu ambiente ou em nossas instalações, com profissionais sob sua gestão, sob a nossa, ou compartilhada, com o uso do Outsourcing.

Todo o acompanhamento ocorre a partir de metodologias, frameworks e ferramentas de gestão participativa no desenvolvimento da solução.

A partir deste processo, temos a versão Beta para testes.

Nesta etapa, realizamos a documentação das soluções, inclusive as já existentes.

As entregas são sempre acompanhadas de descritivos funcionais e técnicos, possibilitando a compreensão da solução e sua divulgação.

Homologação

Nossos analistas de qualidade agregam valor final à sua solução, garantindo a superação do resultado esperado.

Produzimos roteiros e evidências de testes que auxiliam no processo de validação do cliente.

É na etapa da homologação, que ocorre a comprovação, pelo cliente e demais partes interessadas, de que o produto resultante do projeto de software atende aos critérios exigidos.

Revisão

Nessa etapa lidaremos com a Sprint Review.

Ou seja, validaremos as entregas da equipe e verificaremos se os critérios estabelecidos no planejamento foram executados.

É o momento de coletar os feedbacks do que a equipe construiu.

Em outras palavras, essa etapa pode ser entendida como uma conversa entre a equipe e as partes interessadas sobre como melhorar o produto.

No fim de cada Sprint, o time se reúne para falar sobre o processo.

Retrospectiva

A etapa de retrospectiva é como um ritual de avaliação do Sprint que acabou de se encerrar.

Nessa reunião, o Time Scrum considera o que foi bom e o que deve ser melhorado, traçando planos de ações em busca da melhoria contínua do processo.