SlideShare a Scribd company logo
Web Application
Architecture
Client Server Model
Server Applications (Software)
 Management and maintenance of
Data including
 User login data
 Application data
 Data processing
 Centralized
 Access via Login
Client Applications (Software)
 Provides user interface
 Stores some settings
 Can do some data processing
 Little to no application data
storage
 Same view of data no matter
where you login
Client-Server Advantages
 Centralized Data Storage
 No data redundancy (no duplication of data)
 Reduces data dependencies
 If data is stored on each user’s system and each
system is different than data depends on how the
user system is designed
 Data can not be shared easily if such dependencies
exist
Classic Example:
Early Banking Systems
 Network: Local Area Network (LAN) covering local
office branch.
 Server: Mainframe-like server “in the back” running
custom banking system
 Client: Windows PC with client interface for each
bank teller.
 Data is the same no matter what teller you go to.
 Data is NOT the same if you go to another branch
unless servers exchanged some data at night.
Classic Example:
Early Banking Systems
The Obvious Future:
 Change the LAN to a wide area network
covering all the branches.
 Get rid of the individual servers at each branch
 Have clients connect to central server where
ALL the banking data is stored.
Classic Example:
Early Banking Systems
The Obvious Problems:
 Large banks could have thousands of tellers
connecting to the central server.
 Combining data from all branches requires
severs with lots of storage capacity.
 Branch data could be stored in different
formats.
 Lack of Standardization.
3-Tiered Systems
3-Tiered System
 Database Tier (Database Server)
 Data storage and low level data manipulation
 Server Tier (Application Server)
 Manage client connections and data processing
 Client Tier (Client Software installed locally)
 User interface and some data processing
Advantage of 3-Tier Systems
 Central Database Server accessed by multiple
Application Servers
 In turn, each Application Server could independently
manage thousands of users
 Database Server is specially designed to do its job
 Database Operations: Update, Insert, Remove, etc.
 Lots of disk storage and memory needed
 Application Servers can be added to support more
users or DIFFERENT APPLICATIONS
 Server Operations: Complex application-dependent
computations
 Lots of processor power needed
Internet vs. WWW
Internet is the infrastructure
that makes the WWW work.
 Packet Switching
 TCP/IP Protocol
 Physical Infrastructure
 Fiber-optics lines, wires
 Satellites, Cable Modems
 Routers, Hubs, Network
Cards, WiFi systems, etc.
WWW is just one of many
“virtual networks” built on
the Internet.
 Websites: http, https, etc.
 Email: pop, imap, etc.
 Other systems: ftp, instant
messaging, etc.
 Note: Even to this day companies
have “private virtual networks”
that use the Internet, but are
proprietary, locked-down.
WWW – Ultimate Client-Server
System
 Already Standardized
 Built on the Widest Area Network you could
imagine, i.e., The Internet
 Standardized Clients that are free to use
 IE, Firefox, Safari, etc.
 Lots of Servers already in place
 Apache, Windows Server (IIS), etc.
 Database Servers
 Umm, this was initially missing
First Web Applications
 1993 – Rob McCool proposed a framework called
 CGI (Common Gateway Interface)
 Data passed from a web browser to the server
 GET - passed via URL variables
 POST - passed via HTML forms
 Web server daemon (httpd) could then make remote
system calls
 Example
 Web server could run a C++ program and write the output
to public HTML folder
 Web server would send response back with location of the
output.
First Web Applications
 Using CGI, web server could run
 C++ programs
 Perl Programs
 Fortran Programs
 C++ has library functions that allow you to
connect to a number of different databases:
 Oracle
 Sybase
 DB2
First Web Applications
Problem:
 To develop web applications you need to know
 Exactly how your server is configured
 HTML forms
 GET and POST conventions
 C++ database libraries
 SQL language
 Getting all these things to work together is a
pain in the ***.
First Major Improvement
 1995 – JJ Allaire developed “a hack” that allowed a
web servers to communicate with other systems,
namely a database system.
 Key:
 Instead of using “a middle-man” C++, Perl, Java, etc.
 Developer could directly add code to the their web pages
 Using a special Markup Language, this code could be
