Jag vill varna känsliga läsare för att detta är ett ganska tekniskt inlägg som kort beskriver beståndsdelarna i kommande version av tjänsten Tågtider. Funderingar eller feedback mottar jag gärna via mail, Twitter, Facebook eller svarsformuläret nedan.
Tågtider 3 i molnet
Det som gör att Tågtider svarar med aktuell information när du använder skickar ett SMS eller använder någon applikation.
- Apache2 - Webbserver
- PHP5 - Scriptspråk
- cURL - Klient för att skicka och motta data
- Redis (med phpredis) - Primär datalagring i minnet med redundans till disk
- MySQL - Sekundär datalagring på disk.
Tågtiderbot spindlar trafikinformation
Det är i roboten som mycket av logiken (magin) är definierad för att tolka inkonsekvent data från Trafikverket om stationer, operatörer, förbindelser, tåg, trafikplatser, spår etc. Då Trafikverket inte följer enkla standarder för HTTP-protokollet är det omöjligt att veta när informationen uppdateras. Det gör att jag i blindo kontinuerligt söker efter förändringar i järnvägstrafiken. Tågtiderbot består av följande tre delar.
- Scheduler - Schemalägger och prioriterar nerladdningar
- Downloader - Flertrådad nerladdning av innehåll
- Parser - Läser, tolkar och relaterar informationen.
Tågtider API 2 med realtidsströmmar
Första versionen av Tågtider API mottogs med öppna armar av en mängd utvecklare som skapat applikationer för bland annat Android, Windows Phone 7 och iPhone. Alla hurrarop och förfrågningar ger mig energi att utveckla tjänsten till något mycket bättre med tekniken nämnd ovan. Nästa version av Tågtider API omfattar bland annat:
- Helt öppna metodanrop för aktuella tidtabeller
- Klientautentisering för applikationer via oAuth2
- Realtidsuppdateringar via PubSubHubbub, SMS (via Cellsynt), C2DM och APNS
- Tillgång till historisk data.
För att kommentera det här inlägget, skriv en tweet.