web application programming carol wolf computer science

17
Web Application Programming Carol Wolf Computer Science

Upload: chastity-gallagher

Post on 11-Jan-2016

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Web Application Programming Carol Wolf Computer Science

Web Application Programming

Carol WolfComputer Science

Page 2: Web Application Programming Carol Wolf Computer Science

Three tiers and their languages

Client ServerDatabaseHtml Java, Ruby SQLJSP, ERB Visual BasicJavaScript PHP, Perl

Python

Page 3: Web Application Programming Carol Wolf Computer Science

MVCModel, View, ControllerModel - Database

◦ Requests sent using SQL, Structured Query Language.◦ Response is either an array of data or a confirmation.

View – Web page◦ Requests sent using Html or embedded programming

code (JSP, ERB, ASP)Controller – Program on server

◦ Sits between the model and view.◦ Receives requests from the view, sends them on to

the model and sends a response back to the view.◦ Most critical software and trickiest to write.

Page 4: Web Application Programming Carol Wolf Computer Science

HTTPHypertext Transfer ProtocolHttp is a stateless protocol.

◦ Stateless means that nothing is remembered.◦ Once a response has been sent, the server

forgets where it went.Request

◦ Requests are sent by the client to the server.◦ They can either be requests for a new page or

involve a form with parameters.Response

◦ The server sends a response page in return.◦ It might be a linked page or data retrieved from a

database.

Page 5: Web Application Programming Carol Wolf Computer Science

MethodsGet

◦ Used for simple requests.◦ Parameters are sent in the URL string.◦ http://localhost:3000/library/find? title ="Oliver

Twist"Post

◦ Parameters are sent within the packet.◦ Used when there are many parameters or when

security is an issue.◦ Rails uses only post when there are parameters.

Page 6: Web Application Programming Carol Wolf Computer Science

Action The action contains the URL of the server and

the server program to be executed. The URL comes before the question mark and

the parameters after. Example of a URL string:

http://localhost:3000/library/find? title ="Oliver Twist“ http is the connection protocol. localhost:3000 is the name of the server and the

access port on the server. library/find gives the directory (library) for the server

program and the program (find) to use in that directory.

Page 7: Web Application Programming Carol Wolf Computer Science

HTML FormsForms consist of data fields and a submit

button. They can also have links to JavaScript code and formatting tags.

<form method="post" action="http://localhost:3000/library/find"><p><b>Book Title:</b><input type = "text" name="title" value = "" size = 20 /> </p><p><input type= "submit" value="Find a Book“ /></p>

</form>

Page 8: Web Application Programming Carol Wolf Computer Science

This shows an html table containing three forms. The form in the center is the one on the previous slide.

Page 9: Web Application Programming Carol Wolf Computer Science

Programming Languages Java – uses Java servlets, Java Server Pages

(JSP) and Java beans.Ruby on Rails – uses ruby programs and

Embedded Ruby (ERB).Visual Basic – Uses VB programs and Active

Server Pages (ASP).Others

◦ PHP (Personal Home Page – originally)◦ CGI (Common Gateway Interface)◦ Perl (Named after the parable of the pearl)◦ Python (Named for the Monty Python skits)◦ Tcl (Tool Command Language)

Page 10: Web Application Programming Carol Wolf Computer Science

Java

Developed by James Gosling at Sun Microsystems in 1991.

Java servlets on the server control the flow between the client and the database.

JSP (Java Server Pages) can be embedded in the html on the web page. They are compiled into servlets before they are executed.

Java server pages are connected to Java beans on the server. The beans handle the requests and responses.

Page 11: Web Application Programming Carol Wolf Computer Science

Ruby on Rails

Ruby was developed by Yukihiro Matsumoto in 1993 and publically released in 1995.

It is a scripting language and is fully object oriented.

It combines Perl syntax with Smalltalk-like features.

It is said to follow the ‘principle of least surprise.’

Page 12: Web Application Programming Carol Wolf Computer Science

Ruby on Rails

Rails was developed by David Heinemeier Hansson and released as open source in July 2004.

It is based on the MVC (model, view, controller) pattern.

Programmers work on a higher level than with Java servlets.

Page 13: Web Application Programming Carol Wolf Computer Science

Rails Rails relies on a number of conventions.

JSP and Java beans have some conventions, but rails has a lot more.

Rails translates commands into SQL, saving programmers many hassles.

Some ‘boiler plate’ is stored separately and added to web pages when required. This includes web page headers, CSS (Cascading

Style Sheets) and JavaScript. Database modifications are systematically

handled by ‘migrations.’ These are ruby programs that when executed change the database.

Page 14: Web Application Programming Carol Wolf Computer Science

Servers

The principal open-source server is Apache, hosting 49% (June 2008) of all web sites. There are many modified versions.

Apache Tomcat – used for JSP and Java beans. Google Web Server (GWS) IBM WebSphere

Microsoft Internet Information Services (ISS) is the main proprietary server, hosting 35.4% of all web sites.

Page 15: Web Application Programming Carol Wolf Computer Science

Databases Most databases use the relational model,

developed by E. F. Codd in the 1960s and ‘70s. Data is stored in tables with rows and columns. Queries are usually made with SQL.

Microsoft has Access for Windows computers. MySQL is open source and has more than 11

million installations world-wide. Oracle is a widely used proprietary database

developed by the Oracle Corporation. Rails comes with sqlite3. There are many more.

Page 16: Web Application Programming Carol Wolf Computer Science

Connecting to a database Most databases are standalone programs and so

require that each time they are accessed, you must set up a new connection.

For Java, the connection issun.jdbc.odbc.JdbcOdbcDriver

Odbc stands for open database connection, and the ‘J’ in Jdbc is for Java. Odbc is a protocol from Microsoft that is based on the

X/Open SQL specification. InstantRails comes with SQLite3. It is part of the

application and does not require a new connection for each query.

Page 17: Web Application Programming Carol Wolf Computer Science

Web Browsers The first web browser was Mosaic, released in

1993. It was developed by the NCSA, National Center for Supercomputing Applications. It turned into the Netscape Navigator and was discontinued by AOL in 2007.

Microsoft’s Internet Explorer is the most widely installed browser with around 73% of market share world-wide.

Firefox from the Mozilla Foundation has around 19% of the usage share (August 2008).

There are a number of other browsers, including Safari for Macs with a market share around 6%.