torsdag 19 februari 2009

10gen - en aldeles egen Google App Engine



Jag har följt 10gen projektet en längre tid. Det är intressant på många olika sätt. Det mest framträdande med det är att det till stor del fungerar som Google App Engine, d.v.s. det är en applikationsserver som låter dig skriva applikationer i ett modernt programmeringsspråk utan att behöva hantera otäcka detaljer.

Men det är mer än så. Där GAE endast stöder Python, stöder 10gen Python, Ruby och SSJS (Server-Side JavaScript). Där GAE är helt beroende av Google's infrastruktur för sitt datalager, öljer 10gen's hela datalagerimplementatio med i paketet (om man vill) färdig att driftas på vilken maskin som helst.

Fast det bästa är nog att både applikationsservern och datalagret är Gnu AGPL, open source så det svänger om det.

Men det finns ännu mer i paketet. 10gen har alltså en applikationsserver, den kallas Babble, som inkluderar captcha tjänster, Django stöd, och mycket annat. Utanför den finns en load-balancing demon som kallas lb, och tillsammans med datalagret Mongo, skapas en helt gratis service-stack som heter duga.

Kika till exempel på hur man gör för att skapa ett objekt som man sedan sparar i datalagret (i SSJS);


var j = { name: "mongo"};
db.things.save(j);


Det är allt. När jag börjar referera till db.xxx, så skapas (om det inte fins) en 'tabell' med xxx objekt. Eller det skapas en 'tabell' med objekt,
typer är ju som bekant oftast i vägen (enligt Amazon, i vilket fall). Känns lite mer hanterbart än Hibernate, eller?

Utvecklarna sitter i New York, men är väldigt närvarande, både på IRC och i mailing-listorna. Vl värt att kika på, om ni är nyfikna på Google App Engine,
men inte vill använda Python, eller tycker Python är OK men vill/måste kontrollera och äga tillgång till data.

Mvh,
PS

Inga kommentarer:

Skicka en kommentar