Ferramentas Pessoais
Você está aqui: Página Inicial Programação Conceitos Serviços WEB (WebService)

Serviços WEB (WebService)

por Alan Candido última modificação 27/01/2011 05:58

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.

Anos 70
Envio de dados nos anos 70 era em fita magnética, por malote aéreo e uma vez por mês.
Ano 85
Por volta de 1985, o envio passa a ser diário e via satélite, porém com alto custo
Recente
E recentemente, passa a usar a WWW para transmissão, com rapidez, baixo custo e com poucos minutos de atraso ou até mesmo “on-line

 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).

Fluxo do Serviço Web
Diagrama básico de WebService (baseado no original de Voormann, 2006)

 

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).

Que Fome!!!
Ilustração do fluxo de serviços web (web service)

 

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”.

Ações do documento
Acessar


Esqueceu sua senha?