SOA - Visão geral

O que é Arquitetura Orientada a Serviços (SOA)?

A Arquitetura Orientada a Serviços é um projeto arquitetônico que inclui a coleção de serviços em uma rede que se comunicam entre si. A complicação de cada serviço não é perceptível para outro serviço. O serviço é um tipo de operação bem definida, autocontida, que oferece funcionalidades separadas, como verificação de dados de contas de clientes, impressão de extratos bancários, etc., e não depende do estado de outros serviços.

História

O primeiro relatório publicado em SOA pelos analistas Roy W.Schulte e Yefim V.Natis em 1996.

Por que usar SOA?

  • SOA é amplamente utilizado no mercado que responde rapidamente e faz mudanças eficazes de acordo com as situações de mercado.

  • A SOA mantém em segredo os detalhes de implementação dos subsistemas.

  • Permite a interação de novos canais com clientes, parceiros e fornecedores.

  • Ele autoriza as empresas a selecionar o software ou hardware de sua escolha, pois atua como independência de plataforma.

Características

  • SOA usa interfaces que resolvem os difíceis problemas de integração em grandes sistemas.

  • SOA comunica clientes, provedores e fornecedores com mensagens usando o esquema XML.

  • Ele usa o monitoramento de mensagens para melhorar a medição de desempenho e detecta os ataques à segurança.

  • Ao reutilizar o serviço, haverá redução nos custos de desenvolvimento e gerenciamento de software.

Vantagens

  • SOA permite reutilizar o serviço de um sistema existente, construindo alternadamente o novo sistema.

  • Ele permite conectar novos serviços ou atualizar serviços existentes para colocar os novos requisitos de negócios.

  • Pode melhorar o desempenho, a funcionalidade de um serviço e fazer facilmente a atualização do sistema.

  • SOA tem capacidade para ajustar ou modificar os diferentes ambientes externos e grandes aplicativos podem ser gerenciados facilmente.

  • As empresas podem desenvolver aplicativos sem substituir os aplicativos existentes.

  • Ele fornece aplicativos confiáveis ​​nos quais você pode testar e depurar os serviços independentes facilmente em comparação com um grande número de código.

Desvantagens

  • SOA requer alto custo de investimento (significa grande investimento em tecnologia, desenvolvimento e recursos humanos).

  • Há uma sobrecarga maior quando um serviço interage com outro serviço, o que aumenta o tempo de resposta e a carga da máquina ao validar os parâmetros de entrada.

  • SOA não é adequado para aplicativos GUI (interface gráfica do usuário), que se tornarão mais complexos quando o SOA exigir uma troca pesada de dados.