Atualizado em 16.8.2008
 
Projetos web:
Contextos de projetos web

Serviços web (web services)

A expressão "serviços web" ("web services") surgiu por volta de 1999, para descrever um conjunto de especificações projetadas para tornar comunicáveis entre si, através dos protocolos da Internet, programas antes incompatíveis.

Serviços web consistem de processos de negócios online realizados por aplicativos (ou componentes de software) compartilhados entre empresas, ou entre empresas e pessoas, sem interferência humana direta.

-> Exemplos: a transmissão de uma ordem de compra, a comunicação de despacho de uma carga, a descrição de um produto para venda.

Grandes empresas como IBM, Microsoft e outras, como a BEA Systems, concordaram em dar suporte às especificações de comunicações entre programas e dispositivos, através da integração dos seus sistemas ao invés do desenvolvimento de soluções semelhantes com abordagens divergentes, como era tradicional.

Estas e outras empresas pioneiras na adoção destas tecnologias puderam convencer seus inúmeros parceiros a participar dos seus processos de comunicação entre sistemas.

-> Amazon e eBay, por exemplo, aplicaram serviços web baseados em seus próprios standards para abrir sua infraestrutura de tecnologia da informação, permitindo a conexão aos seus sistemas por uma grande rede de pequenos varejistas.

Integração entre plataformas e sistemas

Para funcionar integrados, de forma flexível e dinâmica, os serviços web precisam compartilhar descrições e princípios organizacionais estabelecidos via Arquitetura Orientada a Serviços (Service-oriented Architecture - SOA), que propicia não só a sua localização (através de taxonomias baseadas no que o serviço faz e como pode ser acionado por outro) como a automação do seu uso.

A compatibilidade entre os dados que os serviços web catalizam permite a integração entre aplicativos de diferentes empresas em relação ao modo como processam estes dados e realizam processos de negócios.

-> Por exemplo: Se um aplicativo que armazena datas no formato DD/MM/AAAA e as aplica no início das ordens de compra precisa realizar processos conjuntos com outro aplicativo, este não pode armazenar datas no formato MM/DD/AAAA e aplicá-las no final das ordem de compra.

Se o formato dos dados e suas coordenadas são incompatíveis, a realização dos processos comuns aos dois programas fica inviabilizada.

A compatibilidade entre os dados produzidos por diferentes sistemas como ERP, arquivos de pedidos, avisos de pagamento e notas fiscais, permite que se dispense o uso dos programas ou sistemas hoje usados para a sua integração.

Estrutura dos serviços

Os serviços web normalmente constam de:

Um provedor, que publica a oferta de seus serviços e responde aos pedidos pelo seu uso.

Um agenciador, que registra e categoriza os provedores e oferece serviços de busca.

Um solicitante, que busca os serviços junto e se conecta ao provedor para utilizar o serviço.

A descrição do serviço (em formato XML) é publicada pelo provedor, categorizada pelo agenciador e solicitada pelo solicitante. Fornece as informações institucionais sobre o provedor, as referências semânticas de cada serviço e as chamadas à sua API ("application programming interfaces").

Este formato de descrição permite que o serviço seja legível por seres humanos e também reconhecível por ferramentas de busca e outros serviços automatizados.

As descrições de serviços em XML informam aos solicitadores se estes serviços oferecem o que procuram e aos agenciadores como categorizá-los.

As empresas desenvolvedoras, num esforço para fazer com estas especificações fiquem tão confiáveis quanto os sistemas mais antigos, porém mais flexíveis, vêm criando extensões suplementares para seus aplicativos e sistemas.

IBM, Microsoft, BEA Systems, Oracle e outros desenvolvedores criaram também especificações para aumentar a segurança, a confiabilidade e outros recursos sobre os protocolos dos serviços web básicos, como:

UDDI (Universal Description, Discovery and Integration - para a publicação e pesquisa de serviços).

