Goal 3.05d: Applications of Evolution through Natural Selection.
Evolution of Applications & Web
-
Upload
himanshu-jindal -
Category
Engineering
-
view
52 -
download
9
Transcript of Evolution of Applications & Web
![Page 1: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/1.jpg)
Web Applications
Evolution of Applications and Web….
![Page 2: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/2.jpg)
Agenda
Importance of Web in Industry
Evolution of Applications
Evolution of Web
Web Applications
2
![Page 3: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/3.jpg)
What's the Buzz!
![Page 4: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/4.jpg)
Is it really a Buzz?
![Page 5: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/5.jpg)
Web market is huge and everyone wants its share
![Page 6: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/6.jpg)
Applications are changing
![Page 7: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/7.jpg)
Operating Systems are changing…
7
![Page 8: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/8.jpg)
Industries are changing…
![Page 9: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/9.jpg)
Web is reaching Devices
9
![Page 10: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/10.jpg)
Why a shift to web?
![Page 11: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/11.jpg)
Applications and Web Applications
![Page 12: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/12.jpg)
Some Applications…
![Page 13: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/13.jpg)
Some web pages…
![Page 14: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/14.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/15.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/16.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/17.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/18.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/19.jpg)
Evolution of Applications
19
![Page 20: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/20.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/21.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/22.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/23.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/24.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/25.jpg)
Evolution of WEB
25
![Page 26: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/26.jpg)
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)
![Page 27: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/27.jpg)
Basic Web system
27
![Page 28: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/28.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/29.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/30.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/31.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/32.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/33.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/34.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/35.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/36.jpg)
Traditional Web system vs AJAX based Web system
36
![Page 37: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/37.jpg)
Traditional Web system vs AJAX based Web system
37
![Page 38: Evolution of Applications & Web](https://reader037.fdocuments.net/reader037/viewer/2022102712/55c913bcbb61eb30258b45f2/html5/thumbnails/38.jpg)
Thank You
38