Define Your App, Don’t Implement It: Building a Scalable Social Network in 45 minutes
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 NovDisplayed 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
|Define Your App, Don’t Implement It: Building a Scalable Social Network in 45 minutes|
Boaz Rosenan University of Haifa, David H. Lorenz Open University and Technion IIT
|The basic skill set of software language engineering|
Ralf Laemmel University of Koblenz-Landau, GermanyMedia Attached