Blogs (9) >>
SPLASH 2016
Sun 30 October - Fri 4 November 2016 Amsterdam, Netherlands
Wed 2 Nov 2016 13:30 - 14:20 at Matterhorn 3 - Session 8 Chair(s): Ulrik Pagh Schultz

In this demo we will build a scalable social network application from the ground-up in 45 minutes. By scalable we mean that our social network needs to scale beyond the capabilities of a relational database, and perform well regardless of the data size. Traditional Web frameworks such as Ruby-on-Rails or Django that are built around relational databases and object-relational mappings do not provide such scalability out of the box. At the absence of framework support, developers often resort to writing imperative code for accessing a database (e.g., a NoSQL database) and for denormalizing the data (creating redundant data that is stored according to query patterns).

To achieve our goal of creating a scalable application in 45 minutes we turn to a declarative approach to Web applications. In our approach, the application’s logic is represented as a set of declarative rules, written in the Turing-complete language Cloudlog. These rules are stored in the database alongside user data. Rules can be applied at either query time or at update time. The latter kind provides a declarative way to express denormalization.

With logic expressed declaratively, an application is defined, not implemented. This allows robust applications to be built fast. We will demonstrate the creation of such an application using nothing but (open source) declarative languages: Cloudlog with Cedalion on the server side, and HTML with AngularJS directives on the client side.

Wed 2 Nov

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 15:10
Session 8SPLASH-I at Matterhorn 3
Chair(s): Ulrik Pagh Schultz University of Southern Denmark
13:30
50m
Talk
Define Your App, Don’t Implement It: Building a Scalable Social Network in 45 minutes
SPLASH-I
Boaz Rosenan University of Haifa, David H. Lorenz Open University and Technion IIT
14:20
50m
Talk
The basic skill set of software language engineering
SPLASH-I
Ralf Laemmel University of Koblenz-Landau, Germany
Media Attached