|
Nos últimos anos o termo “Web Service” tem chamado a atenção de muitos analistas e arquitetos, principalmente dos mais fanáticos por business-to-business (B2B). O conceito foi criado, implementado e agora está começando a ser utilizado. As expectativas são grandes, altos investimentos, frameworks poderosos, ganhos em produtividade, portabilidade e em independência. Neste artigo, será apresentado um pouco desta grande tecnologia que prometeu, e já está cumprindo, revolucionar o modo como os sistemas são desenvolvidos.
Introdução a Web Service
Um requisito básico de qualquer empresa é prover serviços, sejam os vendedores de uma empresa, o setor de custos e compras, os prestadores de serviço, etc. Cada empresa oferece serviços para a comunicação entre ela e outras pessoas, sejam pessoas físicas ou jurídicas, internas ou externas à empresa.
Alguns desses serviços podem ser automatizados. Por exemplo, não é necessário existir um representante de vendas se o seu cliente já tem, em mãos, o preço e todos os outros dados relevantes para constituir um pedido de compra. Este pedido pode e, em muitos casos, já é feito via interfaces computacionais. O cliente entra em seu site, monta o pedido como desejar e confirma a compra. Isto é um serviço web, ou seja, um serviço que está publicado na web para que qualquer pessoa possa fazer uso.
Web Services foram criados para construir aplicações deste tipo, aplicações que são serviços na internet. Porém não faz parte do conceito de Web Service a criação de interfaces gráficas para os usuários, deixando esta parte para outras empresas ou pessoas desenvolverem. É comum encontrar textos afirmando que Web Services disponibilizam serviços somente para desenvolvedores, ou que Web Services nada mais são do que chamada de métodos usando XML. Estas definições estão corretas.
Web Service é a tecnologia ideal para comunicação entre sistemas, sendo muito usado em aplicações B2B. A comunicação entre os serviços é padronizada, possibilitando a independência de plataforma e de linguagem de programação. Por exemplo, um sistema de reserva de passagens aéreas feito em Java e rodando em um servidor Linux pode acessar, com transparência, um serviço de reserva de hotel feito em .Net rodando em um servidor Microsoft.
Para comunicar com o Web Service, é necessário uma implementação do protocolo SOAP (Simple Object Access Protocol) definido no W3C. Este protocolo é o responsável pela independência que o Web Service precisa. Atualmente já são encontradas várias implementações disponíveis em várias linguagens.
Na figura abaixo encontra-se um diagrama mostrando as mensagens trocadas entre cliente e servidor em uma comunicação SOAP. Existem duas aplicações se comunicando, um Client Wrapper e um Server Wrapper que estão disponibilizando a transparência para as aplicações. Entre eles só trafega XML, seguindo o protocolo SOAP sobre HTTP.
Um Web Service será publicado, e para que outras pessoas possam utilizá-lo é necessário definir como ele é, como deve ser acessado, e que valores ele retornará. Estas definições são descritas em um arquivo XML de acordo com a padronização Web Service Description Language (WSDL). Este arquivo deve ser construído para que os usuários do serviço possam entender o funcionamento do Web Service e, logicamente, será de acesso público.
Os Web Services também podem ser utilizados para implementar arquiteturas orientadas a serviços, as Service-Oriented Architectures (SOA). Neste modelo de arquitetura os principais requisitos viram serviços e são acessados por outros serviços, modularizando e aumentando a coesão dos componentes da aplicação.
|