150 likes | 365 Views
E-Commerce: Fundamentals and Applications. Chapter 4 : Server-Side Programming I Servlet Fundamentals. Outline. Common server-side programming techniques. Revisiting the Three-tier Model.
E N D
E-Commerce: Fundamentals and Applications Chapter 4 : Server-Side Programming I Servlet Fundamentals
Outline • Common server-side programming techniques
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 • Discussed in Chapter 3 • The Second-tier: Server-side Application (SSA) • Discussed in this chapter • The Third-tier: Database Management Systems (DBMS) • Discussed in Chapter 5
First-tier : Web Clients Client Browser Client Browser Client Browser Third-tier (DBMS) : Database Cluster(s) DB2 databases Other databases Second-tier : Server-side Web Applications Oracle databases Database Connectivity Application Server Web Server Database Cluster Internet SQL Server Three-Tier Model (Fig. 4.1)
Server-side programming technologies There are numerous ways to implement server-side applications. Common examples include: • CGI (Common Gateway Interface) • ASP (Active Server Page) • Java Servlets • PHP, Perl, & other server programming languages
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.
Request for Web Document HTTP Request Web Documents Retrieve Document HTTP Document Web Browser Web Server Static Web Page Retrieval(Fig. 4.2)
HTTP Request HTTP Document Web Browser Web Server Output (HTML) HTML forms to invoke CGI scripts Get Data CGI Scripts/ Applications Database Return data CGI-based Web Application(Fig. 4.3)
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.
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.
HTTP Request HTTP Document Web Browser Web Server Database ASP Engine ASP Model (Fig. 4.4)
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.
Java Servlet • A servlet is a small piece of server-side application, which can be viewed as the server-side 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)
HTTP Request HTTP Response Web Browser Servlet Engine Web Server Database Typical Web-based Servlet Interaction (Fig. 4.5)