Server-Side Programming I
Download
Report
Transcript Server-Side Programming I
E-Commerce:
Fundamentals and Applications
Chapter 4 : Server-Side Programming I
Servlet Fundamentals
_______________________________________________________________________________________________________________
E-Commerce: Fundamentals and Applications
1
Wiley and the book authors 2001
Outline
Common server-side programming techniques
_______________________________________________________________________________________________________________
E-Commerce: Fundamentals and Applications
2
Wiley and the book authors 2001
Revisiting the Three-tier Model
Web-based e-commerce applications are usually
built according to the “Three-tier Model” (Fig.
4.1), which includes:
The First-tier: Web Client
The Second-tier: Server-side Application (SSA)
Discussed in Chapter 3
Discussed in this chapter
The Third-tier: Database Management Systems
(DBMS)
Discussed in Chapter 5
_______________________________________________________________________________________________________________
E-Commerce: Fundamentals and Applications
3
Wiley and the book authors 2001
Three-Tier Model
(Fig. 4.1)
First-tier : Web Clients
Client
Browser
Client
Browser
Client
Browser
Third-tier (DBMS) :
Database Cluster(s)
DB2
databases
Internet
SQL
Server
Second-tier : Server-side Web
Applications
Database
Cluster
Oracle
databases
Other
databases
Database
Connectivity
Web Server
Application
Server
_______________________________________________________________________________________________________________
E-Commerce: Fundamentals and Applications
4
Wiley and the book authors 2001
Server-side programming
technologies
There are numerous ways to implement serverside applications. Common examples include:
CGI (Common Gateway Interface)
ASP (Active Server Page)
Java Servlets
PHP, Perl, & other server programming
languages
_______________________________________________________________________________________________________________
E-Commerce: Fundamentals and Applications
5
Wiley and the book authors 2001
Common Gateway Interface (CGI)
Early Web page designs were “static” in the
sense that a client can only request for a static
HTML document from the Web server (Fig. 4.2).
Later, CGI programming techniques were
introduced to remove this constraint by providing
dynamic Web pages via server-side interaction,
as shown in Fig. 4.3.
_______________________________________________________________________________________________________________
E-Commerce: Fundamentals and Applications
6
Wiley and the book authors 2001
Static Web Page Retrieval
(Fig. 4.2)
Request for
Web Document
HTTP Request
Web Documents
Retrieve
Document
HTTP Document
Web Browser
Web Server
_______________________________________________________________________________________________________________
E-Commerce: Fundamentals and Applications
7
Wiley and the book authors 2001
CGI-based Web Application
(Fig. 4.3)
HTTP Request
Web Browser
HTTP Document
Web Server
Output
(HTML)
HTML forms to
invoke CGI scripts
Get Data
CGI Scripts/
Applications
Database
Return data
_______________________________________________________________________________________________________________
E-Commerce: Fundamentals and Applications
8
Wiley and the book authors 2001
Common Gateway Interface (CGI)
Fig. 4.3 explains the retrieval of a static Web
page. The Web browser goes to the designated
URL on a specific Web server to retrieve the
required static HTML document when it receives
a client request.
Note the content is independent of the request, in
the sense, everyone who makes a request to that
particular URL gets the same document.
_______________________________________________________________________________________________________________
E-Commerce: Fundamentals and Applications
9
Wiley and the book authors 2001
Active Server Page (ASP)
ASP is a "scripting" technique that runs on Web
servers rather than Web clients.This contrasts
with VBScript and JavaScript which run on web
clients.
It basically generates HTML documents for the
Web client.
Execution of the ASP code by the server returns
the corresponding HTML document to the client.
Fig. 4.4 shows the schematic diagram of ASP
model.
_______________________________________________________________________________________________________________
E-Commerce: Fundamentals and Applications
10
Wiley and the book authors 2001
ASP Model
(Fig. 4.4)
ASP Engine
HTTP Request
HTTP Document
Web Browser
Web Server
Database
_______________________________________________________________________________________________________________
E-Commerce: Fundamentals and Applications
11
Wiley and the book authors 2001
Disadvantages of CGI programs
Each new request activates a new process to
run the CGI program
Creating a process requires time and resource
so CGI programs is not as scaleable a solution
Also, CGI programs may raise security problems.
_______________________________________________________________________________________________________________
E-Commerce: Fundamentals and Applications
12
Wiley and the book authors 2001
Java Servlet
A servlet is a small piece of server-side
application, which can be viewed as the serverside analog of an applet.
In a typical servlet application, a servlet-enabled
Web server receives an HTTP request from the
client.
It then forwards the request to the servlet engine
for performing the necessary operations as
specified by the program.
Finally it returns a response (e.g., HTML
document) to the client via the Web server (Fig.
4.5)
_______________________________________________________________________________________________________________
E-Commerce: Fundamentals and Applications
13
Wiley and the book authors 2001
Typical Web-based Servlet
Interaction (Fig. 4.5)
HTTP Request
HTTP Response
Web Browser
Web Server
Servlet Engine
Database
_______________________________________________________________________________________________________________
E-Commerce: Fundamentals and Applications
14
Wiley and the book authors 2001