Benefícios de uma Arquitetura Orientada à Serviço (SOA) para o negócio – Parte 1

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.

Imagem via Shutterstock

Imagem via Shutterstock

Entre os benefícios, destacam-se:
SOA-Pyramid-300x190

  • 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.

Exemplo de reutilização de serviços

À 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.

Ilustração de Integração de sistemas

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

Danilo Teodoro

Mais artigos deste autor »

Graduado em Administração com Ênfase em Análise de Sistemas (CRA-GO: 10094), possui MBA em Gestão de software e mais de doze anos de experiência em desenvolvimento de aplicações utilizando banco de dados, sendo a maioria dos sistemas voltados à área comercial (automação) e agrícola. Possui três certificações na linguagem de programação Delphi, sendo uma delas como instrutor oficial Borland, função na qual atuou por três anos. Trabalha com Java (Spring, JPA/Hibernate e JSF), BSC (Balanced Scorecard) e, atualmente, atua como Arquiteto de Software / Consultor em Desenvolvimento. Autor do blog TI & Gestão: www.tiegestao.com.br


Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!