• No results found

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

N/A
N/A
Protected

Academic year: 2021

Share "Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014"

Copied!
41
0
0
Show more ( Page)

Full text

(1)

Web 2.0 Technology

Overview

Lecture 8

GSL Peru 2014

(2)

Overview

What is Web 2.0?

Sites use technologies beyond static pages

of earlier websites.

❖ Users interact and collaborate with one

another

➢ Rich user experience with dynamic content

➢ Users participate and contribute

➢ Social networking sites, blogs, wikis, video sharing sites

(3)

Examples

❖ Social Networking

➢ Facebook,Twitter, LinkedIn

❖ Photo and Video Sharing

➢ Flickr, Youtube

❖ Other

➢ Google Docs, Google Maps, Google Calendar

(4)

Client/Server Model

(5)

System Architecture

Resource tier: backend systems, files, and databases

Service tier: connects resources to web through frameworks

including PHP, Rails, ASP

Client application tier: client-side views such as web browsers

Design, development, and

governance tools: tools to build the web applications including IDEs, xCode, Adobe

Dreamworks

Source: www.oreilly.com

(6)

System Architecture

Client-Server Model

(7)

Client-Server Model

Client and Database

❖ Client: web browser

➢ Google Chrome, Internet Explorer, Mozilla Firefox

➢ HTML5, CSS3, JavaScript, AJAX

❖ Server

➢ Apache, Microsoft IIS, lighttpd

❖ Database: backend data

➢ MySQL, Oracle Database

(8)

Client-Server Model

Server

❖ Server: web server

➢ Apache, IIS

■ PHP

■ Python (Django)

■ Rails (Ruby)

■ JavaScript (jQuery, Node.js)

