Download presentation
Presentation is loading. Please wait.
Published byRafe Taylor Modified over 8 years ago
1
Fall 2000C.Watters1 World Wide Web and E-Commerce Servers & Server Side Processing
2
Fall 2000C.Watters2 Objectives Understand the server’s role Understand how processing is executed on the server for dynamic web page content CGI scripts Active server pages Database access Servlets Quick look at the role of agents
3
Fall 2000C.Watters3 Client-Server Model
4
Fall 2000C.Watters4 HTTP Connection 1. Client –makes an HTTP request for a web page –makes a TCP/IP connection 2. Server accepts request –Does any processing required –sends page as HTTP response 3. Client downloads page 4. Server breaks the connection
5
Fall 2000C.Watters5 Server Side Processing CGI – server applications Server side scripts servlets JDBC/ODBC and databases
6
Fall 2000C.Watters6 Servers What does a server actually do 1.gets up and running in “listening mode” creates a socket bound to its IP address & waits 2. Handles requests detects attempt by client to connect creates a new socket for communication with client processes request –retrieve file –run cgi script closes socket socket is an abstract representation of a network endpoint.
7
Fall 2000C.Watters7 Dynamic Content Catalog for NS BlueRocks Peggys Cove Lunenburg Get province from form Query database Generate tags around the query results Send this text as body of HTTP response Province NS BrowserServer ONT Catalog for Ontario Niagara Falls Bruce Trail Goderich
8
Fall 2000C.Watters8 CGI & scripts CGI - Common Gateway Interface allows data from forms to be used by programs on the server script is a program on the server perl or C or C++ etc. data returned to client as html document may interact with a DBMS on server
9
Fall 2000C.Watters9 What does an HTTP response look like? Server response = Header + object file (generally) Header object file Plain text about datadata
10
Fall 2000C.Watters10 Forms and Data Forms are part of HTML document Price: user enters data or selects options Data from form goes to server program called Submit Price:
11
Fall 2000C.Watters11 Form calling Simple CGI Example hi Do it! Where to find the program? How to get data to the server
12
Fall 2000C.Watters12 Script for hello2.cgi #!/opt/bin/perl print "Content-type: text/html\n\n"; print " \n"; print " Hello \n"; print " \n"; print " Hello, Ottawa \n"; Print “ print " \n"; try it Response doc type HTML doc
13
Fall 2000C.Watters13 Getting at Databases ODBC - Open DataBase Connectivity JDBC - java based script programs can use these to make database queries from server databases Oracle, access, etc results are sent back to client as html doc
14
Fall 2000C.Watters14 Perl example to ORACLE print " \n"; print " Calendar \n"; print " Course description enrol "; &SetOracle; &RunSQL("Select * from Calendar"); &StopOracle; print " \n";
15
Fall 2000C.Watters15 BEING STATELESS!! Each http call is a new connection SO?? –A new version of your script is run each time –No memory of previous events –pretty hard to implement a shopping cart when it gets emptied everytime you contact the server!
16
Fall 2000C.Watters16 Example Client puts tshirt in shopping cart form on web page Cart.cgi is called Makes purchase (Tshirt) Generates new page &form Add a book Cart.cgi is called Makes purchase ( book)
17
Fall 2000C.Watters17 Maintaining State in a Stateless Systems Use your script to write data to a temporary file on the server and to start each time by reading any data in that file use javascript to process activities in a given session and send results to server at end only Hide data in forms and send it back and forth keep everything in a database Use Servlets gets tricky!!
18
Fall 2000C.Watters18 Servlets java applications that are part of the server always available (faster) than cgi scripts provide continuity (state) for clients written in java can use JDBC to access databases Used for: shopping, search, certificates, agents, portals
19
Fall 2000C.Watters19 Other ways to process on Server to generate dynamic data for web pages Server side includes Active server pages Java server pages
20
Fall 2000C.Watters20 Server Side Include Files Server Side Includes (.shtml) Active Server Pages (.asp) Java Server Pages (.jsp) These functions are performed before any data are sent to the browser
21
Fall 2000C.Watters21 Server Side Includes (SSI) Shtml extension What happens: –Server gets request for a page (.shtml) –Server checks the page for SSI commands –Server executes those commands and inserts new values into the page –Server sends the new page to the Browser
22
Fall 2000C.Watters22 SSI example: ssitest.shtml Getting the date from the server as I need it I could do other things as well a stock quote an expected wait time a price check etc
23
Fall 2000C.Watters23 Server Pages Active Server Pages (microsoft).asp Java Server Pages (Sun).jsp Instructions for the server are included in the web page The server notices the extension and looks for those instructions and executes them!
24
Fall 2000C.Watters24 Active server Page example:test1.asp Test1 = #12:00:00 AM# and Time Good Morning Ottawa Hello Everyone
25
Fall 2000C.Watters25 JSP (Java server pages)
26
Fall 2000C.Watters26 Expression. Your hostname:. Scriptlet. <% out.println("Attached GET data: " + request.getQueryString()); %> Declaration (plus expression). Accesses to page since server reboot: Directive (plus expression). Current date:
27
Fall 2000C.Watters27
28
Fall 2000C.Watters28
29
Fall 2000C.Watters29 Hello, User
30
Fall 2000C.Watters30 NOT the same as Active X Active X Components are “roughly” the same as applets
31
Fall 2000C.Watters31 Servers and Agents Agent –autonomous execution of task Mobile Agent – dynamic internet routing Used for: comparisons, filtering, web crawling, auctions
32
Fall 2000C.Watters32 Agent Definition An agent is a software program that is capable of autonomous action in its environment in order to meet its objectives.
33
Fall 2000C.Watters33 Agent Examples Buyer agents and seller agents each with goals and constraints can negotiate deals on behalf of the users Agents can monitor health indicators and alert personnel under given conditions Agents can run background checks Agents can be avatars in simulations
34
Fall 2000C.Watters34 Recap Servers process browser requests CGI can be used to run applications on the server from web pages including accessing DBMS data Servers are naturally stateless Servlets (&other tricks)can be used to maintain state Server side includes can be used to dynamically create web page content before sending the page to the browser Agents are little independent pieces of software
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.