Serviços WEB (WebService)
Apresenta os conceitos básicos do Serviços WEB (Web Services) a leigos e desenvolvedores que desejam utilizar este recurso em suas aplicações.
Introdução
A filial brasileira (que usa Protheus/SigaAdvanced) de uma indústria farmacêutica suíça (que usa SAP), periodicamente deve enviar a matriz informações sobre as receitas e despesas do período, com informações de orçado e realizado.
Além da dificuldade e custos que a distância impunha, há o problema da diversidade de sistemas. Cada um com a sua plataforma e características próprias, tais como regras de negócios, armazenagem e tipos de dados, entre outros. Com o advento da WWW, o custo de comunicação caiu bastante e a sua velocidade aumentou muito. Com isso começou a surgir novas tecnologias e propostas, que iam melhorando ainda mais esta troca de informações usando a WWW como canal de comunicação. Com o passar do tempo vimos surgir o TPL/TPC (texto-pra-lá/texto-prá-cá), o RPC (Remote Procedure Call), o CORBA (Common Object Request Broker Architeture), o XML (eXtensible Markup Language), o SOAP (Simple Object Access Protocol) e finalmente os serviços web (web services), o alvo deste artigo.
O que é serviço web (web service)? (Web Service, 2007)
Para as empresas, os serviços web (web services) podem trazer agilidade para os processos e eficiência na comunicação na cadeia de produção ou na logística. Toda e qualquer comunicação entre sistemas passa a ser dinâmica e principalmente, segura, pois não há intervenção humana. Para a representação e estruturação dos dados nas mensagens recebidas/enviadas é utilizado o XML (eXtensible Markup Language). As chamadas às operações, incluindo os parâmetros de entrada/saída, são “envelopadas” (codificadas) usando-se o protocolo SOAP (Simple Object Access Protocol), cuja base é o XML. Os serviços (operações, mensagens, parâmetros, etc.) são descritos usando a linguagem WSDL (Web services Definition Language), cuja base é o XML. O processo de publicação/pesquisa/descoberta de serviços web (web services), utiliza o protocolo UDDI (Universal Description, Discovery and Integration).
Entendendo um pouco melhor
Imagine-se com fome. Você procura no Google (UDDI) por um restaurante. No restaurante você lê o cardápio (WSDL), para saber o que pedir. Em seguida, você faz o pedido ao garçom (SOAP), que leva o pedido até a cozinha (HTTP). O cozinheiro prepara sua comida (provedor do serviço). Depois de pronta, o garçom traz de volta sua comida (SOAP de resposta). É, basicamente, assim que funciona o serviço web (web services). (Fernando Cruz, 2006).
WSDL
É a sigla de "WebService Description Language", padrão baseado em XML para descrever o serviço, onde traz os métodos do serviço web (Web Service) e seus parâmetros. Funciona como uma espécie de “dicionário de dados (meta-dados)” do serviço web (Web Service), alem de ser usado para a validação das chamadas dos métodos web (web methods).
UDDI
É a sigla para “Universal Description, Discovery and Integration”, que é o protocolo desenvolvido para a organização e registro de serviços web (Web services) e segue o padrão XML. Nos “sites” abaixo, você tem exemplos de UDDI e alguns serviços web (web services) disponíveis.
- http://www.uddi.org
- http://uddi.microsoft.com
- http://www.webservicelist.com
SOAP
É a sigla para "Simple Object Access Protocol, e em "Protocolo Simples de Acesso a Objetos", é um protocolo para troca de informações estruturadas em uma plataforma descentralizada e distribuída.
XML
É a sigla para "eXtensible Markup Language" e é uma recomendação da W3C para gerar linguagens de marcação para facilitar o compartilhamento de informações através da Internet.
WS-I (Web Services Interoperability Organization, 2006)
É o consórcio que garante a interoperabilidade entre os Serviços web (Web services), isto é, garante sempre que os Serviços web (Web services) possam “conversar entre - si”.