De fleste tenker på Google som "bare" et søkeselskap, men de siste årene har det begynt å gi gratis versjoner av programmer som tidligere kun var tilgjengelige som frittstående skrivebordsprogrammer.

Antall personer som bruker Google for e-post, planlegging, tekstbehandling og opprett regneark øker stadig, men nettsteder er bare en måte å få tilgang til alle disse programmene.

Bak kulissene er det meste av det som er tilgjengelig fra Google via nettsider, også tilgjengelig via programmering.

Hva er webtjenester?

Webtjenester ligner svært enkle nettsteder - nettsteder som er laget for bruk av datamaskiner i stedet for mennesker.

Tenk deg at du skriver et skript som kaller en webtjeneste. Skriptet gjør en "forespørsel" til tjenesten ved å sende informasjon (vanligvis i XML) til en webadresse. Tjenesten svarer vanligvis med noen XML-tekst i stedet for å returnere en HTML-webside.

For eksempel kan en søkemotor tillate deg å sende det noen søkeord og svare på de med en XML-fil som viser navnene og plasseringene til websider som samsvarer med kriteriene dine..

Det er et enkelt tilfelle, men siden nettsteder har vokst kraftigere og ligner på desktop-applikasjoner, har webtjenester begynt å tilby en lengre liste over funksjoner. De har vokst til det punktet at mange av dem nå betjener en lignende funksjon til rollen som makro språk som VBA en gang servert i Microsoft Office og andre produkter.

Koble til tjenester

Eksempelprogrammet vi skal bygge her knytter sammen to forskjellige sett med webtjenester sammen. Den ene er fra BBC, den andre fra Google.

BBC tilbyr mye av noteringsinformasjonen gratis via webtjenester. Hvis du har et TV-kort på din PC som automatisk kan hente programdetaljer, kan det hende at du bruker en av disse BBC-tjenestene.

Google avslører nesten alt det gjør som webtjenester. Det er en del av planen om å bli beholder for all informasjon på planeten, og Google har skarpt gitt brukerne så mye tilgang som mulig til dataene og programmene det er vert for.

Ved å koble disse to webtjenestene, kan vi løse et hypotetisk problem: du vil se dokumentarfilmer om landet, men når du slår på TVen, kan du ikke finne det du vil ha og ende opp med å se noe annet. Dette TV-planleggingsprosjektet forhindrer dette.

Du kan filtrere BBCs oppføringer for bare de tingene du vil ha, og deretter legge inn en hendelse for hvert program i Google Kalender for å minne deg om når du skal stille inn for forestillingene.

Backstage pass

Det første settet med webtjenester vi skal se på, går på BBCs Backstage-nettsted. Dette er et eksperimentelt system som ble lansert for tre år siden, og det gir mange BBC-data tilgjengelig i håp om at folk kommer opp med interessante og innovative måter å bruke den på. All dokumentasjon for Backstage-webtjenestene finner du her: www.tinyurl.com/2af4vw.

Skriptet som håndterer BBC-tjenesten kalles 'bbc_progs.rb'. Selv om det er mange tjenester som tilbys, skal vi bare bruke tre av dem. Først av alt, vi kaller 'bbc.genre.getMembers'. Hvis du sender denne tjenesten koden for en bestemt sjanger av program (som dokumentarfilmer), returnerer den en XML-beskrivelse av alle programmer av den typen som er oppført på databasen.

Deretter skal vi ringe "bbc.programme.getLocations". Dette returnerer et sett med adresser hvor du kan se på eller lytte til programmet på nettet. I virkeligheten fungerer adressene som returneres ikke alltid - de fleste av radiolinkene er fine, men flertallet av TV-koblingene er feil. Det virker sannsynlig at over tid vil flere TV bli streamet på nettet, så vi registrerer dem her, bare i tilfelle.