Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
22 views23 pages

3 Web Application Architecture

The document outlines the architecture of web applications, focusing on the client-server model and the advantages of centralized data storage. It discusses the evolution from early banking systems to 3-tiered systems and the development of web applications, highlighting technologies like ColdFusion and alternatives such as ASP, JSP, and PHP. The document emphasizes the importance of standardization and the role of the Internet in facilitating web applications.

Uploaded by

rachel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views23 pages

3 Web Application Architecture

The document outlines the architecture of web applications, focusing on the client-server model and the advantages of centralized data storage. It discusses the evolution from early banking systems to 3-tiered systems and the development of web applications, highlighting technologies like ColdFusion and alternatives such as ASP, JSP, and PHP. The document emphasizes the importance of standardization and the role of the Internet in facilitating web applications.

Uploaded by

rachel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

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 WWW is just one of many


that makes the WWW work. “virtual networks” built on
• Packet Switching the Internet.
• TCP/IP Protocol • Websites: http, https, etc.
• Physical Infrastructure • Email: pop, imap, etc.
• Fiber-optics lines, wires • Other systems: ftp, instant
• Satellites, Cable Modems messaging, etc.
• Routers, Hubs, Network Cards, • Note: Even to this day companies
WiFi systems, etc. 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
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.

You might also like