Benefícios de uma Arquitetura Orientada a Serviço (SOA) para o negócio (Final)

AGRADEÇA AO AUTOR COMPARTILHE!

Nessa segunda e última parte do artigo (link para 1ª parte) sobre os benefícios de uma arquitetura orientada a serviço (SOA) para o negócio, serão discutidos os seguintes temas:

  • Melhoria do ROI (Retorno do Investimento)
  • Menor tempo de resposta frente às mudanças
  • Redução de riscos
Imagem via Shutterstock

Imagem via Shutterstock

A área de TI tradicionalmente tem a fama de solicitar mais recursos do que efetivamente consegue entregar. A utilização de SOA no negócio tende a diminuir os custos em médio e longo prazo por meio da automatização dos processos [1], a medida que é feita a reutilização dos serviços existentes e agilizada a correção dos serviços – pois se vários serviços dependem de um serviço X e este está com problemas, ao resolver o serviço X automaticamente os vários serviços dependentes serão corrigidos (testes de integração necessários). Inclusive novos sistemas podem ser gerados mais rapidamente por meio da reutilização desses serviços existentes. Com isso, outro benefício que aparece é um menor TCO (Custo Total de Propriedade) – estimativa financeira que compreende os custos diretos e indiretos, desde o planejamento e aquisição até a venda ou descarte, passando por operação e manutenção – pois a forma que uma arquitetura orientada a serviço organiza e gerencia os mesmos, e os princípios que os serviços seguem, facilitam a construção e alteração de processos de negócio, tornando mais rápida a resposta às solicitações de mercado.

Sistemas geralmente interagem bem com usuários (humanos), executando em plataformas determinadas, ou seja, tradicionalmente não interagem bem com outros sistemas, e/ou nem sempre podem ser aproveitados quando se deseja trabalhar em outra plataforma, seja ela web ou móvel (ou outros tipos no futuro, como o Glass). A natureza de um serviço é ser independente de plataforma. Dessa forma, aplicações utilizando serviços tendem a ser mais duráveis, pois podem ser adaptadas para outros usuários – incluindo outros sistemas – e outras plataformas, como web e dispositivos móveis. Ainda, o custo de integração será reduzido, pelo fato dos serviços já estarem prontos para serem consumidos por outros aplicativos.

Uma arquitetura orientada a serviço também busca um menor tempo de resposta frente às mudanças em médio e longo prazo, já que, após uma empresa desmembrar seus processos em forma de serviço, será possível compor novos serviços a partir desses. Lembrando que os serviços tendem a ficar cada vez mais maduros com o passar do tempo, já que são testados e corrigidos.

Figura 1 - Comparação do Custo de Desenvolvimento: SOA VS Entrega de Serviço Convencional [3] (tradução livre)

Figura 1 – Comparação do Custo de Desenvolvimento: SOA VS Entrega de Serviço Convencional [3] (tradução livre)

Devido a essa maturidade, um projeto baseado em SOA tende a reduzir os riscos de novas implementações, desde que essas sejam baseadas em serviços já utilizados, ou seja, já testados e comprovados [4].

Uma das preocupações de um arquiteto de software é a gerenciabilidade de sua arquitetura. Para isso, é possível acoplar ferramentas para gerenciamento e monitoramento de serviços, permitindo medir velocidade, serviços mais utilizados, tempo de resposta, quantidade de transações e disponibilidade.

Com o passar do tempo, as empresas vão criando o que são chamados de “silos” – concentrações de dados sobre o negócio restritos a apenas um departamento ou grupo de pessoas – que prejudicam a comunicação e, por consequência, agilidade do negócio e captura de oportunidades. Para agravar, esses “silos” de informação muitas vezes estão “amarrados” a fornecedores (vendor lock-in) e dependentes de uma plataforma/tecnologia. Como destacado acima, o fato de um serviço ser independente de plataforma e seu principal objetivo o de ser uma forma reutilizável de trocar informações, faz com que esse tipo de arquitetura diminua esse tipo de risco.

Figura 2 - Exemplo de componentes de uma arquitetura SOA (wso2brasil)

Conclusão

De incentivador de novos negócios a redutor de riscos, foram destacados diversos benefícios da adoção desse tipo de arquitetura. Porém, como não existe “bala de prata”, a maior parte desses benefícios só será alcançada caso seja levado em conta também outras áreas/perspectivas, como governança (regras, padrões e cultura), infraestrutura (ESB, ferramentas de monitoramento e firewalls) e equipe técnica com arquiteto(s) conhecedor(es) dos princípios [5] desse estilo arquitetural, ou seja, com todo esse investimento, o ganho aparece somente em médio e longo prazo, porém, tende a ser mais duradouro e escalável – pois ao formar uma base sólida de serviços, o negócio conta com toda uma infraestrutura para novas aplicações, inovações, troca de informações com parceiros e disponibilização de serviços em diferentes dispositivos.

Com a sociedade como um todo se tornando cada vez mais interconectada, com paradigmas sendo quebrados e com novos dispositivos e formas de trabalhar aparecendo, faz menos sentido investir em tecnologias fechadas, rígidas e “anti-sociais”, devendo área técnica e de negócios discutirem os prós e contras (“trade-offs”) quanto à adoção ou não desse tipo de arquitetura.

Publicado originalmente no blog TI & Gestão

Referências

[1] Service-oriented Architecture – Business Benefits (SAP). Acessado em 01/05/2013, disponível em: http://www.sap.com/platform/soa/businessbenefits/index.epx
[2] , MANOO. The Business Value of Service-Oriented Architecture. 2004
[3] ZIMMERLI, BRAYAN. Business Benefits of SOA. University of Applied Science of Northwestern Switzerland, 2009.
[4] WEBMETHODS, INC. The Business Case for SOA, 2005.
[5] Princípios para o design eficiente de serviços. Acessado em 07/05/2013, disponível em: http://elemarjr.net/2011/09/02/princpios-para-o-design-eficiente-de-servios/

AGRADEÇA AO AUTOR COMPARTILHE!

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


2 Comentários

Danilo Teodoro
2

Com certeza Mariano, principalmente através do uso de APIs, que permitam interconectar ferramentas e formar processos autônomos/inteligentes. Veja, por exemplo, o caso do Instagram que utiliza um serviço do Foursquare para localização (fazer check-in).

Deixe seu comentário

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

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">