Os Web Services são componentes que permitem às aplicações enviar e receber dados independente de plataforma e de linguagem de programação, pois se comunicam utilizando protocolos padrões para comunicação e transferência de dados, como XML, JSON, CSV ou outros, tornando o sistema interoperável.

Normalmente os clientes que se beneficiam dos serviços gerados pelo Web Services não precisam ter nenhum conhecimento sobre a sua implementação ou plataforma de execução, necessitam apenas conhecer as URIs (Uniform Resource Identifier) e sua interface.

Para as empresas, os Web Services podem trazer agilidade para os processos e eficiência na comunicação entre cadeias de produção ou de logística. Toda e qualquer comunicação entre sistemas passa a ser dinâmica e principalmente segura, pois não há intervenção humana.

O Cronapp consegue abstrair de forma simples e rápida a geração e obtenção de recursos web, tanto REST quanto SOAP, que são os web services utilizados na plataforma:

SOAP

SOAP (Simple Object Access Protocol, hoje não é mais utilizado o acrônimo por não se tratar de um protocolo de acesso a objetos) baseia-se na invocação remota de um método de outro sistema, especificando o endereço do componente, o nome do método e os seus argumentos. Estes dados são formatados em XML com determinadas regras e enviados normalmente por HTTP (ou outros protocolos de comunicação) para o requisitante. Não define ou impõe qualquer semântica, quer seja o modelo de programação, quer seja a semântica específica da implementação. Este aspecto é extremamente importante, pois permite que possa haver comunicação entre cliente e servidor, mesmo que tenham sidos desenvolvidos em arquiteturas e/ou linguagens diferentes.

Este protocolo baseado em XML consiste de três partes: um envelope, que define o que está na mensagem e como processá-la, um cabeçalho com conjunto de regras codificadas para expressar instâncias dos tipos de dados definidos na aplicação, e um body com convenções para representar chamadas de procedimentos e respostas. (Figura 1)


Figura 1 - Estrutura do SOAP


REST

Restfull são sistemas que obedecem a arquitetura REST (acrônimo para Representational State Transfer) e definem um conjunto de restrições e propriedades baseadas em HTTP. Diferente de outros Web Services, o REST permitem que sistemas clientes acessem e manipulem sistemas servidores usando através de URIs predefinida de operações.

Dentre as vantagens do REST é a possibilidade de transferir qualquer formatos de arquivo (XML, JSON, HTML e outros), ficando a cargo do programador tratar o conteúdo recebido, além disso, ele é leve, rápido, confiável e permite crescimento com a reutilização de componentes que podem ser atualizados sem afetar o sistema, mesmo estando em execução.

O REST ignora os detalhes da implementação de componente e a sintaxe de protocolo com o objetivo de focar nos papéis dos componentes, nas restrições sobre sua interação com outros componentes e na sua interpretação de elementos de dados significantes.



Nessa página