03 de Novembro de 2008

O que é SOA?

O objetivo dessa série de posts é a fundamentação básica do mundo SOA.

Aqui no blog temos discutidos diversos tópicos avançados a respeito de SOA, e até mesmo por pedidos de alguns visitantes, segue aqui uma visão inicial do que seria a Arquitetura Orientada a Serviços, se tivéssemos que a definir em poucas palavras.

Esse post é escrito para aqueles que são iniciantes na abordagem de Arquitetura Orientada a Serviços. Recentemente essa área ganhou muito espaço no meio corporativo, com ela muitos são os conceitos presentes em documentos que tratam de SOA e para os iniciantes o assunto torna-se um bicho de sete cabeças.

Origem de SOA

O desenvolvimento de aplicações em ambientes corporativos ganhou, com o tempo, proporções que não poderiam ser previstas a curto prazo. Esse crescimento desordenado criou uma espécie de “colcha de retalhos” onde cada componente é desenvolvido para ligar 2 pontos específicos e possuem alto acoplamento dentro do sistema fazendo com que haja uma grande redundância de funcionalidades.

Arquitetura Tradicional

O que é acoplamento? É o nível de interdependência entre os módulos de um sistema. Por outro lado, um módulo é considerado coeso quando possui uma atividade bem definida. (veja mais)

Definição de Acoplamento

Diferentemente do que as pessoas pensam, SOA não se trata de uma simples invenção. A arquitetura orientada a serviços nada mais é que a evolução natural da arquitetura de sistemas tradicional para solucionar as necessidades de desenvolvimento e capacidade de adaptação às novas demandas de mercado, que se faz cada vez mais exigente em qualidade e agilidade.

Para os desenvolvedores isso significa ter que criar sistemas semelhantes com ajustes particulares para cada componente. Para as empresas isso significa dinheiro jogado fora, já que os componentes poderiam ter sido feitos voltados para o reúso.

O que SOA não é

Para reforçar a definição de SOA cabe deixar explícito o que não faz parte desse conceito. Para começar, vale deixar claro que SOA não é uma tecnologia. SOA é mais baseada em logística e conceitos e menos em ferramentas.

SOA não é um produto, portanto não é possível comprar SOA.

Os conceitos de Arquitetura Orientada a Serviços, WebServices, XML e BPM são relacionados no mundo SOA, mas são distintos no mundo de TI, portanto:

SOA != WebServices != XML != BPM

Definição de SOA

SOA é uma abordagem arquitetural corporativa que permite a criação de serviços de negócio interoperáveis que podem facilmente ser reutilizados e compartilhados entre aplicações e empresas.

Princípios Básicos de SOA

Segue abaixo uma lista com os 8 princípios básicos da Arquitetura Orientada a Serviços.

  • Serviços são reutilizáveis;
  • Serviços possuem baixo acoplamento;
  • Serviços abstraem a lógica;
  • Serviços são capazes de se compor;
  • Serviços são autônomos;
  • Serviços evitam alocação de recursos por longos períodos;
  • Serviços devem possuir a capacidade de serem descobertos.

Em breve escreverei com mais detalhes sobre cada um deles.

Por fim, não posso deixar de agradecer a ajuda especial do Rafael no desenvolvimento do post!

Até a próxima.

[]’s

– Gabriel

Responses

Parabéns! Bem-vindo ao grupo.

Leave a response

Your response: