SOA pra lá, SOA pra cá

Nesses últimos tempos ouvimos falar muito sobre SOA (Arquitetura Orientada a Serviços), mas o que realmente significa SOA? O que ela pode proporcionar para a empresa?

O que devemos ter em mente é que SOA não é mais uma ferramenta ou mais um framework que as empresas possam comprar e implantar do dia para a noite, mas sim uma nova 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 de diferentes tecnologias e entre diferentes empresas.

3 conceitos de SOA

Serviços

É um pedaço de uma funcionalidade corporativa e independente, essa funcionalidade pode ser simples (armazenar dados de um cidadão) ou complexa (um processo de abertura de chamados do sistema da Central 156). Deve possuir uma interface bem definida e geralmente é implementada com uso de WebServices;

ESB (Barramento Corporativo de Serviços)

É a infra-estrutura que possibilita o acesso aos serviços e a alta interoperabilidade entre os sistemas, ou seja, torna-se mais fácil distribuir processos corporativos para empresas que utilizam múltiplas tecnologias de desenvolvimento e múltiplas plataformas. Também podemos monitorar a ESB por meio de relatórios e gráficos (BAM);

Acoplamento Fraco

É o conceito de redução de dependência do sistema, ou seja, realizar a orquestração de serviços, que é a facilidade em fazer um serviço se comunicar facilmente com outro, porém um sistema com um acoplamento fraco tem aumentada sua complexidade de desenvolvimento.

Mas, por que quando falamos em SOA a primeira palavra que vem à nossa cabeça é WebService?  Podemos encontrar muitas definições de SOA dizendo que são meramente WebServices, mas isso está errado! SOA não é a mesma coisa que WebService. SOA é um paradigma, WebService é uma das maneiras possíveis de fornecer uma infra-estrutura de implementação de serviços. Outras maneiras que também podem ser usadas são Corba, EJB, RMI, etc.

O que é WebService?

WebService é um conjunto de padrões que cobrem a interoperabilidade, esses padrões definem tanto o protocolo que são usados na comunicação (SOAP), quanto o formato das interfaces que são usadas para especificar os serviços (WSDL). É responsável por carregar informações no formato de arquivo XML.

O que é Governança SOA?

Para que uma arquitetura SOA possa ser implantada em uma organização com sucesso é necessário ter uma equipe central que será responsável por gerenciar, garantir o funcionamento e a qualidade dos serviços. Essa equipe junto ao CIO será responsável por definir a arquitetura, processos, ferramentas e políticas a serem utilizadas em SOA na empresa.

Anne Thomas Manes definiu a governança SOA da seguinte forma: “Garantir que as pessoas façam o que é ‘certo’.”

Um dos principais objetivos de uma arquitetura orientada a serviço é fazer com que os sistemas (legados e novos) que foram desenvolvidos em tecnologias diferentes possam se conhecer e comunicar-se entre si, esse é o desafio para a equipe de integração.

Tags: ,

Sobre Leandro Prado

Leandro Silveira Prado é Premier Field Engineer na Microsoft especializado em Application Lifecycle Management.