Upload
himanshu-jindal
View
47
Download
9
Embed Size (px)
Citation preview
Web Applications
Evolution of Applications and Web….
Agenda
Importance of Web in Industry
Evolution of Applications
Evolution of Web
Web Applications
2
What's the Buzz!
Is it really a Buzz?
Web market is huge and everyone wants its share
Applications are changing
Operating Systems are changing…
7
Industries are changing…
Web is reaching Devices
9
Why a shift to web?
Applications and Web Applications
Some Applications…
Some web pages…
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
Application or Web Page
Web Page
Not installed
Launched in Browser
Application
Allows Chat
Audio, video enabled
Not just displays data
?
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)
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)
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
Evolution of Applications
19
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!!
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 !!
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
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 !!
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
Evolution of WEB
25
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)
File transfer
Remote login
World Wide Web (WWW)
Basic Web system
27
Basic Web System - example
Google Web Server
Browser requests a web page from www.google.com
Generates an HTML and sends it as
response
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
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 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
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
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
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
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
Traditional Web system vs AJAX based Web system
36
Traditional Web system vs AJAX based Web system
37
Thank You
38