De flesta tycker om Google som "bara" ett sökföretag, men de senaste åren har det börjat tillhandahålla gratis versioner av program som tidigare endast var tillgängliga som fristående skrivbordsprogram.

Antalet personer som använder Google för e-post, schemaläggning, ordbehandling och skapande av kalkylblad ökar ständigt, men webbplatser är bara en väg att komma åt alla dessa applikationer.

Bakom kulisserna är det mesta av vad som är tillgängligt från Google via webbsidor också tillgängligt via programmering.

Vad är webbtjänster?

Webb tjänster är relaterade till mycket enkla webbplatser - webbplatser som är avsedda att användas av datorer istället för människor.

Tänk dig att du skriver ett manus som kallar en webbtjänst. Skriptet gör en "förfrågan" till tjänsten genom att skicka information (vanligtvis i XML) till en webbadress. Tjänsten svarar vanligtvis med viss XML-text istället för att returnera en HTML-webbsida.

En sökmotor kan till exempel tillåta dig att skicka några söktermer och svara på dem med en XML-fil som listar namn och platser på webbsidor som matchar dina kriterier.

Det är ett enkelt fall, men eftersom webbplatser har blivit mer kraftfulla och liknar stationära applikationer, har webbtjänster börjat erbjuda en längre lista över funktioner. De har vuxit till den punkten att många av dem nu tjänar en liknande funktion till den roll som makro språk som VBA en gång tjänstgjorde i Microsoft Office och andra produkter.

Anslutande tjänster

Exemplet ansökan vi ska bygga här kopplar samman två olika uppsättningar av webbtjänster tillsammans. En är från BBC, den andra från Google.

BBC erbjuder mycket av sin noteringsinformation gratis via webbtjänster. Om du har ett TV-kort i datorn som automatiskt kan hämta programinformation kan det vara bra att använda en av dessa BBC-tjänster.

Google avslöjar nästan allt det gör som webbtjänster. Det är en del av planen att bli behållaren för all information på planeten, och Google har skarpt givet användarna så mycket åtkomst som möjligt till de data och applikationer som den är värd för.

Genom att ansluta dessa två webbtjänster kan vi lösa ett hypotetiskt problem: du vill titta på dokumentärer om landsbygden, men när du slår på TVn kan du inte hitta vad du vill och sluta titta på något annat. Detta TV-planeringsprojekt slutar detta hända.

Du kan filtrera BBC: s listor för bara de saker du vill ha och sedan lägga till en händelse för varje program i Google Kalender för att påminna dig när du vill ställa in för programmen.

Backstage pass

Den första uppsättningen webbtjänster vi tittar på körs på BBC: s Backstage-webbplats. Detta är ett experimentellt system som lanserades för tre år sedan, och det ger en hel del BBC-data tillgängliga i hopp om att människor kommer fram med intressanta och innovativa sätt att använda det. All dokumentation för Backstage webbtjänster finns här: www.tinyurl.com/2af4vw.

Skriptet som hanterar BBC-tjänsten heter "bbc_progs.rb". Även om det finns gott om tjänster som erbjuds, kommer vi bara att använda tre av dem. Först och främst kallar vi "bbc.genre.getMembers". Om du skickar den här tjänsten koden för en viss genre av program (t.ex. dokumentärer) returnerar den en XML-beskrivning av alla program av den typen som för närvarande är upptagen i sin databas.

Därefter kommer vi att ringa "bbc.programme.getLocations". Detta returnerar en uppsättning adresser där du kan titta på eller lyssna på programmet på webben. I själva verket fungerar de adresser som returneras inte alltid - de flesta av radiolänkarna är bra, men de flesta tv-länkarna är felaktiga. Det verkar troligt att över tiden kommer fler TV att bli streamade på webben, så vi registrerar dem här just i fallet.