Posted by Lena Herrmann Wed, 27 Oct 2010 14:02:00 GMT

I’m happy to announce the immediate availability of my thesis! It was handed in in July 2010 as my diplom thesis in the academic program of Media Informatics at Beuth Hochschule für Technik Berlin (University of Applied Sciences). A German Diplom is comparable to a combined bachelor’s and master’s degree. Originally it has been written in German, so I’m very happy it’s also available for English speaking readers now: thanks a lot to the awesome Sander Van de Moortel for translating it into English, and to CouchOne for sponsoring the translation. Read also my thank you notes for more gratefulness.

I hope the thesis is an interesting read and useful for your research or development!

Contents

The title is “Implementation of a distributed application using the document-oriented database CouchDB — An outliner as a replicable distributed system” (originally “Umsetzung einer verteilten Anwendung mit der dokumentenorientierten Datenbank — CouchDB Ein Gliederungseditor als replizierbares Verteiltes System”).

What is it about? I wrote a couple of words about that for the Upstream blog. Here is also the abstract — all the contents in ten sentences:

Modern web browsers and mobile devices are capable of running complex applications that allow collaboration and data exchange between their users. Laptops and mobile phones, however, cannot be expected to keep their internet connections alive at all times. This problem can be sidestepped using data replication, which means that data are regularly synchronised and kept consistent. This thesis describes the drafting and prototypical development of a JavaScript application that uses the document-oriented database CouchDB to form distributed outliner software. Outliners can be used to record thoughts or concepts in a hierarchically structured manner. Apart from categorising the system to be developed and analysing possible approaches, the thesis will also examine the technologies used. Special focus lies on CouchDB with its built-in master-master replication and its ability to implement complex applications without the use of middleware. The final application runs locally in the browser and is therefore also usable when off-line. Conflicts are resolved when the system is synchronised, sometimes steered by user input. The thesis also evaluates the applicability of CouchDB in distributed applications with particular regard to the use case at hand.

Download

BibTeX

In case you want to quote me in your paper/thesis/homework, here’s the BibTeX entry:

@mastersthesis{herrmann:couchdb,
  author = {Lena Herrmann},
  title = {Realisation of a Distributed Application Using the Document-Oriented Database CouchDB - An Outliner as a Replicable Distributed System},
  school = {University of Applied Sciences Berlin},
  year = {2010},
  month = {July}
}

@mastersthesis{herrmann:couchdb,
  author = {Lena Herrmann},
  title = {Umsetzung einer verteilten Anwendung mit der dokumentenorientierten Datenbank CouchDB - Ein Gliederungseditor als replizierbares Verteiltes System},
  school = {Beuth Hochschule für Technik Berlin},
  year = {2010},
  month = {Juli}
}

The Application

The hands-on part is an outliner that allows people to collaborate on documents even when they don’t have continuous internet access. If you want to read/clone/try out/improve/take apart/whatever the source code, it’s here on github. The github README contains installation and usage instructions, for more details read chapter 9, “Application”, in the thesis.

You can also try out the outliner online. Though, in order to enjoy the replication and conflict resolution features, you have to (also) install it locally. But it’s a couchapp - when you have CouchDB running you’re almost there already.

I hope you all like it!

9 comments |

Trackbacks

Use the following link to trackback from your own site:
http://lenaherrmann.net/trackbacks?article_id=19

Comments

Leave a comment

  1. Avatar
    Astro
    about 1 hour later:

    The version of Erlang is more likely R12/R13/R14. 5.6.5 seems to be the version of the ERTS.

  2. Avatar
    PHPGangsta
    about 2 hours later:

    Interessante Arbeit, Danke für die Publizierung!

    In deinem BibText ist irgendwie deutsch und englisch gemischt (deutscher Titel + englischer Schulname + englischer Monat, bzw. englischer Titel + deutscher Schulname + deutscher Monat).

  3. Avatar
    Lena
    about 4 hours later:

    @Astro Thank you. It probably won’t be a problem in the wild.

    @PHPGangsta Danke, hab’s gefixt!

  4. Avatar
    Bernd
    about 6 hours later:

    Da bin ich ja mal gespannt. Arbeite auch gerade ein einer App mit CouchDB. Danke für’s Publizieren.

  5. Avatar
    Christoph
    about 8 hours later:

    Super Sache! Eine ganz kleine Sache zu dem BibTex würde ich aber gern noch anmerken.. Ich glaube, dass ‘University of Applied Sciences Berlin’ ist nicht ganz eindeutig ist. Sowohl Beuth Hochschule als auch HTW benutzen diesen Titel als englische Bezeichnung. ;) Aber gut, spätestens in der Arbeit steht es ja dann nochmal. Die Arbeit werde ich mir mal bei Gelegenheit anschauen. Interessant ist das Thema allemal!

  6. Avatar
    Martin
    about 17 hours later:

    Denis und ich danken dir nochmal herzlich für die interessante Präsentation und gratulieren zur Veröffentlichung deiner Arbeit! Ich freue mich schon darauf, sie zu lesen.

  7. Avatar
    bovi
    3 days later:

    Großartige Arbeit und Glückwunsch!

  8. Avatar
    paul leger
    about 1 month later:

    Hi, I tried to download your document (in English), but it seems to be corrupt.

    I am very interested to use your code/application to detect possible bugs related to causality of events (eg. deadlocks).

    Thank in advance!

  9. Avatar
    Lena
    about 1 month later:

    Hey Paul, downloading the english document works fine for me. Here is another link: http://dl.dropbox.com/u/2940774/Lena_Herrmann_CouchDB_thesis.pdf - I hope this one works for you!

Leave a comment