AJAX

quaggahooliganInternet and Web Development

Feb 5, 2013 (4 years and 9 months ago)

153 views

Web Programming Tutorial

Tao Cheng

CS 411, Spring 2010

What is Web Programming?


Web development

is a broad term for any
activity related to developing a web site for
the World Wide Web or an intranet.


Console Programming v.s. Web Programming

Why Web Programming


One of the choices for building applications
around DBMS



Many database applications requires easy
access to serve the public

The Objective of This Lecture


To give you an overview of the tools for Web
Programming



Use several tools of typical choices to show
the basics of Web Programming



Not meant for advanced Web developers



Client Side Coding: Code that runs on
client side’s browsers


HTML


Javascript

Formally called EMCAScript,
Javascript is a ubiquitous client side
programming tool


Applet

and
ActiveX


AJAX

Provides new methods of using
Javascript, PHP and other languages to
improve the user experience

Server Side Coding: Code the runs on
the server side


CGI



PHP

(open source)


ASP

(Microsoft proprietary)


.NET

(Microsoft proprietary)


JSP

(JavaServer Pages)


Python
, e.g.
Django (web framework)

(open
source)


Ruby
, e.g.
Ruby on Rails

(open source)

Roadmap

Development of Web Programming


The first generation mainly relies on HTML
and CGI to interact with underlying
executables, written in C, C++, Java, etc


The next generation of web development
tools uses the strong growth in LAMP and
Microsoft .NET

technologies to provide the
Web as a way to run applications online.

Plan of the Lecture


Supporting Basic Web Programming using
HTML + CGI


More advanced programming using PHP (as in
the LAMP architecture)


Additional tools: Ajax, etc

Accessing csil
-
project Web Space


CSIL Linux terminal servers are reached via the
addresses


csil
-
linux
-
ts1.cs.uiuc.edu

or


csil
-
linux
-
ts2.cs.uiuc.edu


Secure Shell Client or Putty



The workspace is csil
-
project directroy under
your home directory

HTML + CGI


What is HTML, CGI?



CGI: a standard protocol for the
communication between client software with
an information server

HTML + CGI + C


How to get input from HTML through CGI?

HTML + CGI + C


How to generate output and display as HTML?

Verification using Javascript


Example: number verification


Recommended to be done on client side, to
reduce server load



Caution: Javascript may be browser
dependent

Architecture

Client Side:

HTML (input),

e.g. m=
5
, n=
4

Javascript (checking),

e.g. whether
4
is number

Server Side:

C (Computation),

e.g.
4
*
5
=
20

“LAMP”: Open Source Solution


Linux
, referring to the operating system;


Apache
, the Web server;


MySQL
, the database management system (or
database server);


PHP

or others, i.e.,
Perl
,
Python
, the
programming languages.


What is “PHP”?


Self
-
referentially short for
PHP
:
H
ypertext
P
reprocessor
, an open source, server
-
side,
HTML embedded scripting language used to
create dynamic Web pages.


In contrast, Javascript is client
-
side, HTML
embedded scripting lanuage

PHP Basics


Data types


Arrays


Regular expression


Time/Date


How to Get User Input?


EASY:


$_GET[“var”]


$_POST[“var”]

How to output results?


Print statement in the PHP script

Interacting with underlying DBMS


The focus on the last tutorial “DB
Programming”


We will assume minimal interaction with
DBMS in this lecture to focus on the Web
programming part

Using Cookie in PHP


A cookie is often used to identify a user. A
cookie is a small file that the server embeds
on the user's computer. Each time the same
computer requests a page with a browser, it
will send the cookie too. With PHP, you can
both create and retrieve cookie values.


Using Session Control in PHP


A PHP session variable is used to store
information about, or change settings for a
user session. Session variables hold
information about one single user, and are
available to all pages in one application.

Cookie vs Session


Cookie


More permanent


Typically small (need to be send to server)



Session


Typically in server memory (ends when you close
browser)


Can be of any size

Authentication using PHP


Using crypt() or md5() for encrypting



This can be done through DBMS as well

Architecture

Client Side:

HTML (input),

e.g. m=
5
, n=
4

Server Side:

PHP (Computation,
Session Control, etc),

e.g.
4
*
5
=
20

ASP.net and JSP


They all follow pretty much the same
architecture


ASP.net normally used together with
SQLServer (MS propriety)


JSP, similarly is Sun’s propriety for similar
functions


AJAX


Ajax
, or
AJAX

(Asynchronous JavaScript and
XML), is a group of interrelated web
development techniques used to create
interactive web applications or rich Internet
applications.

AJAX Suggestion Example


For instance, the username suggestion while
creating new user accounts

Other Tools for Web Programming


Python
, e.g.
Django (web framework)

(open
source)


Ruby
, e.g.
Ruby on Rails

(open source)


Take Away Message


Web Programming is not hard


Many tutorials (with examples) available


Settle down on the tools early, and start to get
familiar with it

References


Getting starting with CGI Programming in C


http://www.cs.tut.fi/~jkorpela/forms/cgic.html



PHP related examples


http://www.w3schools.com/php/



w3c tutorials are generally very helpful, on almost all
the tools we covered



For using PHP with MySQL,
Hugh Williams

and
David
Lane
's ``Web Database Applications with PHP and
MySQL''
http://www.webdatabasebook.com/