embedded in any web page.
 Worked seamlessly with HTML forms
 Server process code directly
ColdFusion
 JJ Allaire went on to form a company Allaire
which developed his idea into a product called
ColdFusion
 ColdFusion Markup Language (CFML)
 ColdFusion Server (addon to popular Web Servers
like Apache, Microsoft’s IIS).
 Notes:
 Allaire was bought by Macromedia 2001.
 Macromedia was bought by Adobe in 2005.
ColdFusion Example
<cfset droplist = "colorlight,colordark">
<cfoutput>
<form action="#cgi.script_name#" method="get" name="choosecolors"
id="choosecolors">
<fieldset>
<legend>Customize Site</legend>
<label for="colorlight">light color</label>
<input type="text" name="colorlight" id="colorlight" size="10"
value="#url.colorlight#" /><br />
<label for="colordark">dark color</label>
<input type="text" name="colordark" id="colordark" size="10"
value="#url.colordark#" />
#getTokensMinusArg('inputs',droplist)#
<input type="submit" name="changecolors" value="Reload" />
</fieldset>
</form>
</cfoutput>
ColdFusion
 The term Cold Fusion refers to a nuclear reaction that
can occur at room temperature
 In the 1980’s it was believed that Cold Fusion was a
physical possibility.
 If Cold Fusion could be achieved then almost
unlimited power could be generated by a reaction you
could perform in your own kitchen.
 JJ Allaire aptly named his product ColdFusion
because he believed it would be as great as real “Cold
Fusion.”
 He was right, but…
Problems with ColdFusion
 The concept is great, but the implementation
sucked.
 CFML is difficult to learn, overly complex
 ColdFusion server was initially very slow
 You have to pay for it
 Initially, it only worked for Microsoft’s server,
which you have to pay for.
 Made JJ Allaire a multimillioniare but…
Alternative’s to ColdFusion
 Microsoft developed it’s own system called Active
Server Pages (ASP), which was more tightly
integrated with their web server.
 Sun Microsystems, developed Java Server Pages
(JSP), which worked better with its server and used
Java as the application language.
 The Apache Community spawned PHP which is as
good as the systems above, but Open Source.
WWW – Ultimate Client-Server
System
 Already Standardized
 Built on the Widest Area Network you could
imagine, i.e., The Internet
 Standardized Clients that are free to use
 IE, Firefox, Safari, etc.
 Lots of Servers already in place
 Apache, Windows Server (IIS), etc.
 Database Servers
 ColdFusion, ASP, JSP, and PHP all have built-in
support to connect to databases.

More Related Content

Similar to 0.Web Application Architecture.ppt

Office 365 introduction and technical overview
Office 365 introduction and technical overviewOffice 365 introduction and technical overview
Office 365 introduction and technical overview
Motty Ben Atia
 
Cloud computing infrastructure
Cloud computing infrastructureCloud computing infrastructure
Cloud computing infrastructure
sinhhn
 
Ch 8 Client Server
Ch 8  Client  ServerCh 8  Client  Server
Ch 8 Client Server
guest8fdbdd
 
Web-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptxWeb-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptx
AlokKumar250045
 
Building for the Cloud | NC CSDN Cloud Conference 2012
Building for the Cloud | NC CSDN Cloud Conference 2012Building for the Cloud | NC CSDN Cloud Conference 2012
Building for the Cloud | NC CSDN Cloud Conference 2012
ChinaNetCloud
 
Bfc Presentation
Bfc PresentationBfc Presentation
Bfc Presentation
Herea Adrian
 
CH12.ppt
CH12.pptCH12.ppt
CH12.ppt
ssuser5c874e
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
Paul Withers
 
Leverage Cloud Computing to Accelerate Development and Test
Leverage Cloud Computing to Accelerate Development and TestLeverage Cloud Computing to Accelerate Development and Test
Leverage Cloud Computing to Accelerate Development and Test
RightScale
 
A Project Report on Linux Server Administration
A Project Report on Linux Server AdministrationA Project Report on Linux Server Administration
A Project Report on Linux Server Administration
Avinash Kumar
 
