SOA por diferentes ângulos

VN:RO [1.9.11_1134]
sexta-feira, 6 d maio d 2011
Por Adriano Oliveira, Coop12. Siga no Twitter

Procurando por Arquitetura Orientada a Serviços neste blog, fiquei surpreso ao perceber que não havia nada sobre isto até então. Portanto, como meu post inaugural, começarei a discussão sobre o assunto. Apesar do conceito ser atualmente muito utilizado, ainda permanece pouco conhecido, ou conhecido muito superficialmente, por muitos profissionais de TI e de negócios.

A Arquitetura Orientada a Serviços, ou SOA (do inglês Service-oriented Architecture), é um conjunto de práticas que definem um tipo de arquitetura de software. Uma implantação de uma SOA em um ambiente corporativo pode resultar num impacto muito grande no modo de encarar o gerenciamento de TI e processos de negócio.

SOA tem-se mostrado uma alternativa muito eficiente para aumentar flexibilidade e agilidade da estrutura de TI de uma empresa. Como, hoje em dia, o valor de negócio de grande parte das corporações está intimamente atrelado à eficiência de sua área de TI, SOA tem sido cada vez mais vista como uma melhoria de eficiência de negócios. Com base nestas características, uma SOA pode ser enxergada por diversos prismas dentro de uma organização: por gerentes de negócio como uma vantagem estratégica, por administradores de TI como uma melhoria de organização estrutural, por desenvolvedores como um conjunto de padronizações, etc.

Antes de explicar melhor este ponto,

O que é SOA?

SOA pode ser entendida como um conjunto de práticas de software que se dispõe conferir as seguintes características a uma arquitetura de software:

Para atingir esses objetivos, uma SOA segue as seguintes práticas:

  • Expor em um meio comum as funcionalidades das aplicações existentes (e das que deverão ser desenvolvidas) como serviços (normalmente Web Services);
  • Essa exposição deve ocorrer por meio de interfaces bem definidas, descritas por um protocolo comum (normalmente WSDL) especificando as operações, os dados de entrada e os dados de saída;
  • O meio comum de comunicação entre esses serviços deve incorporar um protocolo de comunicação também comum (normalmente uma rede, com protocolo SOAP sobre HTTP ou SOAP sobre JMS).

Expondo as aplicações por meio de interfaces bem definidas em uma rede de computadores que identifique cada funcionalidade como um serviço, promove-se o encapsulamento. Pois assim, os detalhes de implementação de cada serviço (como a linguagem em que foi escrito ou sistema operacional em que ele funciona) não necessitam conhecimento por parte de seus consumidores. Mais ainda, os serviços devem ser reutilizáveis e associáveis.

Por meio dessa estrutura, o negócio pode aproveitar mais dos resultados de seu software, preocupando-se menos com os detalhes de seu funcionamento. Este panorama forma uma Arquitetura Orientada a Serviços.

Os significados de se adotar uma SOA

Adotar uma SOA pode se tornar um bom plano de negócios

Quando uma organização estabelece uma SOA, ela está muito mais apta a se adaptar. O modo em que SOA é estabelecida propicia baixo custo – temporal, operacional e financeiro – de atualização, já que os serviços são independentes. Modificar um serviço, ou acrescentar um novo, não implica modificações nos demais. Essa característica faz com que seja fácil adaptar-se às novas regras e necessidades do negócio.

Essa flexibilidade atrela a estrutura de TI de modo mais conciso aos problemas de negócio. Portanto, para gerentes e administradores, SOA representa em uma capacidade maior de adaptação às exigências, e como a companhia exibe seus serviços, interna e externamente.

Para os arquitetos de TI, SOA é como a companhia organiza seus recursos: fornecedores de serviços, consumidores e descrições de serviços. Isso simplifica os elementos que eles deverão tomar conta, devido ao baixo acoplamento dos componentes.

Para os desenvolvedores, SOA representa um conjunto de especificações, protocolos de interface e comunicação. Ao mesmo tempo que traz maior liberdade para a implementação de suas soluções.

Com SOA é possível centralizar mais facilmente a gestão dos recursos e fazer medições sem ter de inferir na implementação de cada aplicativo. SOA facilita igualmente o recolhimento de dados de indicadores de negócio (quantidade de utilização de determinados serviços, recursos humanos, gastos, etc) quanto indicadores técnicos (desempenho, precisão dos dados trafegados, workloads e outros). Uma vez identificados pontos a melhorar, recomeçar o ciclo para a implantação de melhorias será muito menos doloroso, já que não será mais necessário mexer no que já funciona devidamente.

SOA não possui um conceito rigidamente definido, mas como existem padrões bem definidos que a habilitam, a indústria de software é livre para criar ferramentas que auxiliem seu projeto, implantação e monitoramento. O mais interessante de tudo isso, em minha opinião, é que como não há disputa na indústria para o conceito de SOA, o que prevalece são o bom senso e a real procura por agregar o maior valor possível de software ao negócio. E por influenciar tantas áreas de uma organização, transcende as bordas de TI.

Referências

A practical application of SOA – IBM developerWorks

VN:F [1.9.11_1134]
Rating: 5.0/5 (1 vote cast)
SOA por diferentes ângulos, 5.0 out of 5 based on 1 rating
Related Posts with Thumbnails

Tags: , , , , ,

3 Comentários para “SOA por diferentes ângulos”

  1. Belo artigo! Valeu!

    VN:F [1.9.11_1134]
    Rating: 0 (from 0 votes)
    #473
  2. Fernando Vergueiro

    Mandou bem Adriano. Realmente é muito raro encontrar artigos sobre em SOA em português, não só aqui no Bia a Bit.

    VA:F [1.9.11_1134]
    Rating: 0 (from 0 votes)
    #474
  3. Carlos Thomaz

    Nossa Adriano! Você chama isso de artigo?

    Calma… brincadeira. Adriano ótimo artigo sobre SOA, acho que eu só entedi tudo isso agora…rs.

    Valeu! abraços!

    VA:F [1.9.11_1134]
    Rating: 0 (from 0 votes)
    #475

Deixe um Comentário

Spam Protection by WP-SpamFree

Get Adobe Flash playerPlugin by wpburn.com wordpress themes