38
Web Applications Evolution of Applications and Web….

Evolution of Applications & Web

Embed Size (px)

Citation preview

Page 1: Evolution of Applications & Web

Web Applications

Evolution of Applications and Web….

Page 2: Evolution of Applications & Web

Agenda

Importance of Web in Industry

Evolution of Applications

Evolution of Web

Web Applications

2

Page 3: Evolution of Applications & Web

What's the Buzz!

Page 4: Evolution of Applications & Web

Is it really a Buzz?

Page 5: Evolution of Applications & Web

Web market is huge and everyone wants its share

Page 6: Evolution of Applications & Web

Applications are changing

Page 7: Evolution of Applications & Web

Operating Systems are changing…

7

Page 8: Evolution of Applications & Web

Industries are changing…

Page 9: Evolution of Applications & Web

Web is reaching Devices

9

Page 10: Evolution of Applications & Web

Why a shift to web?

Page 11: Evolution of Applications & Web

Applications and Web Applications

Page 12: Evolution of Applications & Web

Some Applications…

Page 13: Evolution of Applications & Web

Some web pages…

Page 14: Evolution of Applications & Web

Application and Web Page

Application

Standalone

Performs some functionality

Installed binaries

Highly interactive

Web Page

Run in Applications (Browser)

Displays information

Temporary content

Less interactive

Page 15: Evolution of Applications & Web

Application or Web Page

Web Page

Not installed

Launched in Browser

Application

Allows Chat

Audio, video enabled

Not just displays data

?

Page 16: Evolution of Applications & Web

Web Applications

16

Web applications

Applications in the browser

Applications, but not installed

Web pages highly interactive

There are 2 type of Websites

• That display some stuff like magazines (webpages)

• That allow to perform some stuff like softwares (web applications)

Page 17: Evolution of Applications & Web

Application challenges

- Portability

- Extensibility

- Updating

- Easy deployment

What are the options to implement an application?

C/ C++ exe

C/ C++ library (static/ dynamic)

Java classes

Scripting languages (perl, pyhthon, javascript)

Page 18: Evolution of Applications & Web

Implementing as Web application

Deployment

Just a URL http://www.mathfunctions.com/factorial&n=5

Portability

NO OS/ programming language dependency

Extensibility

Can be used in numerous applications without changing the server module

Updating

Any changes in server side doesn’t affect client implementations

18

Page 19: Evolution of Applications & Web

Evolution of Applications

19

Page 20: Evolution of Applications & Web

Evolution of Computers

Computers came into existence

They made user’s life easier

20

But life of developer was hard

Programming languages were highly dependent on hardware

For same application, code had to be re-written for another hardware!!

Page 21: Evolution of Applications & Web

Evolution of Operating Systems

21

Operating System

HW HW HWHW

Code Code CodeCode

One Hardware

The Hardware

specific Code

New Hardware

RewriteCode

Code

SingleCode for all Hardware !!

Page 22: Evolution of Applications & Web

Hence the Applications

Applications are compiled to Native Binaries (executables)

Technologies

C

C++

Pros

Can directly access system level APIs

Fast in execution

Cons

To maintain different application binaries for different operating systems

Big development effort required

Page 23: Evolution of Applications & Web

Evolution of Virtual machines

23

Virtual Machine

OS OS OSOS

Code Code CodeCode

One OS

The OS specific

Code

New OS

RewriteCode

Code

SingleCode for all

OS !!

Page 24: Evolution of Applications & Web

Applications compiled for Virtual Machines

Technologies

Java (J2SE)

.NET

Action Script (Flex)

Scripting languages

Perl, Pyhton, PHP etc.

Pros

Single application for different OS hence easier to maintain

Less development effort

Cons

Target OS must have the virtual machine installed in order to execute the application

Slow in execution as compared to Native OS Applications

Don’t have access to system level APIs

Page 25: Evolution of Applications & Web

Evolution of WEB

25

Page 26: Evolution of Applications & Web

Web/ Internet

DARPA/ ARPA (Advanced Research Projects Agency)

Defense programs during the cold war era

Goal: Command and control network that would survive a nuclear war

Problems: Circuit switch networks (e.g. Telephone) are vulnerable as loss of line or a switch may hamper the communication

Solution: Distributed, packet switched networks

The number of machines, networks and users increased dramatically after the advent of TCP/ IP- the Internet

TCP/IP Reference model and the protocol is the glue that holds internet together

Growth of universal services on top of TCP/IP infrastructure (Application layer)

E-mail

File transfer

Remote login

World Wide Web (WWW)

Page 27: Evolution of Applications & Web

Basic Web system

27

Page 28: Evolution of Applications & Web

Basic Web System - example

Google Web Server

Browser requests a web page from www.google.com

Generates an HTML and sends it as

response

Page 29: Evolution of Applications & Web

HTTP Basics

HTTP Client HTTP Server

HTTP Request

HTTP Response

• Every HTTP Request can be of following predefined HTTP methods• GET – download a resource• HEAD – retrieve header information of a resource• PUT – upload a resource to the server• POST – submit data to be appended to a resource• DELETE – delete a resource

• HTTP protocol consists of 2 distinct items• HTTP Request – what the user wants to do• HTTP Response – output of the request

Page 30: Evolution of Applications & Web

Web (Till mid 90s)

Features

Page metaphor

Synchronous

Smaller set of UI controls

Mostly text oriented

One way traffic, not participative

Lacked

Rich Content

Images

Audio

Video

Interactivity

Page 31: Evolution of Applications & Web

Page Metaphor and synchronous web

A new HTML page is loaded on every request, like searching something on google.com

Which means entire content reloaded on every HTTP request.

Issues

Most of the times, entire content need not to be updated in the web page

Slows down the work speed

Looks irritating

So people felt need of Asynchronous Web!!

31

Page 32: Evolution of Applications & Web

Technologies

Client Side

HTML – a mark up language rendered by Browsers

Java Script – to put some logic in web pages executed by Browsers

Server Side Scripts (executed by a web server)

ASP/ ASP .NET

PHP

Coldfusion

Java via JSP

Perl

Pyhton

Ruby

32

Page 33: Evolution of Applications & Web

Asynchronous Web

33

Allowed websites to update data without fetching entire web page.

Impact

• Allowed fast user interactivity with web pages

• Users turned into publishers

• Personal web sites were replaced by blogs

• Birth of wikis

• Social networking websites came into existence

• User participations on web reached billion benchmark

• Web giant innovated monetizing techniques for web

• Web advertisements market

Page 34: Evolution of Applications & Web

Technologies

Java Applets (1995)

Allow compiled client-side code to load data asynchronously from the web server

Required JVM to ne installed at client machines

XMLHTTPRequest (1999)

Fetches XML data asynchronously from web

Invoked from java script

Core component of AJAX

Became widely known after used by Google in Gmail(2004) and Google maps(2005)

34

Page 35: Evolution of Applications & Web

AJAX – Asynchronous JavaScript & XML (2005)

Only a name given to a set of tools that were already existing

HTML and CSS for presenting

Java script for local processing (client side functionality)

XMLHTTPREquest object – used to send or receive data from server asynchronously

Accepted as an official web standard in 2006 by W3C.

35

Page 36: Evolution of Applications & Web

Traditional Web system vs AJAX based Web system

36

Page 37: Evolution of Applications & Web

Traditional Web system vs AJAX based Web system

37

Page 38: Evolution of Applications & Web

Thank You

38