ASP.NET Core and Docker
ASP.NET Core and DockerASP.NET Core and Docker
ASP.NET Core and Docker
Chuck Megivern
 
Understanding the Windows Azure Platform - Dec 2010
Understanding the Windows Azure Platform - Dec 2010Understanding the Windows Azure Platform - Dec 2010
Understanding the Windows Azure Platform - Dec 2010
DavidGristwood
 
Network Testing ques
Network Testing quesNetwork Testing ques
Network Testing ques
Pragya Rastogi
 
Metadata describes about data
Metadata describes about dataMetadata describes about data
Metadata describes about data
Dev Sanskriti Vishwavidyalaya (University)
 
Day Of Cloud - Windows Azure Platform
Day Of Cloud - Windows Azure PlatformDay Of Cloud - Windows Azure Platform
Day Of Cloud - Windows Azure Platform
Wade Wegner
 
maXbox_Arduino_Pascal_Magazine
maXbox_Arduino_Pascal_MagazinemaXbox_Arduino_Pascal_Magazine
maXbox_Arduino_Pascal_Magazine
Max Kleiner
 
RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011
Gerardo Pardo-Castellote
 
Flex360 Milan 2008 - Flex & Webservices
Flex360 Milan 2008 - Flex & WebservicesFlex360 Milan 2008 - Flex & Webservices
Flex360 Milan 2008 - Flex & Webservices
ivascucristian
 
introduction on server.pptx
introduction on server.pptxintroduction on server.pptx
introduction on server.pptx
Mugabo4
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M users
Yoav Avrahami
 

Similar to 0.Web Application Architecture.ppt (20)

Office 365 introduction and technical overview
Office 365 introduction and technical overviewOffice 365 introduction and technical overview
Office 365 introduction and technical overview
 
Cloud computing infrastructure
Cloud computing infrastructureCloud computing infrastructure
Cloud computing infrastructure
 
Ch 8 Client Server
Ch 8  Client  ServerCh 8  Client  Server
Ch 8 Client Server
 
Web-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptxWeb-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptx
 
Building for the Cloud | NC CSDN Cloud Conference 2012
Building for the Cloud | NC CSDN Cloud Conference 2012Building for the Cloud | NC CSDN Cloud Conference 2012
Building for the Cloud | NC CSDN Cloud Conference 2012
 
Bfc Presentation
Bfc PresentationBfc Presentation
Bfc Presentation
 
CH12.ppt
CH12.pptCH12.ppt
CH12.ppt
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
 
Leverage Cloud Computing to Accelerate Development and Test
Leverage Cloud Computing to Accelerate Development and TestLeverage Cloud Computing to Accelerate Development and Test
Leverage Cloud Computing to Accelerate Development and Test
 
A Project Report on Linux Server Administration
A Project Report on Linux Server AdministrationA Project Report on Linux Server Administration
A Project Report on Linux Server Administration
 
ASP.NET Core and Docker
ASP.NET Core and DockerASP.NET Core and Docker
ASP.NET Core and Docker
 
Understanding the Windows Azure Platform - Dec 2010
Understanding the Windows Azure Platform - Dec 2010Understanding the Windows Azure Platform - Dec 2010
Understanding the Windows Azure Platform - Dec 2010
 
Network Testing ques
Network Testing quesNetwork Testing ques
Network Testing ques
 
Metadata describes about data
Metadata describes about dataMetadata describes about data
Metadata describes about data
 
Day Of Cloud - Windows Azure Platform
Day Of Cloud - Windows Azure PlatformDay Of Cloud - Windows Azure Platform
Day Of Cloud - Windows Azure Platform
 
maXbox_Arduino_Pascal_Magazine
maXbox_Arduino_Pascal_MagazinemaXbox_Arduino_Pascal_Magazine
maXbox_Arduino_Pascal_Magazine
 
RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011
 
Flex360 Milan 2008 - Flex & Webservices
Flex360 Milan 2008 - Flex & WebservicesFlex360 Milan 2008 - Flex & Webservices
Flex360 Milan 2008 - Flex & Webservices
 
