Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
teaching:infoh509 [2017/05/03 14:52]
mwaumans [Practical Sessions]
teaching:infoh509 [2019/05/27 09:42]
svsummer
Line 1: Line 1:
 ====== INFO-H-509 : XML and Web Technologies ====== ====== INFO-H-509 : XML and Web Technologies ======
  
-<​note ​important>If you are following this courseplease register using [[https://docs.google.com/​forms/​d/​e/​1FAIpQLSfKvLyims3KrWWVJN7T5PQJK9X5uJNLQ04cl8Kd1932RNxj6A/​viewform|this form]] *before March 1, 2017*This allows ​the course responsibles ​to contact you when necessary.</​note>​+<​note ​tip>To help prepare for the exam and illustrate the kind of questions ​you may expecttwo old exam questions are available: {{:​teaching:​infoh509:ex-2011-s1-en_v2_.pdf|exam 1}}{{:​teaching:​infoh509:​ex-2011-s2-en.pdf|exam 2}}. Please note, however, 
 + that in the meantime new content has been added to the course; in particular the example exams do not contain questions about (1) the architecture of the web; (2) web services</​note>​
  
 ===== GENERAL INFORMATION ===== ===== GENERAL INFORMATION =====
Line 18: Line 19:
  
   * **Course responsible**:​ [[http://​code.ulb.ac.be/​code.people.php?​id=992|Stijn Vansummeren]] (Bâtiment U, étage 4, local UB4.125, Campus Solbosch)   * **Course responsible**:​ [[http://​code.ulb.ac.be/​code.people.php?​id=992|Stijn Vansummeren]] (Bâtiment U, étage 4, local UB4.125, Campus Solbosch)
-  * **Assistant**:​ [[mwaumans@ulb.ac.be|Michael Waumans]] +  * **Assistant**:​ [[gilles.dejaegere@ulb.ac.be|Gilles Dejaegere]] 
  
 ==== Organisation ==== ==== Organisation ====
Line 28: Line 29:
  
 ===== COURSE PLAN ===== ===== COURSE PLAN =====
- 
 ==== Lecture 1: Introduction and Web Architecture === ==== Lecture 1: Introduction and Web Architecture ===
  
Line 41: Line 41:
   * The {{:​teaching:​infoh509:​1-intro-webarch.pdf|slides}}   * The {{:​teaching:​infoh509:​1-intro-webarch.pdf|slides}}
  
-==== Lecture 2: XML and XPath ===+==== Lecture 2: XMLXPath, and JSON ===
  
 Lecture 2 has introduced XML and XPath in depth. ​ Lecture 2 has introduced XML and XPath in depth. ​
Line 58: Line 58:
 ==== Lecture 4: XML Schema Languages: XSDs === ==== Lecture 4: XML Schema Languages: XSDs ===
  
-In Lecture ​3, we have discussed the limitations of DTDs. Some of these+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. 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 See pages 113-158 in the book as well as the
 {{:​teaching:​infoh509:​4-xml_schemas_part_2.pdf|corresponding slides}}. {{:​teaching:​infoh509:​4-xml_schemas_part_2.pdf|corresponding slides}}.
 +
 +The example XML Schema files used during the theory lecture is also {{:​teaching:​infoh509:​xml-schema-demo.zip|available for download.}}
  
 ==== Project Assignment 1: XML Schema Definition ==== ==== Project Assignment 1: XML Schema Definition ====
Line 76: Line 78:
 See the full assignment for related dealine(s), what the solution should entail, and to whom it should be submitted). ​ See the full assignment for related dealine(s), what the solution should entail, and to whom it should be submitted). ​
  
-<note tip>You can use these simple ​ {{:​teaching:​infoh509:​validationtools.zip|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 contais ​the source code, should you be interested.</​note>​ +<note tip>You can use these simple ​ {{:​teaching:​infoh509:​validationtools.zip|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.</​note>​
  
 ==== Lecture 5: Transforming XML documents with XSLT === ==== Lecture 5: Transforming XML documents with XSLT ===
Line 99: Line 100:
 contributes the remaining 14/20 points. ​ 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)+See the full assignment for related dealine(s), what the solution should entail, and to whom it should be submitted. ​
  
 <note tip>The zip file above contains a XSLT transformation tool. You can use ''​java -jar xslt-tool.jar <​xslt-file>​ <​inputfile>​ <​outputfile>''​ to run it. </​note>​ <note tip>The zip file above contains a XSLT transformation tool. You can use ''​java -jar xslt-tool.jar <​xslt-file>​ <​inputfile>​ <​outputfile>''​ to run it. </​note>​
Line 128: Line 129:
  
 **Required reading:** **Required reading:**
-The {{:​teaching:​infoh509:​7-rdf.pdf|lecture slides}}, the [[http://​www.w3.org/​TR/​rdf11-primer/​|RDF 1.1 Primer]], and these [[http://cs.ulb.ac.be/owncloud/​index.php/​s/​9tPKB74Oku5EtmX|course notes]] (password protected).+The {{:​teaching:​infoh509:​7-rdf.pdf|lecture slides}}, the [[http://​www.w3.org/​TR/​rdf11-primer/​|RDF 1.1 Primer]], and these [[https://davinci.ulb.ac.be/​index.php/​s/​LRC7JqZrJPkpQKP|course notes]] (password protected).
  
 **Recommended (but optional) reading:** **Recommended (but optional) reading:**
 In addition, it is recommended to read the [[http://​www.w3.org/​TR/​turtle/​|RDF 1.1. Turtle Syntax]] specification (sections 1-3) and the [[http://​www.w3.org/​TR/​2014/​REC-rdf-syntax-grammar-20140225/​|RDF 1.1. XML Syntax]]specification (only section 2) to get the best overview of the RDF serialization formats. In addition, the {{:​teaching:​infoh509:​semantic-web.pdf|original semantic web article}} ​ is a good read to get an insight into the original motivation for the semantic web. In addition, it is recommended to read the [[http://​www.w3.org/​TR/​turtle/​|RDF 1.1. Turtle Syntax]] specification (sections 1-3) and the [[http://​www.w3.org/​TR/​2014/​REC-rdf-syntax-grammar-20140225/​|RDF 1.1. XML Syntax]]specification (only section 2) to get the best overview of the RDF serialization formats. In addition, the {{:​teaching:​infoh509:​semantic-web.pdf|original semantic web article}} ​ is a good read to get an insight into the original motivation for the semantic web.
  
-==== Lecture 8: OWL and SPARQL ​====+==== Lecture 8: OWL ====
  
 In lecture 8 we introduce the Web Ontology Language (OWL), which adds advanced inferencing capabilities to RDF.  In lecture 8 we introduce the Web Ontology Language (OWL), which adds advanced inferencing capabilities to RDF. 
  
 **Required reading:** **Required reading:**
-The {{:​teaching:​infoh509:​8-owl.pdf|lecture slides on owl}} and these [[http://cs.ulb.ac.be/owncloud/​index.php/​s/​JdWr9IdtLZXoaKP|course notes]] (password protected).+The {{:​teaching:​infoh509:​8-owl.pdf|lecture slides on owl}} and these [[https://davinci.ulb.ac.be/​index.php/​s/​FpfYNZNzPLp8rF6|course notes]] (password protected).
  
-We have also introduced and illustrated the main constructs of SPARQL, a query language for RDF. +==== Lecture 9: SPARQL ​and RESTfull Web Services ====
  
-**Required reading:​** +In Lecture ​we have introduced ​and illustrated the main constructs of SPARQL, a query language for RDF
-The {{:​teaching:​infoh509:​9-sparql.pdf|lecture slides on sparql}} ​and these [[http://​cs.ulb.ac.be/​owncloud/​index.php/​s/​0ZBGdtNHgoXvsO8|course notes]] (password protected) [section 7.1.9 and further is not required reading].+
  
-==== Demos ====+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 {{:​teaching:​infoh509:​9-sparql.pdf|lecture slides on sparql}} and these [[https://​davinci.ulb.ac.be/​index.php/​s/​wKREcCmtmn6xx9x|course notes]] (password protected) [section 7.1.9 and further is not required reading].
  
-The sources corresponding to the demos illustrated in class have been made available ​{{:​teaching:​infoh509:​demos.zip|here}}.+The {{:​teaching:​infoh509:​10-restws.pdf|lecture slides}} and these [[https://​davinci.ulb.ac.be/​index.php/​s/​9NL7w2ZBXmcWFi3|handouts]] (password protected).
  
-==== Lecture ​9RESTfull ​Web Services ====+==== Lecture ​10Big Web Services ​(WS-*) ​====
  
-In lecture ​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.+In this lecture ​({{:​teaching:​infoh509:​11-bigws.pdf|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:** **Required reading:**
-The {{:​teaching:​infoh509:​10-restws.pdf|lecture slides}} and these [[http://​cs.ulb.ac.be/​owncloud/​index.php/​s/​1A3pxeloo6pJJXx|handouts]] (password protected). 
  
 +These [[https://​davinci.ulb.ac.be/​index.php/​s/​nKXTyrEBnFaZr2m|handouts on SOAP and WSDL]] (password-protected).
 +The [[http://​www.w3.org/​TR/​soap12-part0/​|W3C SOAP version 1.2 Primer]]
 +The [[http://​www.w3.org/​TR/​soap12-part0/​|W3C WSDL version 2.0 Primer]] (it suffices to read only section 2).
 ===== Practical Sessions ===== ===== Practical Sessions =====
  
-{{:​teaching:​infoh509:​infoh509_01_1617.zip|Practical ​Session ​1}}+  * {{:​teaching:​infoh509:​infoh509_01_1617.zip|Practical ​session ​1}} 
 +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>"​ 
 +  * {{:​teaching:​infoh509_tp2_1819.zip|Practical session 2}} 
 +  * {{:​teaching:​infoh509:​tp03.zip|Practical session 3}} 
 +  * {{:​infoh509:​tp04.zip|Practical session 4}} 
 +  * {{:​teaching:​infoh509:​tp05.zip|Practical session 5}} 
 +  * {{:​teaching:​infoh509:​tp_06.zip|Practical session 6}} 
 +  * {{:​infoh509:​tp07.zip| Practical session 7}}
  
-{{:​teaching:​infoh509:​infoh509_02_1617.zip|Practical Session 2}} 
  
-{{:​teaching:​infoh509:​infoh509_03_1617.zip|Practical Session 3}} 
  
-{{:​teaching:​infoh509:​infoh509_04_1617.zip|Practical Session 4}} 
  
 ===== References ===== ===== References =====
 
teaching/infoh509.txt · Last modified: 2020/04/09 14:38 by svsummer