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 precednti 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)
- 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.
- Creare la struttura per la mappa – copiando e incollando il codice di esempio di Google Maps comprensivo dei tag che richiama il servizio Maps, in cui va inserita la vostra key, oltre ad alcuni elementi JavaScript di esempio.
- Individuare le coordinate - Google Maps non prevede funzioni per specifiche locazioni, quindi determinare longitudine e latitudine del punto tramite un GPS o scaricando e utilizzando Google Earth impostando su coordinate decimali. Troverete il pòunto e segnate le coordinate.
- Tracciare i punti - modificare il modello JavaScript sostituendo i due numeri in "GPoint" con la longitudine e latitudine del vostro punto.
- Creare il Marker - anche se la mappa è centrata sull avostra locazione, non c'è ancora l'indicatore del punto preciso, allora convertiamo il nostro GPoint in una variabile, creandone una "marker" e invocare la funzione "map.addOverlay"
- Etichettare il Marker - ora basta invocare la funzione "marker.openinfoWindowHtml", passandole il contenuto HTML dell'etichetta come argomento.
- Possiamo anche incapsulare il tutto in una funzione di gestione eventi, in modo che l'etichetta appaia solo quando il visitatore clicca sul marker.
Buon API a tutti !
Autore: Stefano Martini
Technorati tag: Siti web, Web 2.0, API, Google, Ajax, Flickr, Yahoo, Technology, Blog, Programming