A Arquitetura Orientada à Serviço (SOA) é uma forma de alinhar Tecnologia da Informação (T.I.) com negócios no ambiente corporativo através da criação de soluções em forma de serviços que possam ser reutilizados em diversas composições e cenários.
Entre os benefícios, destacam-se:
- Incentivo a novos negócios
- Parcerias [1]
- Expertise As A Service (EAAS) [7]
- Inovação [2]
- Adapta sistema ao processo e não vice-versa [3]
- Facilidade e flexibilidade nas integrações [4]
- Habilidade de escalar operações
- Redução da carga na área de TI
- Evita duplicações – maior reuso
- Melhor gerenciabilidade
- Composição de serviços
- Melhoria do ROI (Retorno do Investimento)
- Diminuição dos custos em médio e longo prazo
- Automatização de processos [5]
- TCO (Custo Total de Propriedade) [1]
- Durabilidade das “aplicações”
- Redução de despesa operacional e em ativos
- Menor tempo de resposta frente às mudanças
- Maior produtividade
- Menor Time-to-Market [2]
- Redução de riscos
- Confiabilidade dos serviços
- Melhor controle (Service Monitoring)
- Maior liberdade para escolher plataforma, tecnologia e localização, evitando dependência de fornecedor (Vendor Lock-in)
Pode-se afirmar que uma Arquitetura Orientada à Serviços incentiva novos negócios baseado no fato de que a utilização de serviços autônomos facilita a integração de parceiros no negócio: ao invés de imaginar um novo aplicativo sendo desenvolvido especificamente para determinado cliente ou fornecedor, o trabalho envolveria basicamente a disponibilização dos serviços desejados para o parceiro. Por exemplo, uma empresa que possua um serviço que indique a quantidade de um produto em estoque, utilizado internamente para controlar o estoque mínimo, pode ser simplesmente disponibilizado para fornecedores parceiros verificarem o estoque de produtos e já enviarem cotações. Algum tempo depois, este mesmo serviço pode ser acessado através de uma nova página de consulta em um dispositivo móvel para que um administrador possa verificar o estoque de determinados produtos online.
À medida que empresas evoluem e especializam seus serviços, um novo campo se abre: pode-se vender essa expertise como serviço (EAAS). Por exemplo, ao invés de investir altas somas em (re)criar um modelo de previsão de compras, contrata-se um serviço de terceiros que receba determinados parâmetros – como tipo de produto, sazonalidade de compras, risco, etc – e que retorne essa previsão. A empresa que vende este serviço está vendendo sua expertise, incluindo conhecimento, modelos matemáticos, experiência, viabilizado por SOA.
Uma arquitetura orientada à serviços permite a separação da definição de interface e processo do aplicativo em questão (SAP). Essa característica de ser independente permite a sua reutilização em outros cenários, fazendo com que um mesmo serviço possa ser disponibilizado em novos canais de comunicação e combinado com outros serviços, como fomento à inovação. Por exemplo, um serviço que fornece informações de clientes que “curtiram” a página da empresa em determinado período pode ser combinado com um serviço de CRM que inicia o “follow-up” dos mesmos. Ou um serviço que traz as últimas notícias da empresa e é utilizado na Intranet pode ser também publicado em um blog. A característica de ser autônomo permite escalá-lo através de cloud computing e o fato de poder ser combinado habilita a modelagem de serviços de acordo com o processo desejado, e não o contrário.
Com o avanço na maturidade de um projeto de SOA, um dos efeitos desejados é a redução da carga na área de TI, percebido pela reutilização – ao invés da duplicação – de ativos (soluções em forma de serviço). Além da resposta mais rápida às solicitações, o fato de evitar duplicações economiza a consequente manutenção (correção) também duplicada dessas soluções. Além disso, a possibilidade de compor serviços a partir de outros traz benefícios como a utilização de serviços já testados e confiáveis (QoS), melhorias e correções em cascata e agilidade.
O desdobramento de um projeto de SOA segue tanto a abordagem top-down (divide-se um problema maior em partes menores) quanto a bottom-up (as partes divididas são repensadas para permitir serem melhor reutilizadas e consistentes). Esta abordagem faz com que a linguagem mais alto nível, gerencial, seja traduzida em serviços, que por sua vez são compostos de serviços menores, até chegar à base. Dessa forma, a alta gerência tem mais entendimento de quais serviços estão realmente disponíveis, melhorando o planejamento – “Realmente possuo determinados serviços para uma nova estratégia?” – e a comunicação com as equipes.
Referências
[1] ORDEEDOLCHEST, MANOO The Business Value of Service-Oriented Architecture. 2004
[2] ZIMMERLI, BRAYAN. Business Benefits of SOA. University of Applied Science of Northwestern Switzerland, 2009
[3] WANG R, Business Benefits in SOA and Web Services. Acessado em 09/12/2012, disponível em: http://www.slideshare.net/wiprotechnologies/business-benefits-of-soa-7597561
[4] Service-oriented Architecture: Business Benefits (Accenture). Acessado em 11/12/2012, disponível em: http://www.accenture.com/us-en/Pages/service-soa-business-benefits.aspx
[5] Service-oriented Architecture – Business Benefits (SAP). Acessado em 10/12/2012, disponível em: http://www.sap.com/platform/soa/businessbenefits/index.epx
[6] Service Oriented Architecture : SOA Features and Benefits. Acessado em 11/12/2012, disponível em: http://www.opengroup.org/soa/source-book/soa/soa_features.htm
[7] Expertise as a Service (EaaS) or Cloud Computing 2.0. Acessado em: 10/12/2012, disponível em: https://internetnz.net.nz/news/blog/2012/Expertise-Service-EaaS-or-Cloud-Computing-20
[8] ERL, Thomas. Principles of Service Design. Boston: Prentice Hall, 2008