Como funcionam as APIs

Uma API de conferência - ou aliás qualquer outra API - permite que um aplicativo se comunique com um segundo aplicativo em local remoto por meio de uma série de chamados via Internet [fonte: TConsult, Inc.]. Uma API é, por definição, uma interface, algo que define a maneira pela qual duas entidades se comunicam [fonte: Thom Robbins.net Weblog].

Com as APIs, o intercâmbio de informações entre os aplicativos é administrado por meio de algo conhecido como serviços de Web. Os serviços de Web representam uma coleção de padrões e protocolos tecnológicos, entre os quais a XML (Extensible Markup Language), linguagem de programação por intermédio da qual os aplicativos se comunicam na Internet.

google maps
Imagem cortesia do Google
O Google Maps é um exemplo de API

A API em si é um conjunto de códigos de software escritos em forma de uma série de mensagens em XML. Cada mensagem corresponde a uma diferença função do serviço remoto. Por exemplo, em uma API de conferência existem mensagens de XML correspondentes a cada elemento requerido para marcar uma nova conferência via Web. Esses elementos incluem o horário da conferência, o nome do organizador e suas informações de contato, as pessoas convidadas para a conferência, a duração do encontro, etc.

Exatamente de que maneira um criador de software pode explorar uma API de conferência para outros fins? Ele programa softwares novos ou existentes a fim de gerar as mensagens corretas de XML, que lhe permitirão aproveitar os recursos dos aplicativos remotos. Vamos usar a marcação de horário de uma conferência como exemplo. Com o código correto, ele poderia enquadrar uma função que permite marcar conferências ao sistema existente de e-mail de uma empresa. Ou poderia desenvolver um sistema de mensagens instantâneas completamente novo que oferece acesso a conferências de áudio com um clique só.

As empresas que abrem suas APIs freqüentemente o fazem no contexto de um kit de desenvolvimento de software (SDK) mais amplo, que inclui a API, ferramentas de programação e outros documentos de instrução cujo objetivo é facilitar o trabalho dos criadores de software.

As APIs e os serviços de Web operam de maneira completamente invisível para os internautas que visitam os sites e para os usuários dos softwares. As funções delas são realizadas silenciosamente, nos bastidores, e permitem que aplicativos cooperem mutuamente e que o usuário obtenha a informação ou tenha acesso ao recurso que deseja.

Além da XML, os seguintes padrões, protocolos e linguagens de programação do setor de tecnologia estão envolvidos no funcionamento dos serviços de Web:

  • SOAP (Simple Object Access Protocol): o SOAP responde pela codificação de mensagens em XML de maneira que elas possam ser recebidas e compreendidas por um sistema operacional sob qualquer tipo de protocolo de rede;
  • UDDI (Universal Description, Discovery and Integration): descrita como "as páginas amarelas da Internet", a UDDI é uma lista em formato XML que permite que empresas se inscrevam no guia, localizem umas às outras e colaborem por meio de serviços de Web;
  • WSDL (Web Services Description Language): a WDSL serve como SOAP para a UDDI (chega de siglas?) Em termos básicos, a WDSL é uma linguagem baseada em XML que as empresas empregam para descrever seus serviços na UDDI [fonte: Search SOA.com].

Agora vamos observar alguns exemplos de como os criadores de software e empresas podem expandir o uso de uma API de conferência.