■ ASP (Asp.Net, C#)

■ JSP (Java/EJB)

■ Flash

■ CGI/Perl

(9)

Evolution of Web Technologies

Flash to HTML5

Flash: Adobe’s product for website engine

❖ Search engines do not like Flash

❖ Ignores user needs

➢ Splash sites, site intros

➢ Disabled back-button

❖ Requires a lot of bandwidth

❖ Better uses than for website engine:

➢ Ads & banners, games, video streaming

❖ Stores data on the client

(10)

Evolution of Web Technologies

Flash to HTML5

HTML5

❖ Mobile web application development

❖ All browsers can use it

❖ Game development

➢ Alternative to Flash!

❖ Dynamic web applications

➢ Drag and drop capabilities, browser history management, document editing

❖ Cleaner, descriptive semantics / code

(11)

Client-Side Languages

Popularity

(12)

Server-Side Languages

Popularity

(13)

Comparing Different Web

Technologies

❖ JavaScript: absolutely necessary to know

for front-end development.

➢ Necessary to build the UI

➢ Also should know HTML5/CSS3

➢ Reference/tools: http://www.w3schools.com/

➢ Not necessary to use Node.js or jQuery frameworks to use JavaScript (more on that later)

(14)

Comparing Different Web

Technologies

❖ Ruby On Rails: Ruby is a programming

language and Rails is the framework that

uses Ruby

➢ Popular blackbox platform today

➢ Nice, clean language to use

➢ Steep learning curve

➢ Learn Ruby: http://www.codecademy.

com/en/tracks/ruby

➢ Getting started with Rails: http://guides.rubyonrails.

org/getting_started.html

(15)

Comparing Different Web

Technologies

❖ PHP: one of the most common back-end,

server-side languages

➢ Easiest to learn, especially for beginner programmers

➢ Very common => several libraries and APIs already exist

➢ Not a very good language though

■ Performance one of the slowest

■ Reputation for security issues

➢ Reference/tools: http://www.w3schools.com/

(16)

Comparing Different Web

Technologies

❖ Django: web development framework

written in Python

➢ Popular blackbox platform today

➢ Python has strong support with non-web aspects

■ System administration, data analytics

➢ Steep learning curve if not familiar with Python or the framework

➢ Tools/References: https://code.djangoproject.

com/wiki/Tutorials

(17)

Comparing Different Web

Technologies

❖ Node.js & jQuery: JavaScript based

➢ Good for strong background in JavaScript

➢ Growing in popularity

➢ Node.js isn’t good for large CPU tasks

➢ jQuery has simple architecture

➢ Both are compatible with JavaScript, which is anyway used for the front-end

➢ Tools/References:

■ jQuery: http://www.w3schools.com/jQuery/

■ Node.js: http://code.tutsplus.com/tutorials/nodejs- for-beginners--net-26314

(18)

Comparing Different Web

Technologies

❖ ASP.NET: language for Microsoft’s ASP

technology.

➢ Can also use C# and Visual Basic

➢ Class library system => good maintainability

➢ Uses large amount of web server resources than PHP and other languages

■ Runs on IIS

➢ Documented bugs and vulnerabilities

➢ Tools/Resources: http://asp.net-tutorials.com/

(19)

Where are these

technologies used today?

(20)

Web Technologies Used

Google

❖ Server-side:

➢ Mainly Python

➢ Also Java, C++

❖ Client-side:

➢ JavaScript

➢ HTML, CSS

❖ Database:

➢ BigTable

❖ Web Server:

➢ Google Web Server

(21)

Web Technologies Used

Facebook

❖ Server-Side:

➢ Mainly PHP

➢ Also C++, Java, Python

❖ Client-Side:

➢ JavaScript

➢ HTML/CSS

❖ Database:

➢ MySQL, HBase

(22)

Web Technologies Used

Twitter

❖ Server-Side:

➢ C++, Java, Ruby on Rails

➢ Also Scala

❖ Client-Side:

➢ JavaScript

➢ HTML, CSS

❖ Database:

➢ MySQL

(23)

Web Technologies Used

Youtube

❖ Server-Side:

➢ C/C++

➢ Also Java, Python

❖ Client-Side:

➢ Flash

➢ JavaScript

❖ Database:

➢ MySQL

➢ BigTable

(24)

Web Technologies Used

Bing

❖ Server-Side:

➢ ASP.NET

❖ Client-Side:

➢ JavaScript

➢ HTML, CSS

❖ Database:

➢ Microsoft SQL Server

(25)

Now, for selecting your

web technology

Here are some things to consider...

(26)

Selecting Your Web Technology

Factors to Consider

❖ Needs vs. Strengths

➢ Figure out what strengths you need most; ignore the other strengths

➢ Decide whether it saves time or not

❖ Testing

➢ Testable with unit testing and integration testing?

■ Lecture on testing to come in future…

❖ Documentation

➢ Choose technology with well-written and easy-to- understand documentation

➢ Sample code and tutorials available

(27)

Selecting Your Web Technology

Factors to Consider

❖ Servability

➢ Speed, hosting, and operation costs matter!

❖ Security

➢ Check track record of common vulnerabilities, such as database injections

➢ Check track record of maintainance

❖ Longevity

➢ Compare how long technology has been around or will be around moving forward

(28)

Selecting Your Web Technology

Factors to Consider

❖ Learning Curve and Hireability

➢ Know if the technology is difficult to learn at first and easy to master later, or vice versa

➢ Know if the skills needed are easy to find today

(29)

How do we implement?

(30)

Hardware

(31)

Server Hardware

Compute Server

Storage - SAN

(32)

Data Center

(33)

Data Center

(34)

Cloud Services

Can Provide

Scalability without

capital investment

(35)

Platform as a Service (PaaS)

● Provides computing platforms as a

subscription service

● No need to know how to maintain/administer

the platform - OS, Development

Environment, Database, Server

● Automatic provisioning

● Example - Heroku

○ Originally, Ruby

○ Now, Java, Node.js, Scala, Clojure, Python and PHP

(36)

Infrastructure as a Service (IaaS)

● Provides physical or virtual machines along

with resources such as storage in a

subscription model

● More control, but more

administrative/maintenance overhead

(37)

Rackspace

❖ Cloud Sites: web application hosting

➢ PaaS

➢ Fixed, monthly payment

➢ Supports most application frameworks, but not Java (server-side) at this time

❖ Cloud Files: cloud storage

➢ Unlimited online storage

➢ Online control panel to manage

❖ Cloud Storage: virtual, private servers

➢ IaaS

(38)

Amazon AWS

❖ Amazon Elastic Cloud Compute (EC2) is

central part of cloud computing platform

➢ Users create, launch, and terminate server

“instances” as needed (instances = VMs)

➢ Pay by the hour ($0.013/hr)

❖ Amazon Simple Storage Service (S3) is

online file storage web service

➢ Web hosting, image hosting, storage for backup systems

➢ Stores more than 2 trillion objects as of 2013

➢ Pay $0.15 per gigabyte per month

(39)

Examples

● Netflix

● DropBox

● Reddit

● Foursquare

(40)

Microsoft Azure

❖ PaaS and IaaS services for Microsoft-

specific and third party systems

➢ Web hosting for PHP, ASP.NET, Node.js, and Python (PaaS)

➢ Virtual Machines run Windows and some Linux distributions (IaaS)

(41)

Google

❖ Google Cloud Storage for developers,

Google Drive for non-developers (personal)

➢ Can integrate both together

➢ PaaS: Google App Engine

➢ IaaS: Google Compute Engine

❖ User-friendly GUI to manage projects and

objects (all your data)

❖ Used by Snapchat, Khan Academy, Pulse,

and more

References

Related documents

Massless test particle simulations give good predictions on the extension of the stable region and show that HIP 14810 and HD 37124 do not provide stable orbits in the habitable

The proposed methodology is based on an analytical approach that compares the value of travel time savings (for passengers and transit vehicles) with the construction and

Averted extinctions, introductions and re-colonisations of species associated with invasive mammalian predator eradication or control on Western Indian Ocean islands

•  Neat interpreted programming language –  Various Web toolkits for Java or Ruby. •  Ruby on Rails, Sinatra,

Against this background, the Grandy House Group worked diligently to expand its new home sales business in line with its theme of “further strengthening the Group’s core business

In particular, concurrent causes refer to injuries caused by concurrent tortfeasors together with a contributorily negligent plaintiff, and consecutive causes refer

Hypothesis 2 proposes that closely related concepts compete for attention and thus the prevalence of an old concept should be negatively associated with the number of articles each

Article 42(2) provides that for the purposes of the criminal justice process, telecommunication service providers can record information sent and/or received, and can

When the bonding was delayed after infiltration, the SBS values of the IRI + 1 (16.6 MPa) or ERI + 1 groups (16.1 MPa) showed no significant differences compared with the SBS values

Using the Sustainable Family Business (SFB) model grounded in the systems theory, this study found out that of all the factors that affect sustainability, succession

• Electrophysiologic studies show that nicotine increases dopamine release during phasic , as opposed to tonic, firing. • This may underlie the rewarding effect of

So Congress clearly intended that the ADA should not apply to the industrial railroad environment, and specif- ically railroad right of way. The Excursion Coordinator is the

cerebral ischemia, vascular headache, carotid artery disease, cerebral palsy, epilepsy, brain tumor, chronic meningitis, multiple sclerosis,.. Journal of the

A figure of a spiral, representing a musical instrument like a buccine (a Celtic - Roman trumpet); it is associated to a four-leg ani- mal: the scene remembers a panel on Rock

In 1806, when it came time to publish the E-flat major symphony, Beethoven suggested “Sinfonia eroica, composed to celebrate the memory of a great man,” without mentioning

Contractors that perform a construction contract with taxable labor services are required to remit sales tax at the 6.5% state rate on jobs billed on or after July 1, 2015 unless

Download and install Ruby on Rails using the Rails Installer.. Create

For security-critical systems, this approach allows one to consider security requirements from early on in the development process, within the development context, and in a

08:30 - 11:20 : Advanced Microprocessors I     ANS Eğitim 1 Blok - 115      Lecturer MUSTAFA NARTKAYA Introduction to microprocessor systems.. 13:00 - 17:50 :

The different components of the groundwater monitoring programme follow from the data needs related to groundwater development, management and protection in the region of