This is an old revision of the document!


INFO-H-509 : XML and Web Technologies

If you are a VUB studetn following this course, please register by filling in this online form by February 22 at the latest. It allows the course responsibles to contact you when that is needed.

GENERAL INFORMATION

The evolution of the World Wide Web has seen an explosion of data communication technologies, protocols, and standards such as XML, DTDs, XML Schema, XPath, XSLT, DOM, SAX, RDF, OWL, … . In this course we decipher this alphabet soup of web technologies. The global goal is to obtain both a fundamental insight into the formal theory behind these technologies as well working knowledge of how they are used in practice.

The main course objectives and developed competences, as well as the examination modalities are summarized in the course plan (general course information document).

Contacts

Organisation

  • The course is taught in the second semester and comprises 5 crédits ECTS
  • The course's syllabus consists of (1) the course notes distributed on this web site and (2) the book by A. Moller and M. Schwartzbach, An Introduction to XML and Web Technologies. Addison-Wesley, 2006. ISBN-13: 978-0-321-26966-9
  • Attention! The lecture slides are only made available for the convenience of the students but do not suffice as syllabus! Please be sure to aquire a copy of the book!
  • Evaluation is by written exam (closed book) and project work.

COURSE PLAN

Lecture 1: Introduction and Web Architecture

In this first lecture (slides) we (1) overview the content and objectives of the course and (2) discuss the history of the Web and its overall architecture (URIs, resources, representations). In particular we have looked at the working of the HTTP protocol and gave a very brief overview of HTML and CSS.

Required reading:

Lecture 2: XML, XPath, and JSON

Lecture 2 has introduced XML and XPath in depth.

Required reading:

Lecture 3: XML Schema Languages: DTDs

Lecture 3 has introduced (1) the motivation behind XML Schema Languages, (2) syntax and semantics of DTDs, and (3) regular expressions.

See pages 92-113 in the book as well as the corresponding slides.

Lecture 4: XML Schema Languages: XSDs

In Lecture 4, we have discussed the limitations of DTDs. Some of these limitations are lifted by XML Schema, whose syntax and semantics were studied during lecture 4.

See pages 113-158 in the book as well as the corresponding slides.

The example XML Schema files used during the theory lecture is also available for download.

Project Assignment 1: XML Schema Definition

Construct an XML Schema Definition for the information recorded by a bookshop (full assignment).

This assignment is to be made in groups of two persons and contributes 2/20 to the overall grade (there are two more assignments to follow, each contributing 2/20). The written exam contributes the remaining 14/20 points.

See the full assignment for related dealine(s), what the solution should entail, and to whom it should be submitted).

You can use these simple validation tools (written in Java) to help check if your example documents conform toyour XSD. Unzip the file, and then use either java -jar DTDValidator.jar <xmldoc> or java -jar XSDValidator.jar <schemadoc> <xmldoc> to validate. The third jar file contains the source code, should you be interested.

Lecture 5: Transforming XML documents with XSLT

In Lecture 5 we have discussed how XML documents can be transformed into other formats (be it XML or not) using XSLT. See pages 188-239 in the book (except sections 5.8.5, 5.8.7, 5.8.9, 5.8.10 and 5.11) and the corresponding slides.

Project Assignment 2: XSLT

Write a single XSLT 2.0 stylesheet that generates, starting from the dblp-excerpt.xml file, a number of HTML files that together collectively emulates part of the DBLP website. Read the full assignment, and download the corresponding support files.

This assignment is to be made in groups of two persons and contributes 2/20 to the overall grade (there are two more assignments to follow, each contributing 2/20). The written exam contributes the remaining 14/20 points.

See the full assignment for related dealine(s), what the solution should entail, and to whom it should be submitted.

The zip file above contains a XSLT transformation tool. You can use java -jar xslt-tool.jar <xslt-file> <inputfile> <outputfile> to run it.

Lecture 6: Querying XML documents with XQuery

In Lecture 6 we have discussed how XML documents can be queried and transformed into other formats (be it XML or not) using XQuery. See pages 240-2840 in the book (except sections 6.7.5, 6.8, 6.9) and the corresponding slides.

Project Assignment 3: XQuery

You are requested to write XQuery programs for several queries against the DBLP bibliographical database introduced in Project Assignment 2. Read the full assignment, and download the corresponding support files.

This assignment is to be made in groups of two persons and contributes 2/20 to the overall grade (there are two more assignments to follow, each contributing 2/20). The written exam contributes the remaining 14/20 points.

See the full assignment for related dealine(s), what the solution should entail, and to whom it should be submitted).

Lecture 7: RDF and RDF schema

In lecture 7 we have introduced the RDF data model, its serialization formats, and basics of RDF Schema.

Required reading: The lecture slides, the RDF 1.1 Primer, and these course notes (password protected).

Recommended (but optional) reading: In addition, it is recommended to read the RDF 1.1. Turtle Syntax specification (sections 1-3) and the RDF 1.1. XML Syntaxspecification (only section 2) to get the best overview of the RDF serialization formats. In addition, the original semantic web article is a good read to get an insight into the original motivation for the semantic web.

Lecture 8: OWL

In lecture 8 we introduce the Web Ontology Language (OWL), which adds advanced inferencing capabilities to RDF.

Required reading: The lecture slides on owl and these course notes (password protected).

Lecture 9: SPARQL and RESTfull Web Services

In Lecture 9 we have introduced and illustrated the main constructs of SPARQL, a query language for RDF.

In addition we have (1) discussed the history of (Web) Services; (2) discussed the 3 main API styles of Web Services; and (3) illustrated RESTful Web Services by means of an example.

Required reading: The lecture slides on sparql and these course notes (password protected) [section 7.1.9 and further is not required reading].

The lecture slides and these handouts (password protected).

Lecture 10: Big Web Services (WS-*)

In this lecture (slides) we have introduced the Big-WS* technology stack. In particular, we have studied SOAP version 1.2, WSDL version 2.0, and highlighted the differences with WSDL version 1.1.

Required reading:

These handouts on SOAP and WSDL (password-protected). The W3C SOAP version 1.2 Primer The W3C WSDL version 2.0 Primer (it suffices to read only section 2).

Practical Sessions

You can test your Xpath query in the folder containing saxon9he.jar with the following command: java -cp “saxon9he.jar” net.sf.saxon.Query -s:“<sourcefile>” -qs:'<query>' -o:“<outputfile>”

References

 
teaching/infoh509.1557308721.txt.gz · Last modified: 2019/05/08 11:45 (external edit)