Fork me on GitHub

Technologies

We decieded to give several new technologies an honest try for implementing our platform. Thanks to the recent developments towards Cloud Computing and web-centric Computing, new technologies are emerging with a special focus on massive scalability and web applicability.

node.js

Node.js is an evented I/O framework for JavaScript and allows to implement very performant network applications for heavy-load scenarios. Implemented on top of the Google V8 JavaScript engine, it compiles JavaScript code to native machine code before execution. The main concept of node.js is a single-threaded, asynchronous event loop which implies a heavy use of callback routines, but enforces non-blocking operations and thus optimizes utilization.

CouchDB

CouchDB is a non-relational, document-oriented database released as open source by the Apache Software Foundation. It stores JSON structs as documents without any fix schema for rows or columns. Data can be accessed via a RESTful HTTP API. Queries can be executed using views, MapReduce-based functions that aggregate and filter documents. CouchDB supports easy bidirectional replication between distributed instances.

PubSubHubbub

PubSubHubbub is an open protocol for distributed publish/subscribe communication over HTTP. It allows to enrich Atom or RSS feeds with a hub reference. Clients can register themselves as subscribers at this hub and register their interest in the given feed. Everytime the feed is updated, the publisher sends a short ping
to the hub, which then downloads the feed and calculates a delta to the previous feed content. New entries are then aggregated into an update feed and sent to all registerd subscribers. Thus PubSubHubbub bypasses the client/server restrictions by introducing a three-pieced infrastructure of communicating nodes, that are both client and server. The design ensures scalability through the intermediate hub nodes, which take load off the original publisher and prevent thundering herds at the original publisher.

vaadin

Vaadin is an open source Java-based framework for Rich Web Applications built on top of Google Web Toolkit. Unlike similar frameworks, it provides a full server-side application environment and minimizes the effort to deal with client-side code.

(comments disabled)