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)