introduction on server.pptx
introduction on server.pptxintroduction on server.pptx
introduction on server.pptx
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M users
 

Recently uploaded

How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
สมใจ จันสุกสี
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
B. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdfB. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdf
BoudhayanBhattachari
 
Gender and Mental Health - Counselling and Family Therapy Applications and In...
Gender and Mental Health - Counselling and Family Therapy Applications and In...Gender and Mental Health - Counselling and Family Therapy Applications and In...
Gender and Mental Health - Counselling and Family Therapy Applications and In...
PsychoTech Services
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 
ZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptxZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptx
dot55audits
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
mulvey2
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
heathfieldcps1
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Denish Jangid
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
MysoreMuleSoftMeetup
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
RAHUL
 
IGCSE Biology Chapter 14- Reproduction in Plants.pdf
IGCSE Biology Chapter 14- Reproduction in Plants.pdfIGCSE Biology Chapter 14- Reproduction in Plants.pdf
IGCSE Biology Chapter 14- Reproduction in Plants.pdf
Amin Marwan
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
Nguyen Thanh Tu Collection
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
WaniBasim
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
Priyankaranawat4
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
Nguyen Thanh Tu Collection
 

Recently uploaded (20)

How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
B. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdfB. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdf
 
Gender and Mental Health - Counselling and Family Therapy Applications and In...
Gender and Mental Health - Counselling and Family Therapy Applications and In...Gender and Mental Health - Counselling and Family Therapy Applications and In...
Gender and Mental Health - Counselling and Family Therapy Applications and In...
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 
ZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptxZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptx
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
 
IGCSE Biology Chapter 14- Reproduction in Plants.pdf
IGCSE Biology Chapter 14- Reproduction in Plants.pdfIGCSE Biology Chapter 14- Reproduction in Plants.pdf
IGCSE Biology Chapter 14- Reproduction in Plants.pdf
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
 

