Presentation is loading. Please wait.

Presentation is loading. Please wait.

Designing Web Applications Thaddeus Diamond CPSC 112.

Similar presentations


Presentation on theme: "Designing Web Applications Thaddeus Diamond CPSC 112."— Presentation transcript:

1 Designing Web Applications Thaddeus Diamond CPSC 112

2 The Social Network Great Movie Not so great at depicting website-making We will not make Facebook… today

3 What You See When You Look at Facebook A page Some information Dynamic Links to other pages Pretty pictures

4 You FB Server FB Server Data Layer Data Layer HTTP Request Hive/MapReduce JavaScript Engine JavaScript Engine HTML, JS, CSS Scripts XMLHttpRequest JSON Raw Facebook’s Actual Architecture (BIGPIPE) Inspired by parallel processor execution Years of development PhD-Level Architecture Facebook’s Actual Architecture (BIGPIPE) Inspired by parallel processor execution Years of development PhD-Level Architecture

5 And That’s Just the Beginning… BIGPIPE Hive/Hadoop Mobile infrastructure API and JavaScript SDK HipHop for PHP Scribe Logging …

6 Don’t Be Discouraged! All good websites start somewhere Rome wasn’t built in a day Take more Computer Science classes! Hey, if a Harvard kid can make Facebook…

7 Google App Engine Fast, scalable web deployment service Abstracts data layer, server environment, away Applications can be written in Python or Java(!) Many powerful APIs, extensions, examples Well-documented

8 How it Works (An Overview) Servers Virtual Machine Virtual Machine Virtual Machine Virtual Machine Operating System Network Interface Datastore Operating Sandbox Application Code (Python, Java) Application Code (Python, Java) Memory

9 Our Basic Architecture Clients GET (Address Bar) POST (Submitted form data) Servlet 1 (JAVA) Servlet 1 (JAVA) Servlet 2 (JAVA) Servlet 2 (JAVA) Servlet 3 (JAVA) Servlet 3 (JAVA) Template 1 (HTML/CS S) Template 1 (HTML/CS S) Template 2 (HTML/CS S) Template 2 (HTML/CS S) Template 3 (HTML/CS S) Template 3 (HTML/CS S)

10 The Next Big Google App! Let’s build a group note repository People will be able to go to the site and see what notes have been posted People will be able to create their own and edit anyone’s Only an administrator can delete a note

11 Lab Part 2…? Add the ability to specify which class and sort by class Add the ability to specify school and sort by school Add the ability to do rich text editing Add the ability to log in …?


Download ppt "Designing Web Applications Thaddeus Diamond CPSC 112."

Similar presentations


Ads by Google