Abordagem de Serviços da Web para uma Arquitetura Orientada a Serviços

É possível usar serviços da Web em um ambiente de arquitetura orientada a serviços (SOA).

É possível usar serviços da Web para implementar uma SOA. O foco principal de serviços da Web é tornar acessíveis os blocos de construção funcionais sobre protocolos padrão de Internet que são independentes de plataformas e linguagens de programação. Esses serviços podem ser novos aplicativos ou apenas agrupados em torno de sistemas legado existentes para torná-los habilitados para rede. Um serviço pode depender de outro serviço para atingir seus objetivos.

Cada bloco de construção da SOA pode assumir uma ou mais de três funções:
  • Provedor de Serviços

    O provedor de serviços cria um serviço da Web e possivelmente publica sua interface e informações de acesso no registro de serviço. Cada provedor deve decidir quais serviços expor, como fazer intercâmbio entre a segurança e a fácil disponibilidade, como definir preços aos serviços ou como explorar os serviços gratuitos para outros valores. O provedor também deve decidir qual categoria listará o serviço para um determinado serviço intermediário e em qual classificação de acordos de parceiro comercial deve-se usar o serviço.

  • Broker de serviço

    O broker do serviço, também conhecido como registro de serviço, é responsável por disponibilizar a interface de serviços da Web e informações de acesso de implementação a qualquer solicitante de serviço potencial. O implementador do intermediário decide o escopo do intermediário. Servidores intermediários públicos são disponíveis por meio da Internet, enquanto servidores intermediários privados são acessíveis apenas a um público limitado, por exemplo, usuários da intranet de uma empresa. Além disso, algumas decisões precisam ser tomadas sobre a quantidade de informações oferecidas. Alguns servidores intermediários se especializam em muitas listas. Outros oferecerão altos níveis de confiança nos serviços listados. Alguns cobrem um amplo horizonte de serviços e outros se concentram em uma indústria. Alguns intermediários catalogam outros intermediários. Dependendo do modelo de negócios, os intermediários podem tentar maximizar os pedidos de consulta, o número de listagens ou a exatidão das listagens. A especificação Universal Description, Discovery and Integration (UDDI) define uma maneira de publicar e descobrir informações sobre serviços da Web.

  • Solicitador de serviços

    O solicitante de serviços ou o cliente de serviços da Web localiza entradas no registro do broker usando várias operações de localização e, em seguida, conecta-se ao provedor de serviços para chamar um de seus serviços da Web.

Arquitetura Orientada a Serviços.

Características do SOA:

A SOA apresentada ilustra uma conexão livre entre os participantes, fornecendo maior flexibilidade, das maneiras a seguir:
  • Um cliente é conectado a um serviço. Portanto, a integração do servidor ocorre fora do escopo dos programas aplicativos do cliente.
  • Blocos funcionais antigos e novos ou aplicativos e sistemas são encapsulados nos componentes que funcionam como serviços.
  • Os componentes funcionais e suas interfaces são separados, de forma que as novas interfaces possam ser conectadas com maior facilidade.
  • Em aplicativos complexos, o controle dos processos de negócios pode ser isolado. Um mecanismo de regras de negócio pode ser incorporado para controlar o workflow de um processo de negócio definido. Dependendo do estado do workflow, o mecanismo chama os serviços respectivos.
  • Os serviços podem ser incorporados dinamicamente durante o tempo de execução.
  • As ligações são especificadas utilizando arquivos de configuração e podem ser facilmente adaptadas a novas necessidades.

Propriedades de uma arquitetura orientada a serviços

A arquitetura orientada a serviço oferece as seguintes propriedades:
  • Os serviços da Web são independentes

    No cliente, nenhum software adicional é necessário. Uma linguagem de programação com suporte a clientes XML (Extensible Markup Language) e HTTP é suficiente para começar. No lado do servidor, um servidor da Web e um servidor SOAP são necessários. É possível ativar um aplicativo existente para serviços da Web sem gravar uma única linha de código.

  • Os serviços da Web são auto-explicativos

    Nem o cliente nem o servidor sabem ou se preocupam sobre nada, além do formato e conteúdo do pedido e das mensagens de resposta (integração do aplicativo de conexão livre). A definição do formato da mensagem viaja com a mensagem, não são necessários repositórios de metadados externos ou uma ferramenta de geração de código.

  • Os serviços da Web podem ser publicados, localizados e chamados por meio da Internet

    Essa tecnologia utiliza padrões reduzidos de Internet estabelecidos, como HTTP, e alavanca a infraestrutura existente. Alguns outros padrões requeridos incluem SOAP, WSDL (Web Services Description Language) e UDDI.

  • Os serviços da Web são independentes de linguagem e interoperáveis

    O cliente e o servidor podem ser implementados em ambientes diferentes. O código existente não precisa ser mudado para ser ativado por serviços da Web.

  • Os serviços da Web são inerentemente abertos e baseados em padrões

    XML e HTTP são a base técnica principal para serviços da Web. Uma grande parte da tecnologia de serviços da Web foi construída utilizando projetos de fonte aberta.

  • Os serviços da Web são dinâmicos

    O e-business dinâmico pode se tornar realidade usando serviços da Web, porque com UDDI e WSDL é possível automatizar a descrição e a descoberta do serviço da Web.

  • Os serviços da Web podem ser compostos

    Serviços da Web simples podem ser agregados aos mais complexos, usando técnicas de fluxo de trabalho ou chamando serviços da Web de camadas inferiores a partir de uma implementação de serviços da Web. Os serviços da Web podem ser encadeados para executar funções de negócios de nível mais alto. Esse encadeamento reduz o tempo de desenvolvimento e ativa as melhores implementações.

  • Os serviços da Web são livremente acoplados

    Tradicionalmente, o design de aplicativos depende de interconexões fortes em ambas as extremidades. Os serviços da Web requerem um nível mais simples de coordenação, que suporta uma reconfiguração mais flexível para uma integração dos serviços.

  • Os serviços da Web fornecem acesso programático

    A abordagem não fornece uma interface gráfica com o usuário: ela opera no nível do código. Os consumidores de serviços precisam conhecer as interfaces com os serviços da Web, mas não precisam conhecer os detalhes da implementação de serviços.

  • Os serviços da Web fornecem a capacidade de agrupar aplicativos existentes

    Os aplicativos independentes já existentes podem facilmente se integrar à SOA implementando um serviço da Web como uma interface.