Web Application Architecture - Web Design and Development - Lecture Slides, Slides of Web Design and Development

Web Application Architecture, Client Server Model, Server Applications, Software, Management and Maintenance, Data Including, User Login Data, Application Data, Data Processing, Centralized

Typology: Slides

2012/2013

Uploaded on 04/30/2013

aradhana
aradhana 🇮🇳

4.6

(8)

119 documents

1 / 23

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Web Application Architecture
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17

Partial preview of the text

Download Web Application Architecture - Web Design and Development - Lecture Slides and more Slides Web Design and Development in PDF only on Docsity!

Web Application Architecture

Client Server Model

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

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 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

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

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 Example

Customize Site

#getTokensMinusArg('inputs',droplist)#

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…