CSE134A LECTURE NOTES

April 2, 2001
 
 

WELCOME

This is CSE 134A.  Please see today's introductory handout.  Points to note: Class will start at 4:40pm sharp and end at 6pm sharp.
 
 

OVERVIEW OF THE COURSE

We will study modern software that is in widespread use: the PHP scripting language (version 4) and the MySQL relational database client/server software.

CSE 134A teaches how to develop web-based applications that deliver information dynamically, either to human users or to other applications.

The course will cover architectures for server-side web-based systems that scale to thousands and even millions of users.  The topics discussed will be related to Windows DNA, Microsoft .NET, and Sun ONE, but will not be vendor-specific.  Standards for information exchange over the Internet including XML and SOAP will be covered.

The course will also cover algorithms for organizing and searching web-based information, such as those used by the Google search engine.

Topics that will be mentioned in 134A but not covered systematically include IP networking, relational database systems in general, web server design, HTML, user interface design, and text processing using regular expressions.

We chose PHP and MySQL because they are open-source and free.  You are encouraged to install your own copies of the software on your own Linux machine.
 
 

HOW PHP WORKS

The web server, for example, Apache, proceeds as follows: A PHP program (called a script) is executed on the web server computer, unlike Javascript, which is executed by the client browser.

PHP commands have access to information about the browser, the values of fields in a form on the browser, and can retrieve and/or update information in a database.

General applications: Responding to forms, displaying user-customized content, rotating content.  Examples: Slashdot, bug tracking, shopping cart.
 
 

HISTORY OF PROGRAMMING FOR THE WEB

The first web servers, around 1995, provided only static web pages, written in HTML.

The first technology for dynamic web pages was Perl scripts connected to wb pages through something called  CGI for "common gateway interface."  CGI creates a new process for each request to the web server.  You can save resources by using mod_perl to execute Perl scripts within Apache, but PHP does this more easily and transparently.

A PHP-based web page looks like HTML interleaved with programming commands.  Other software technologies that are similar include Microsoft ASP, Cold Fusion, Java, Java Server Pages, and Java servlets.

One main advantages of PHP version 4 is Zend, a byte-code compiler that is invoked automatically.  This makes PHP pages run much faster, and is similar to how Java is implemented.
 
 



Copyright (c) by Charles Elkan, 2001.