Web Services – Interligando Sistemas Heterogêneos

Definição

Web Services são agentes integradores que realizam o compartilhamento de dados entre um indeterminável número de aplicações. Sua principal característica é a capacidade de tornar sistemas e plataformas heterogêneos, descentralizando serviços.

Agente Integrador De Múltiplos Sistemas

A expansão dos sistemas em baixa plataforma das décadas anteriores não seria possível sem os Web Services. Sem dúvida, foi uma das chaves fundamentais para o rumo dos novos sistemas de informação. Através dos Web Services os sistemas puderam ser migrados para outras tecnologias, em busca de novos recursos aos utilizadores, visando a possibilidade de integração em sistemas de diferentes plataformas, independentemente de linguagem, banco de dados e principalmente do sistema operacional utilizado.

Figura 1 – Sistemas de baixa plataforma.

Arquitetura Heterogênea De Um Web-Service

O processo para geração de um Web Service se resume em três passos:

  1. Publicação
  2. Localização
  3. Consumação

Vamos exemplificar isso neste diagrama:

Figura 2 – Estrutura de um Web Service.

Service Provider
Responsável por prover o serviço. Em troca de requisições ele disponibiliza o retorno das informações. A técnica de troca de mensagens com o Service Requester ocorre com o uso da tecnologia SOAP, um XML que contém dados categóricos sobre a requisição e os resultados encontrados. Por se tratar de um recurso comum (XML) a todas as tecnologias, sua implantação é viável em qualquer tipo de negócio.

Service Requester
Responsável por consumir o serviço. Efetua a troca de mensagens com o Service Provider de forma análoga com o uso do SOAP.  Os métodos acessíveis no Web Service estão especificados no Service Broker através do uso da tecnologia WSDL, outro XML genérico, a qual prove estes dados. O Service Requester independe da linguagem de programação ou banco de dados utilizado, o importante é compreender as mensagens.

Service Broker
Responsável por publicar e divulgar o serviço. O Service Provider disponibiliza as informações de seu Web Service ao Service Broker, o qual irá registrar este serviço em um diretório público e gerenciá-lo. Este diretório possui um nome, UDDI, que teoricamente deveria ser uma espécie de Google aos consumidores de Web Services mas que na prática ainda é pouco usual. Seu uso é vital para troca de dados WSDL.

Descentralização De Serviços Uni-Plataforma.

Desde que Web Services se tornaram necessários para expansão e implantação de novas tecnologias, o fato mais considerável é que ele foi responsável por descentralizar serviços de sistemas uni-plataforma. Hoje, podemos prover serviços básicos em um servidor de grande porte, e gerar novos serviços em qualquer porte de servidor, com recursos e capacidades totalmente relevantes aquela situação.

Existe ainda a possibilidade de um novo tipo de comércio, a venda de acessos a serviços. Empresas fundamentais, como por exemplo, os correios de determinado país, podem vender consultas de endereços e códigos a aplicações de terceiros que queiram sincronizar estas informações. Uma financeira poderia fornecer dados de bloqueio a possíveis compradores incapacitados. Definitivamente, um novo mercado.

Figura 3 – Compartilhamento de informações.

Por Onde Começar?

Como descrito neste artigo, a tecnologia adotada será análoga ao trabalho do Web Service. Cada linguagem / framework tem suas peculiaridades, mas a forma em que ocorrerá a troca de mensagens entre os envolvidos no serviço deveram ser as mesmas.

Muito provável que algumas tecnologias, tal como Java, obrigue você a usar algum componente de terceiro para criação ou consumação de Web Services. Entretanto, linguagens como PHP provêm isso nativamente em seu núcleo. A vantagem de se utilizar uma biblioteca de terceiro, seria a praticidade de se trabalhar com Web Services. Subentenda-se como evitar repetições de escopos básicos de Web Services.

Recomendaria um estudo mais aprofundado na essência de Web Services:
http://www.w3.org/2002/ws

Ler alguns exemplos práticos de Web Services:
http://www.w3schools.com/webservices

E daí então partir para as especificações de cada tecnologia:

ASP.NET
http://msdn.microsoft.com/en-us/library/ms972326.aspx

Zend Framework
http://www.zftutorials.com/zend-web-services

Ruby On Rails
http://www.tutorialized.com/tutorial/Create-Web-services-with-Ruby-on-Rails-and-Action-Web-Service/39880

JavaServer Faces
http://www.oracle.com/technology/products/jdev/101/howtos/jsfws/index.html

Django (Phyton)
http://andrewwilkinson.wordpress.com/2009/04/08/building-better-web-services-with-django-part-1

Considerações finais.

Esperamos que este terceiro artigo da série “ABC” seja útil em compreender porque Web Services se tornaram populares e precisos no mercado da tecnologia da informação. Lembramos que o foco dessa série é apenas conceituar os temas, artigos mais especializados do assunto surgirão na medida do possível. Sugestões, críticas e comentários sempre serão bem vindos!

Próximo artigo: APIs, mashups que geram novos serviços.

Referências Cibliográficas.

What Is Web Service?
http://www.codeproject.com/KB/XML/Defining_Web_Services.aspx

Understanding Web Services.
http://www.alistapart.com/articles/webservices

Introduction to Web Services.
http://www.w3schools.com/webservices/ws_intro.asp

Secure, Reliable, Transacted Web Services.
http://www.ibm.com/developerworks/webservices/library/ws-securtrans

Be Sociable, Share!

Participa! Comenta...