Web 2.0



The last few years have seen the development of web-based techniques for combining information from different sources, for presenting it in useful and convenient forms, and for improving interaction with and among your users. These techniques, generally known as Web 2.0, provide a set of new opportunities for using or re-using information to engage and retain your users.

To make best use of the techniques requires the information to be available in the right form at the right time. XML provides a convenient common format for this, letting you make better and more profitable use of your information.

This course shows how you can provide better leverage of existing information, and transform otherwise unconnected resources into productive assets. Implementing joined-up information involves techniques from the semantic web, identity management, and web services, as well as traditional resources like databases, repositories, and existing web sites.

Classes for 2009

Building Dynamic Web Applications with XML

Taught by Norm Walsh.

One of the defining characteristics of "Web 2.0" applications is their dynamic nature. Where we used to speak of web pages, we now speak of web applications. The difference is the product of new technologies (XML, JSON), new design patterns (principally asynchronous communication), and broad support for standards in the browser (HTML, CSS, JavaScript).

This session will examine each of these areas. We'll explore how web standards have enabled the deployment of applications on a web-wide scale. We'll look at how new design patterns have made it possible to create web pages that act like applications. And we'll look in some detail at how the underlying web protocols and data formats are used to power modern Web 2.0 apps.

Building and Documenting Web APIs with JAX-RS and WADL.

Taught by Marc Hadley.

Web 2.0 interfaces and applications are built on a back-end of data, for which the applications and their servers must have robust methods of access, so that extensibility of control and adaptability to circumstances can be programmed and documented.

This session will describe the use of the Java API for RESTful Web Services (JAX-RS) to create Web APIs. It will show how to tie such APIs into back-end data and demonstrate use of the Java API for XML Data Binding (JAXB) to translate data between Java objects, XML and JSON. This session will also cover use of the Web Application Description Language (WADL) to describe Web APIs and describe both the benefits and potential pitfalls of its use.

Smoke and Mirrors: data source manipulation for Web 2.0

Taught by Peter Flynn.

In an ideal world, all the data would be in the right place, in the right format, and available at the right time. In reality we have to deal with missing or broken data, downtime, and human error every day, especially when moving from Web 1.x to Web 2.x.

In this session, we will look at a variety of ways of overcoming some of the deficiencies of information sources. For new implementations, especially for organisations moving towards Web 2.0 for the first time, some solutions are presented which can avoid compromising the resulting interface or breaking the link in the information supply-chain.

Turning the browser into a work station

Taught by Michael Sperberg-McQueen.

The Web pushes content out from servers onto users' desktops. How much of the processing can we push out to the browser with it? Can we make our Web applications distributed not just in terms of the geographic spread of the users but in terms of the CPU load? The more work we can perform in the user's machine, the less work must be done by the central server(s), and the less dependent the application is on network latency. Three technologies can help.

First, data transformation in XSLT can run in the browser, instead of on the server, if we can work around the occasional gap in the existing browser implementations of XSLT. Second, Javascript can be used as a relatively simple glue to manage XSLT transformations in the browser. Cross-browser libraries make this easier than it would otherwise be. Third, XForms can be used to turn the browser into an XML editor specialized for a particular vocabulary and task, with sophisticated user-side validation of input and cross-field constraints.