This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
teaching:infoh509 [2018/05/07 12:49] dipparth [Practical Sessions] |
teaching:infoh509 [2019/05/08 08:58] svsummer [COURSE PLAN] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== INFO-H-509 : XML and Web Technologies ====== | ====== INFO-H-509 : XML and Web Technologies ====== | ||
- | <note tip>To help prepare for the exam and illustrate the kind of questions you may expect, two 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, | + | <note important>If you are a VUB studetn following this course, please register by filling in [[https://docs.google.com/forms/d/e/1FAIpQLSfKvLyims3KrWWVJN7T5PQJK9X5uJNLQ04cl8Kd1932RNxj6A/viewform|this online form]] by February 22 at the latest. It allows the course responsibles to contact you when that is needed.</note> |
- | 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 19: | Line 18: | ||
* **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**: [[dhananjay.ipparthi@ulb.ac.be|Dhananjay Ipparthi]] | + | * **Assistant**: [[gilles.dejaegere@ulb.ac.be|Gilles Dejaegere]] |
==== Organisation ==== | ==== Organisation ==== | ||
Line 41: | Line 40: | ||
* The {{:teaching:infoh509:1-intro-webarch.pdf|slides}} | * The {{:teaching:infoh509:1-intro-webarch.pdf|slides}} | ||
- | ==== Lecture 2: XML and XPath === | + | ==== Lecture 2: XML, XPath, and JSON === |
Lecture 2 has introduced XML and XPath in depth. | Lecture 2 has introduced XML and XPath in depth. | ||
Line 55: | Line 54: | ||
See pages 92-113 in the book as well as the {{:teaching:infoh509:3-xml_schemas.pdf|corresponding slides}}. | See pages 92-113 in the book as well as the {{:teaching:infoh509:3-xml_schemas.pdf|corresponding slides}}. | ||
- | |||
==== 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. | ||
Line 79: | Line 77: | ||
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 124: | Line 122: | ||
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 {{:teaching:infoh509:xquery-tool.zip|saxon (a java application)}} to run your XQuery programs. You can use ''java -cp "saxon9he.jar" net.sf.saxon.Query –s:<source file> -q:<query file> –o:<output file>" to run it. </note> | ||
==== Lecture 7: RDF and RDF schema==== | ==== Lecture 7: RDF and RDF schema==== | ||
Line 132: | Line 128: | ||
**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/qxYxGEY5RAdc4eX|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 [[https://cs.ulb.ac.be/owncloud/index.php/s/ftHJ6w88LESoLjE|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 9 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 [[https://cs.ulb.ac.be/owncloud/index.php/s/224WbVWJJY4KEaS|course notes]] (password protected) [section 7.1.9 and further is not required reading]. | + | |
+ | 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. | ||
- | ==== Lecture 9: RESTfull Web Services ==== | ||
- | In lecture 9 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:** | **Required reading:** | ||
- | The {{:teaching:infoh509:10-restws.pdf|lecture slides}} and these [[https://cs.ulb.ac.be/owncloud/index.php/s/ZAaAiCJny7p1Zvj|handouts]] (password protected). | + | 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 {{:teaching:infoh509:10-restws.pdf|lecture slides}} and these [[https://davinci.ulb.ac.be/index.php/s/9NL7w2ZBXmcWFi3|handouts]] (password protected). | ||
- | ===== Practical Sessions ===== | + | ==== Lecture 10: Big Web Services (WS-*) ==== |
- | {{:teaching:infoh509:infoh509_01_1617.zip|Practical Session 1}} | + | 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. |
- | {{:teaching:infoh509:infoh509_02_1617.zip|Practical Session 2}} | + | **Required reading:** |
- | {{:teaching:infoh509:infoh509_03_1617.zip|Practical Session 3}} | + | 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 ===== | ||
- | {{:teaching:infoh509:infoh509_04_1617.zip|Practical Session 4}} | + | * {{: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:infoh509_05_1617.zip|Practical Session 5-6}} | ||
- | {{:teaching:infoh509:infoh509_06_1617.zip|Practical Session 7}} | ||