Esse é o primeiro de uma série de artigos do nosso blog que vão abordar o tema SOA, conceito antigo e moderno que está enraizado nas atividades cotidianas da iProcess.
Nesse primeiro post gostaríamos de responder à simples pergunta: o que é SOA?
O que é SOA?
SOA significa Service-Oriented Architecture, ou Arquitetura Orientada a Serviços, numa tradução livre.
O conceito foi proposto pela primeira vez em 1996, no artigo “Service Oriented Architectures” (abril de 1996), escrito pelos pesquisadores Roy Schulte e Yefim Natis do Gartner Group. Eles o apresentaram à partir da análise de experiências de diversos clientes que, na época, utilizavam a tecnologia cliente-servidor (em forte adoção naqueles anos), e que ganhou novamente atenção em virtude das novas possibilidades tecnológicas baseadas em padrões, da demanda crescente por soluções de integração e de relativo insucesso de outras alternativas.
É possível encontrar diferentes e variadas definições de SOA. Eis algumas delas:
Depois de alguns anos a iProcess também teve a ousadia de propor uma definição para SOA:
“SOA é uma filosofia de TI que visa facilitar a integração entre sistemas, orientando a criação e a disponibilização de soluções modulares e fracamente acopladas baseadas no conceito de serviços”
À partir dessas definições podemos chegar a algumas conclusões à respeito de SOA.
- SOA não é uma tecnologia. Há tanto de negócio quanto de tecnologia em SOA. As tecnologias (padrões) que dão suporte a SOA são o que a viabiliza, mas SOA não é uma tecnologia por si só.
- SOA não é uma metodologia. Há várias metodologias (processos, ferramentas, métodos de trabalho) que podem ser usados para implantar SOA com sucesso. SOA não é e nem define alguma metodologia.
- SOA pode ser considerada uma filosofia arquitetural. SOA é uma linha de pensamento que permeia a implementação de necessidades de negócio, refletida em diretrizes, políticas e metodologias corporativas, não necessariamente restritas à área de TI.
- SOA não é algo que se possa comprar ou instalar.
- SOA não é um webservice.
- SOA não cria nada. Ela apenas sugere, propõe, define.
- SOA baseia-se no conceito do uso de serviços atômicos, independentes e com baixo acoplamento.
SOA e suas características
Algumas das principais características que podemos encontrar usando SOA são:
Dessas características salientamos o “fraco acoplamento de serviços” que, na prática, significa minimizar o impacto das modificações e das falhas dentro de cenário do sistema como um todo. Sobre esse assunto veja mais nesse artigo.
SOA e seus benefícios
São esperados diversos benefícios no uso do SOA. Alguns deles relacionamos abaixo:
- Facilidade de Manutenção: mudanças na lógica de negócios (implementação) não afetam aplicações existentes;
- Reuso: novas aplicações e processos (consumidores de serviços) podem reaproveitar mais facilmente as funcionalidades existentes;
- Flexibilidade: sistemas de back-end e infraestrutura podem ser substituídos com menor impacto;
- Resultado: agilidade e redução de custos;
- Qualidade: garantia de homogeneidade de processos;
- Menor tempo: agilidade na análise de impacto e no desenvolvimento evolutivo de seus sistemas;
- Menor custo: redução do custo de manutenção das aplicações;
- Controle: conhecimento dos ativos existentes.
11 Responses
Gostei
Muito bom.
Ótima introdução. Estou pesquisando sobre micro serviços e essa definição me tirou algumas dúvidas
Excelentes explicações, obrigado!
Excelente, parabéns!
Artigo muito bem feito, muito esclarecedor