0.Web Application Architecture.ppt

  • 3. Server Applications (Software)  Management and maintenance of Data including  User login data  Application data  Data processing  Centralized  Access via Login
  • 4. Client Applications (Software)  Provides user interface  Stores some settings  Can do some data processing  Little to no application data storage  Same view of data no matter where you login
  • 5. Client-Server Advantages  Centralized Data Storage  No data redundancy (no duplication of data)  Reduces data dependencies  If data is stored on each user’s system and each system is different than data depends on how the user system is designed  Data can not be shared easily if such dependencies exist
  • 6. Classic Example: Early Banking Systems  Network: Local Area Network (LAN) covering local office branch.  Server: Mainframe-like server “in the back” running custom banking system  Client: Windows PC with client interface for each bank teller.  Data is the same no matter what teller you go to.  Data is NOT the same if you go to another branch unless servers exchanged some data at night.
  • 7. Classic Example: Early Banking Systems The Obvious Future:  Change the LAN to a wide area network covering all the branches.  Get rid of the individual servers at each branch  Have clients connect to central server where ALL the banking data is stored.
  • 8. Classic Example: Early Banking Systems The Obvious Problems:  Large banks could have thousands of tellers connecting to the central server.  Combining data from all branches requires severs with lots of storage capacity.  Branch data could be stored in different formats.  Lack of Standardization.
  • 10. 3-Tiered System  Database Tier (Database Server)  Data storage and low level data manipulation  Server Tier (Application Server)  Manage client connections and data processing  Client Tier (Client Software installed locally)  User interface and some data processing
  • 11. Advantage of 3-Tier Systems  Central Database Server accessed by multiple Application Servers  In turn, each Application Server could independently manage thousands of users  Database Server is specially designed to do its job  Database Operations: Update, Insert, Remove, etc.  Lots of disk storage and memory needed  Application Servers can be added to support more users or DIFFERENT APPLICATIONS  Server Operations: Complex application-dependent computations  Lots of processor power needed
  • 12. Internet vs. WWW Internet is the infrastructure that makes the WWW work.  Packet Switching  TCP/IP Protocol  Physical Infrastructure  Fiber-optics lines, wires  Satellites, Cable Modems  Routers, Hubs, Network Cards, WiFi systems, etc. WWW is just one of many “virtual networks” built on the Internet.  Websites: http, https, etc.  Email: pop, imap, etc.  Other systems: ftp, instant messaging, etc.  Note: Even to this day companies have “private virtual networks” that use the Internet, but are proprietary, locked-down.
  • 13. WWW – Ultimate Client-Server System  Already Standardized  Built on the Widest Area Network you could imagine, i.e., The Internet  Standardized Clients that are free to use  IE, Firefox, Safari, etc.  Lots of Servers already in place  Apache, Windows Server (IIS), etc.  Database Servers  Umm, this was initially missing
  • 14. First Web Applications  1993 – Rob McCool proposed a framework called  CGI (Common Gateway Interface)  Data passed from a web browser to the server  GET - passed via URL variables  POST - passed via HTML forms  Web server daemon (httpd) could then make remote system calls  Example  Web server could run a C++ program and write the output to public HTML folder  Web server would send response back with location of the output.
  • 15. First Web Applications  Using CGI, web server could run  C++ programs  Perl Programs  Fortran Programs  C++ has library functions that allow you to connect to a number of different databases:  Oracle  Sybase  DB2
  • 16. First Web Applications Problem:  To develop web applications you need to know  Exactly how your server is configured  HTML forms  GET and POST conventions  C++ database libraries  SQL language  Getting all these things to work together is a pain in the ***.
  • 17. First Major Improvement  1995 – JJ Allaire developed “a hack” that allowed a web servers to communicate with other systems, namely a database system.  Key:  Instead of using “a middle-man” C++, Perl, Java, etc.  Developer could directly add code to the their web pages  Using a special Markup Language, this code could be embedded in any web page.  Worked seamlessly with HTML forms  Server process code directly
  • 18. ColdFusion  JJ Allaire went on to form a company Allaire which developed his idea into a product called ColdFusion  ColdFusion Markup Language (CFML)  ColdFusion Server (addon to popular Web Servers like Apache, Microsoft’s IIS).  Notes:  Allaire was bought by Macromedia 2001.  Macromedia was bought by Adobe in 2005.
  • 19. ColdFusion Example <cfset droplist = "colorlight,colordark"> <cfoutput> <form action="#cgi.script_name#" method="get" name="choosecolors" id="choosecolors"> <fieldset> <legend>Customize Site</legend> <label for="colorlight">light color</label> <input type="text" name="colorlight" id="colorlight" size="10" value="#url.colorlight#" /><br /> <label for="colordark">dark color</label> <input type="text" name="colordark" id="colordark" size="10" value="#url.colordark#" /> #getTokensMinusArg('inputs',droplist)# <input type="submit" name="changecolors" value="Reload" /> </fieldset> </form> </cfoutput>
  • 20. ColdFusion  The term Cold Fusion refers to a nuclear reaction that can occur at room temperature  In the 1980’s it was believed that Cold Fusion was a physical possibility.  If Cold Fusion could be achieved then almost unlimited power could be generated by a reaction you could perform in your own kitchen.  JJ Allaire aptly named his product ColdFusion because he believed it would be as great as real “Cold Fusion.”  He was right, but…
  • 21. Problems with ColdFusion  The concept is great, but the implementation sucked.  CFML is difficult to learn, overly complex  ColdFusion server was initially very slow  You have to pay for it  Initially, it only worked for Microsoft’s server, which you have to pay for.  Made JJ Allaire a multimillioniare but…
  • 22. Alternative’s to ColdFusion  Microsoft developed it’s own system called Active Server Pages (ASP), which was more tightly integrated with their web server.  Sun Microsystems, developed Java Server Pages (JSP), which worked better with its server and used Java as the application language.  The Apache Community spawned PHP which is as good as the systems above, but Open Source.
  • 23. WWW – Ultimate Client-Server System  Already Standardized  Built on the Widest Area Network you could imagine, i.e., The Internet  Standardized Clients that are free to use  IE, Firefox, Safari, etc.  Lots of Servers already in place  Apache, Windows Server (IIS), etc.  Database Servers  ColdFusion, ASP, JSP, and PHP all have built-in support to connect to databases.