SOAP (Simple Object Access Protocol - protocolo para a comunicação entre aplicativos remotos).

WSDL (web Services Description Language - linguagem para a descrição das propriedades dos serviços).

Oportunidades

Diversas companhias que realizam negócios online abriram o acesso a APIs para estimular o desenvolvimento, em sites de parceiros, de programas que utilizem serviços de acordo com as suas especificações.

Exemplos:
-> Com o auxílio dos recursos do Google Maps, sites como HousingMaps.com podem mostrar a localização precisa de imóveis à venda.

-> Estes mapas também auxiliam sites que localizam endereços de cidades (exemplo: MapLink, do UOL), sites que noticiam as condições de tráfego em cidades, mostrando os locais específicos dos congestionamentos, e sites de notícias, que podem situar a localização dos acontecimentos citados em seus textos (exemplo: http://www.chicagocrime.org/).

-> A Amazon.com publica suas APIs de serviços web para que empresas parceiras possam vender produtos através do seu web site. Através do chamado "Amazon Flexible Payment Service", permite que varejistas aluguem o sistema de pagamentos da empresa e o adaptem ao seus contextos específicos.

O BookBurro, por exemplo, disponibiliza a comparação de preços de livros. E a FreshBooks, usa o sistema para emitir ordens de pagamento e acompanhar entregas de produtos de empresas de varejo.

-> A eBay já deve cerca de 20% do seu faturamento a programas criados por mais de 15.ooo parceiros para automatizar os processos de realização de leilões.

-> Flickr, que foi adquirido pelo Yahoo em março/05, permite que os clientes procurem fotos baseados em índices especiais ou que recebam avisos quando uma página à qual assinam é atualizada.

-> 43Things estimula desenvolvedores a personalizar seu serviço de criação de redes sociais

Cada provedor, como o Google no caso do Google Maps, especifica que serviços provê, como equilibra aspectos como segurança e permissão de acesso, como estabelece o seu valor.

O provedor decide também os critérios para a classificação destes serviços e os requisitos de negócios para a sua utilização.

Serviços web também podem ser aplicados na integração de diversos sistemas e fontes de informação dos portais corporativos.

Considerando cada sistema interno como um serviço, o portal pode orientar diferentes conteúdos e funcionalidades entre si sem precisar recorrer a conectores proprietários.

O uso desta tecnologia pode reduzir os custos, os prazos e a complexidade da integração de aplicativos corporativos (EAI - Enterprise Application Integration), de forma que diferentes sistemas operem entre si através do uso de standards abertos.

Esta compatibilidade permite uma certa independência em relação a alguns vendedores de programas, mas ainda está sujeita a considerações sobre a segurança e as políticas internas das organizações.

Cabe a cada organização ou conjunto de organizações e indústrias, verificar a disponibilidade de serviços existentes e escolher entre adaptá-los às suas necessidades de negócios ou desenvolver suas próprias soluções.


Assuntos relacionados
XHTML : Inclui aplicações gramaticais que preparam a transição da web para XML
Web semântica
RDF (Resource Description Framework)
Contextos de projetos web: Portais do conhecimento (ou portal corporativo, de acordo com o projeto)

Referências bibliográficas (Contextos de projeto web)
Understanding Enterprise SOA: SOA for enterprise application integration (WebReference, acesso em 8.1.2006)

Mais informação sobre o assunto (links externos)
Amazon web services offers satisfying fulfillment (WebProNews, acesso em 16.8.2008)
Google, Yahoo offer peek at mapping code (News.com, acesso em 1.7.2005)
eBay launches developer web site (ZNet, acesso em 22.6.2005)
eBay Developer Program (Developer, acesso em 24.6.2005)
Amazon.com: web services (Amazon, acesso em 24.6.2005)
Google courts open-source developers (ZNet, acesso em 22.6.2005)
Google Code (Google Code, acesso em 22.6.2005)
Develop your own applications using Google (Goggle Code APIs, acesso em 24.6.2005)