Serviços da Web - Arquitetura

Existem duas maneiras de visualizar a arquitetura do serviço da web -

  • A primeira é examinar as funções individuais de cada ator de serviço da web.
  • A segunda é examinar a pilha de protocolos de serviço da web emergente.

Funções de serviço da web

Existem três funções principais na arquitetura de serviço da web -

Provedor de serviço

Este é o provedor do serviço da web. O provedor de serviços implementa o serviço e o disponibiliza na Internet.

Solicitante de serviço

Este é qualquer consumidor do serviço da web. O solicitante utiliza um serviço da web existente, abrindo uma conexão de rede e enviando uma solicitação XML.

Registro de serviço

Este é um diretório de serviços logicamente centralizado. O registro fornece um local central onde os desenvolvedores podem publicar novos serviços ou encontrar os existentes. Portanto, atua como uma câmara de compensação centralizada para empresas e seus serviços.

Pilha de protocolo de serviço da web

Uma segunda opção para visualizar a arquitetura de serviço da web é examinar a pilha de protocolos de serviço da web emergente. A pilha ainda está evoluindo, mas atualmente possui quatro camadas principais.

Transporte de serviço

Essa camada é responsável por transportar mensagens entre aplicativos. Atualmente, essa camada inclui protocolo de transporte de hipertexto (HTTP), protocolo de transferência de correio simples (SMTP), protocolo de transferência de arquivo (FTP) e protocolos mais recentes, como o protocolo de troca extensível de blocos (BEEP).

Mensagem XML

Essa camada é responsável por codificar mensagens em um formato XML comum para que as mensagens possam ser entendidas em qualquer uma das extremidades. Atualmente, esta camada inclui XML-RPC e SOAP.

Descrição do Serviço

Essa camada é responsável por descrever a interface pública para um serviço da web específico. Atualmente, a descrição do serviço é tratada por meio do Web Service Description Language (WSDL).

Descoberta de serviço

Essa camada é responsável por centralizar os serviços em um registro comum e fornecer funcionalidade de publicação / localização fácil. Atualmente, a descoberta de serviço é tratada por meio de Descrição Universal, Descoberta e Integração (UDDI).

Conforme os serviços da web evoluem, camadas adicionais podem ser adicionadas e tecnologias adicionais podem ser adicionadas a cada camada.

O próximo capítulo explica os componentes dos serviços da web.

Poucas palavras sobre transporte de serviço

A parte inferior da pilha de protocolo de serviço da web é o transporte de serviço. Essa camada é responsável por realmente transportar mensagens XML entre dois computadores.

Protocolo de transferência de hipertexto (HTTP)

Atualmente, HTTP é a opção mais popular para transporte de serviço. O HTTP é simples, estável e amplamente implantado. Além disso, a maioria dos firewalls permite tráfego HTTP. Isso permite que mensagens XMLRPC ou SOAP sejam disfarçadas como mensagens HTTP. Isso é bom se você deseja integrar aplicativos remotos, mas levanta uma série de questões de segurança.

Protocolo de troca extensível de blocos (BEEP)

Esta é uma alternativa promissora ao HTTP. BEEP é uma nova estrutura da Internet Engineering Task Force (IETF) para a construção de novos protocolos. O BEEP é colocado em camadas diretamente no TCP e inclui vários recursos integrados, incluindo um protocolo de handshake inicial, autenticação, segurança e tratamento de erros. Usando o BEEP, é possível criar novos protocolos para uma variedade de aplicativos, incluindo mensagens instantâneas, transferência de arquivos, distribuição de conteúdo e gerenciamento de rede.

SOAP não está vinculado a nenhum protocolo de transporte específico. Na verdade, você pode usar SOAP via HTTP, SMTP ou FTP. Uma ideia promissora é, portanto, usar SOAP em vez de BEEP.