La maggior parte delle persone pensa che Google sia semplicemente una società di ricerca, ma negli ultimi anni ha iniziato a fornire versioni gratuite di applicazioni che in precedenza erano disponibili solo come programmi desktop autonomi.

Il numero di persone che utilizzano Google per la posta elettronica, la pianificazione, l'elaborazione di testi e la creazione di fogli di lavoro è in costante aumento, ma i siti Web rappresentano solo un modo per accedere a tutte queste applicazioni.

Dietro le quinte, la maggior parte di ciò che è disponibile da Google attraverso le pagine web è disponibile anche tramite programmazione.

Cosa sono i servizi web?

I servizi Web sono simili a siti Web molto semplici, ovvero siti progettati per essere utilizzati dai computer anziché dagli umani.

Immagina di scrivere uno script che chiama un servizio web. Lo script effettua una "richiesta" al servizio inviando informazioni (di solito in XML) a un indirizzo web. Il servizio di solito risponde con un testo XML invece di restituire una pagina Web HTML.

Ad esempio, un motore di ricerca potrebbe consentirti di inviare alcuni termini di ricerca e rispondere a quelli con un file XML che elenca i nomi e le posizioni delle pagine web che corrispondono ai tuoi criteri.

Questo è un caso semplice, ma man mano che i siti web sono diventati più potenti e simili alle applicazioni desktop, i servizi Web hanno iniziato a offrire un elenco più lungo di funzionalità. Sono cresciuti al punto che molti di loro ora stanno svolgendo una funzione simile ai linguaggi macro di ruolo come VBA, una volta offerti in Microsoft Office e altri prodotti.

Servizi di connessione

L'applicazione di esempio che stiamo per costruire qui collega due diversi set di servizi Web insieme. Uno è della BBC, l'altro di Google.

La BBC offre molte delle sue informazioni sulla quotazione gratuitamente tramite i servizi web. Se nel PC è presente una scheda TV in grado di rilevare automaticamente i dettagli del programma, è possibile che si stia utilizzando uno di questi servizi BBC.

Google espone quasi tutto ciò che fa come servizi web. Fa parte del suo piano diventare il contenitore di tutte le informazioni sul pianeta e Google ha abilmente fornito agli utenti il ​​massimo accesso possibile ai dati e alle applicazioni che ospita.

Collegando questi due servizi Web, siamo in grado di risolvere un problema ipotetico: si desidera guardare documentari sulla campagna, ma ogni volta che si accende la TV, non si riesce a trovare ciò che si desidera e si finisce per guardare qualcos'altro. Questo progetto di programmazione TV impedisce che ciò accada.

Puoi filtrare le inserzioni della BBC solo per le cose che desideri, quindi pubblicare un evento per ogni programma su Google Calendar per ricordarti quando sintonizzarti per gli spettacoli.

Pass per il backstage

Il primo set di servizi Web che esamineremo viene eseguito sul sito Web della Backstage della BBC. Questo è un sistema sperimentale che è stato lanciato tre anni fa, e rende disponibili molti dati della BBC nella speranza che le persone escano con modi interessanti e innovativi di usarlo. Tutta la documentazione per i servizi Web di Backstage può essere trovata qui: www.tinyurl.com/2af4vw.

Lo script che gestisce il servizio BBC si chiama 'bbc_progs.rb'. Sebbene ci siano molti servizi in offerta, ne useremo solo tre. Prima di tutto, chiameremo "bbc.genre.getMembers". Se si invia questo servizio al codice per un particolare genere di programma (come i documentari), restituisce una descrizione XML di tutti i programmi di quel tipo attualmente elencati nel suo database.

Successivamente, chiameremo "bbc.programme.getLocations". Questo restituisce un insieme di indirizzi in cui è possibile guardare o ascoltare il programma sul web. In realtà, gli indirizzi restituiti non funzionano sempre - la maggior parte dei collegamenti radio va bene, ma la maggior parte dei collegamenti TV è sbagliata. Sembra probabile che, nel tempo, più TV sarà trasmessa in streaming sul web, quindi li registreremo qui per ogni evenienza.