Vi siete mai chiesti se è possibile realizzare un sito Web in grado di competere, per potenza e flessibilità, con Yahoo!, Google o Amazon? Con i Web services è possibile, utilizzando gli stessi dati che alimentano questi siti Web.

Abbiamo visto in precedenti post quali possono essere alcuni dei metodi attualmente utilizzati dai grandi nomi della Rete per erogare contenuti aggirando il browser, come ad esempio i servizi “mobile” o i feed RSS.

Molte di queste tecniche si possono facilmente integrare anche in un sito personale: aggiungere feed o una funzione di ricerca, infatti, molto spesso richiede appena di copiare e incollare una porzione di codice HTML.

Per produrre un sito Web all’altezza di quelli delle grandi aziende che operano sul Web, non è tuttavia sufficiente ricorrere a simili espedienti. Servizi come Yahoo!, Google e Amazon utilizzano estensivamente i “Web services“, un insieme di tecniche che consentono a più siti dinamici di interloquire tra loro tramite un set di istruzioni denominato “Application Programming Interface” (API in breve).

Utilizzare i Web services non è una faccenda semplicissima, e richiede una certa esperienza di programmazione, ma i risultati ottenibili ripagono senz’altro lo sforzo richiesto. La possibilità di richiedere dati customizzati, manipolarli e integrarli in maniera trasparente nelle proprie pagine sta trasformando il modo di progettare siti Web.

LE ORIGINI

Il concetto di Application Programmable Interface esiste da molto prima della nascita del Web. In sistemi operativi come Windows o Mac OS X, le API consentono di accedere in maniera veloce e unificata alle funzioni di base del sistema operativo e agli elementi dell’interfaccia. Senza le API, anche per effettuare la più semplice delle operazioni (salvare un file) occorrerebbe scrivere il relativo codice a mano. In pacchetti come Dreamweaver o Photoshop, le API consentono di sviluppare plug-in ed estensioni ad hoc.

La caratteristica principale di una API è l’astrazione, ovvero la possibilità di svincolarsi da uno specifico linguaggio di programmazione. Al contrario, i diversi linguaggi forniscono specifiche implementazioni della determinata API, traducendo il codice in maniera analoga a quanto fa un browser, che “converte” le istruzioni HTML in una pagina Web.

Alcune aziende custodiscono gelosamente i “segreti” delle proprie API, in quanto ciò consente loro di esercitare un forte controllo su chi le utilizza. Le API della PlayStation, ad esempio, sono disponibili solo agli sviluppatori licenziati, che pagano per il supporto e sono obbligati a firmare un accordo di non divulgazione. Esistono comunque moltissime API parzialmente o totalmente “open”, documentate e gratuite.

COME FUNZIONANO

I Web services come li conosciamo ora hanno iniziato a prendere forma alla fine degli anni novanta. Alcuni sviluppatori, come Dave Winer e Don Box, in collaborazione con Microsoft, definirono un metodo per consentire a siti e applicazioni desktop di comunicare tramite lo stesso protocollo HTTP su cui si basa il Web.

ESEMPIO: come utilizzare le API di Google Maps (mappe pesonalizzate)

  1. Richiedere una API key e digitate l’URL della pagina su cui volete visulaizzare la mappa. Ricordate che le key valgono per una singola cartella, quindi se la pagina è in una sottocartella del sito, inseritela nell’URL.
  2. Creare la struttura per la mappa – copiando e incollando il codice di esempio di Google Maps comprensivo dei tag