Karlla (discussão | contribs)
Karlla (discussão | contribs)
Linha 1: Linha 1:
== O que é SOA? ==
== O que é SOA? ==
[[Arquivo:soaa.jpg]]


É um modelo de planejamento de estratégia da área de tecnologia da informação, alinhando diretamente aos objetivos de negócios de uma organização. Esta ponte permite expor as funcionalidades dos aplicativos em serviços padronizados e interrelacionados (AVELLAREDUARTE, 2012).
É um modelo de planejamento de estratégia da área de tecnologia da informação, alinhando diretamente aos objetivos de negócios de uma organização. Esta ponte permite expor as funcionalidades dos aplicativos em serviços padronizados e interrelacionados (AVELLAREDUARTE, 2012).

Edição das 18h21min de 2 de dezembro de 2019

O que é SOA?

É um modelo de planejamento de estratégia da área de tecnologia da informação, alinhando diretamente aos objetivos de negócios de uma organização. Esta ponte permite expor as funcionalidades dos aplicativos em serviços padronizados e interrelacionados (AVELLAREDUARTE, 2012).

Não é uma tecnologia, não é uma metodologia, não é um serviço, mas é um conceito de arquitetura corporativo que promove a integração entre o negócio e a TI (tecnologia da informação) por meio de conjunto de interfaces de serviços acoplados.

SOA é um conceito de arquitetura que traz maiores prioridades de inovação, aumentando a capacidade de colaboração entre aplicativos e inovando os modelos de negócio e processos.

Principais focos desta arquitetura:

  • Construção e disponibilização de serviços de negócio;
  • Evitar replicação de dados;
  • Reuso e facilidade de manutenção de sistemas;
  • Integração entre os sistemas;
  • Visão e controle do processo de negócio;
  • Agilidade nas mudanças.

ESB (barramento de serviços corportativos)

Um dos componentes mais importante em SOA é o ESB, ele não implementa a arquitetura, mas oferece as funcionalidades para implementá-la. O barramento provê uma camada de abstração acima de um sistema de mensagem que permite a integração entre os aplicativos.

Alguns erros comuns de SOA:

  • Tratar funções de negócio como módulos de softwares técnicos;
  • Delegar o projeto para os técnicos;
  • Implantar um projeto que não tem valor expressivo para a companhia;
  • Decisão de implantação por pessoas que não são da área de estratégia;

Vantagens

  • Reutilização: O serviço pode ser reutilizado para outras aplicações.
  • 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.
  • Manutenibilidade: Com baixo acoplamento, facilita a manutenção dos serviços.
  • 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.
  • Integração: A integração com outros serviços, aplicativos e sistemas legados.
  • Governança: Gerenciamento nos processamentos de negócio.
  • Padronizado: É baseado no uso de padrões.
  • Abstração: Serviço totalmente abstraído da sua implementação.

Desvantagens

  • Complexidade: Uma grande quantidade de serviços precisa ser gerenciada.
  • 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.
  • Disponibilidade: Uma queda na rede ou no servidor deixa todos os serviços indisponíveis.
  • Testabilidade: O debug no serviço é um problema para os desenvolvedores.

Referências