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.