Componentes de SOA

Uma banda sinfônica é composta por vários instrumentos musicais como trompete, saxofone, violino, percusão, onde cada instrumento tem uma tarefa específica. Da mesma forma, uma arquitetura SOA possui vários “instrumentos”, onde cada um é responsável por uma tarefa específica. Imagine um WSDL que não possui XSDs, uma ESB que não possui WSDLs, um BPEL  que não possui SOAP, seria uma verdadeira mistura de componentes sem nenhum sentido.

Nesse artigo vamos ver algumas definições sobre esses componentes de SOA.

ESB (Enterprise Service Bus)

Um dos componentes mais importantes de SOA é a infra-estrutura (servidores) onde estão disponibilizados os serviços. Sua principal tarefa é prover conectividade, segurança, transformações de dados e roteamento para que os sistemas possam comunicar-se entre si por meio dos serviços disponibilizados.

BAM (Business Activity Monitoring)

Fornece informações e estatísticas de quais processos de negócios estão sendo executados e quais estão parados, permitindo monitorar onde realmente possíveis falhas podem acontecer no processo de negócio.

WSDL (Web Service Description Language)

É um arquivo padrão escrito em XML que define as interfaces dos serviços (Web Service) de um ponto de vista técnico, é onde podemos verificar os parâmetros de entrada, saída, tipos de dados, endereço do serviço, etc.

XSD (XML Schema Definition)

Uma linguagem usada para descrever os tipos de dados básicos e complexos e regras nas quais um determinado arquivo XML deve estar em conformidade para que possa ser válido.

XML (eXtensible Markup Language)

É uma notação que foi padronizada pela W3C que é de fácil leitura para humanos, portanto mais fácil de ler e eliminar erros, é amplamente usada para a descrição e troca de dados.

SOAP

É um protocolo básico de Web Service que segue um formato baseado em XML, ele define o formato de cabeçalho e o corpo de uma mensagem, uma das principais vantagens é que ele é transportado pelo protocolo HTTP.

BPEL (Business Process Execution Language)

É uma linguagem que segue um formato em XML usado para realizar a orquestração de serviços, o resultado dessa orquestração é um novo Web Service.

UDDI (Universal Description Discovery and Integration)

É uma especificação técnica que tem como objetivo descrever, descobrir e integrar Web Service. É um diretório onde podemos encontrar todos os serviços disponibilizados para consumo.

Orquestração

É uma maneira de fazer com que os serviços possam se comunicar entre si, o resultado da orquestração é um arquivo BPEL que gera um novo serviço. A IDE Intalio nos permite realizar essa orquestração de maneira muito intuitiva.

Assim como uma banda sinfônica não podem haver instrumentos desordenados e desafinados, com SOA deve existir harmonia entre todos os componentes para que, no final, possamos ter um concerto perfeito.

Tags: , , , , , , , ,

Sobre Leandro Prado

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