Practical Web Applications



The lines between web sites and web applications are blurred. Outside of the more classical publishing scenarios (which are discussed in a different course), how do you take your XML data and put it on the web, taking advantage of modern information architecture principles and the capabilities of modern browsers?

During this two-day course you'll learn about information architecture principles such as REST-based systems and identity and security considerations, as well as a good set of technologies to use and how to use them, including CSS, HTML5, JavaScript, and advanced technologies such as OAuth. You’ll come away from the course with an appreciation of the principles, and hands-on experience of some of the technologies that you can use immediately.

The class project will be a web-based information site. We will be supplying computers with software already installed. We'll start with a simple web-based system, then add features and functionality to it. We'll be using one of the works of Shakespeare (in XML) as the base.

Faculty members Matt Pat­ter­son, Nor­m Walsh, and Paul Downey teach, as well as Faculty Board member Dr Lauren Wood. Other Faculty members will be available to help with the hands-on part of the classes.

Classes for 2012

The web application will be built in pieces, with progressively more functionality. We'll talk a little theory, then try it out, then talk again about some more theory. This means the class outlines are a little more fluid than in other courses, as one class will overlap with the next.

Day One

We'll start with the basics - some HTML+CSS, stored on disc. Then we'll serve the file from a Sinatra web application. This leads into a discussion about the basics of URL design, how to access resources, URL templating, and various helpers that are available to do some of the work. Next, we'll access XML from the filesystem, extract bits with Nokogiri, apply a stylesheet to them and show how to view the results in our web application.

Finally on Day One we'll look at adding comments, which will need a database and some data modelling, as well as forms and actions.

Day Two

On Day Two, we'll lead off with some of the security considerations. There are common web site attacks that are reasonably easy to defend against and we'll show you how. We'll discuss authentication, authorization, and identity, and show how to add a simple sign-on to our application using OAuth2.

After that, we'll finish our web application by adding annotations using JavaScript. We have some other additions planned if we have time.