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.