The purpose of the course is to provide a practical basis for using current technologies in the development of interactive web services with Java and XML. The course covers the following topics: Introduction to Java and Web programming, servlets, JWIG, and Application-to-Application web services.
Java is very well-suited for the development of interactive web services both because of the language (it is portable, well-defined, secure, and has a rich set of libraries) and because there ists a number of Java-based technologies for such development (Java Server Pages, servlets, and JWIG).
Servlets, or Java-based CGI scripts, are written in pure Java using a servlet API. A servlet is like an applet, but it is running on the server and its purpose is to react to a HTTP equest and generate a response. In this fashion, servlets can be seen as a way to extend the web server.
JWIG is Java-based framework for programming web services. In addition to the usual benefits one obtains from Java it has four novel features: a stronger session concept; XML templates as first-class values; shared state is accessed through usual scope mechanisms; static guarantees about the behavior of running services.
The technologies described above allows the user to interactively access a web service. A current trend is to allow applications to access a web service by providing sufficient interface information about the service. Such web services are called Application-to-Application. We will look at current XML technologies such as SOAP, WSDL, and UDDI for writing such services.
During the course two mini projects (replacing lectures) are scheduled. In the first mini project the students will be asked to implement their own browser; in the second mini project the students will be asked to implement a client that interacts with a publically available application-to-application web service.