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
teaching:infoh509 [2015/07/17 13:27]
svsummer
teaching:infoh509 [2020/04/09 14:38] (current)
svsummer
Line 1: Line 1:
 ====== INFO-H-509 : XML and Web Technologies ====== ====== INFO-H-509 : XML and Web Technologies ======
  
-<note warning>​ +Please ​see the [[https://uv.ulb.ac.be/​course/​view.php?id=85243|corresponding page on the Virtual University]].
-**EXAM**: The second session exam will be held on **thursday, 27 august from 8h00-12h in room SUB4.136** (as advertised on Gehol: http://​gehol.ulb.ac.be/​gehol/​Vue/​HoraireCours.php?​cours=INFOH509&​semaine_unif=4852). The exam is closed book. </​note>​ +
- +
- +
-<note warning>​ +
-**EXAM**: The written exam will be held on **wednesday,​ 17 june from 8h00-11h30 in room SUB4.136** (as advertised on Gehol: http://​gehol.ulb.ac.be/​gehol/#​!/​Course/​INFOH509/​35-41). The exam is closed book. </​note>​ +
- +
- +
-<note important>​If you are following this course, please fill out [[https://​docs.google.com/​forms/​d/​17JUkVrTJ_Lx1fKNCa4YZjbLNTddstEVcQXSa0PrvKwQ/​viewform|this form]] **by friday 27 february at the latest**. It allows the course responsibles to get an overview of the students participating in the course, and contact you should this be necessary.</​note>​ +
- +
-===== 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 {{:​teaching:​infoh509:​course_plan.pdf|course plan (general course information document)}}. +
- +
-==== Contacts ==== +
- +
-  * **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]]  +
- +
-==== 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,​ //​[[http://​www.brics.dk/​ixwt/​|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. +
- +
-==== Schedule ===== +
-    * The course schedule is available ​[[infoh509:​horaire|on-line]].  +
-Please be sure to check regularly for updates. +
- +
-===== COURSE PLAN ===== +
- +
-==== Lecture 1: Introduction and Web Architecture === +
- +
-In this first lecture ({{:​teaching:​infoh509:​1-intro-webarch.pdf|slides}}) we have (1) overviewed the content and objectives of the course and (2) discussed 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:**  +
- +
-  * [[http://tools.ietf.org/​html/​rfc3986|RFC 3986 Uniform Resource Identifier (URI)]]: Generic Syntax - Only Section 1 "​Introduction"​ +
-  * [[http://​www.w3.org/​TR/​2004/​REC-webarch-20041215/​|Architecture of the World Wide Web, Volume One]] - Only Sections 1,2,3 +
-  * [[http://​www.jmarshall.com/​easy/​http/​|HTTP made really easy]] (Note that this document uses an outdated interpretation of the term "​resource"​) +
-  * The book chapter 1 (pages 3-31) and chapter 8 (pages 343-361). +
-  * The {{:​teaching:​infoh509:​1-intro-webarch.pdf|slides}}. +
- +
- +
-==== Lecture 2: XML and XPath === +
- +
-Lecture 2 has introduced XML and XPath in depth.  +
- +
-**Required reading:**  +
- +
-  * Chapter 2 and chapter 3 (except section 3.6) in the book +
-  * The {{:​teaching:​infoh509:​2-xml-xpath.pdf|corresponding slides}}. +
- +
-==== 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 +
-{{:​teaching:​infoh509:​3-xml_schemas.pdf|corresponding slides}}. +
- +
-==== Lecture 4: XML Schema Languages: XSDs === +
- +
-In Lecture 3, 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 +
-{{:​teaching:​infoh509:​4-xml_schemas_part_2.pdf|corresponding slides}}. +
- +
-==== Project Assignment 1: XML Schema Definition ==== +
- +
-Construct an XML Schema Definition for the information recorded by a +
-bookshop ({{:​teaching:​infoh509:​un_en.pdf|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).  +
- +
-<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>​ +
- +
-==== 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 {{:​teaching:​infoh509:​5-xslt.pdf|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 +
-{{:​teaching:​infoh509:​deux_en.pdf|full assignment}},​ and download the +
-corresponding {{:​teaching:​infoh509:​deux_xslt_data.zip|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).  +
- +
-<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>​ +
- +
- +
-==== 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 {{:​teaching:​infoh509:​6-xquery.pdf|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 +
-{{:​teaching:​infoh509:​trois_en.pdf|full assignment}},​ and download the +
-corresponding {{:​teaching:​infoh509:​trois_xquery_data.zip|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 {{:​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/​public.php?​service=files&​t=08191ea41e23c45f9e9f2d411a65d544|course ​notes]] (password protected). +
- +
-**Recommended 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. +
- +
- +
-==== Lecture 8: OWL==== +
- +
-In lecture 8 we introduce the Web Ontology Language (OWL), which adds advanced inferencing capabilities to RDF.  +
- +
-**Required reading:​** +
-The {{:​teaching:​infoh509:​8-owl.pdf|lecture slides}} and these [[http://​cs.ulb.ac.be/​owncloud/public.php?service=files&​t=2c13abb273376242ba831a285aa6b623|course notes]] (password protected). +
- +
-==== Lecture 9: SPARQL ==== +
- +
-In lecture 9  we have introduced and illustrated the main constructs of SPARQL, a query language for RDF. (We have also discussed a large part of lecture 10 below.) +
- +
-**Required reading:​** +
-The {{:​teaching:​infoh509:​9-sparql.pdf|lecture slides}} and these [[http://​cs.ulb.ac.be/​owncloud/​public.php?​service=files&​t=51782ffdf61c877290b4f16983eda957|course notes]] (password protected) [section 7.1.9 and further is not required reading]. +
- +
-==== Lecture 10: RESTfull Web Services ==== +
- +
-In lecture 10 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:​10-restws.pdf|lecture slides}} and these [[http://​cs.ulb.ac.be/​owncloud/​public.php?​service=files&​t=470e18252f942922c27c3b11d944ce6f|handouts]] (password protected). +
- +
-==== Lecture 11: Big Web Services (WS-*) ==== +
- +
-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:​** +
- +
-These [[http://​cs.ulb.ac.be/​owncloud/​public.php?​service=files&​t=3ccf1a18d455f334a4ea1a6d8525d2fa|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). +
- +
-==== Lecture 12: Data Analytics at Web Scale ==== +
- +
-In this lecture ({{:​teaching:​infoh509:​12-dataanalytics.pdf|slides}}) we have looked at architectures for processing large volumes of data, including ​the Google/​Hadoop distributed file system and the Map/Reduce programming model. +
-===== References ===== +
-  * A. Moller and M. Schwartzbach. //​[[http://​www.brics.dk/​ixwt/​|An Introduction to XML and Web Technologies]]//Addison-Wesley,​ 2006. ISBN-13: 978-0-321-26966-9 +
-  * [[http://​www.w3.org/​TR/​2008/​REC-xml-20081126/​|The XML Recommendation]]. +
-  * [[http://​www.w3.org/​TR/​xhtml1/​|The XHTML Recommendation]]. +
-  * [[http://​unicode.org/​|The Unicode Consortium]]. +
-  * [[http://​www.dbai.tuwien.ac.at/​research/​xmltaskforce/​ptime_xpath.pdf|Efficient Algorithms for Processing XPath Queries]] (Paper) +
-  * [[http://​videolectures.net/​mit6046jf05_demaine_lec02/​|A video lecture on asymptotic notation]] +
-  * T. Berners-Lee,​ J. Hendler, and O. Lassila. //​[[http://​www.dcc.uchile.cl/​~cgutierr/​cursos/​IC/​semantic-web.pdf| The Semantic Web]]//. Scientific American, 2001. +
-  * F. Malona and E. Miller. //​[[http://​www.w3.org/​TR/​rdf-primer/​|RDF Primer]]//. W3C, 2004. +
- +
-===== Practical Sessions ====== +
-[[teaching:​infoh509/​practical|Practical sessions]]+
 
teaching/infoh509.1437132421.txt.gz · Last modified: 2015/07/17 13:27 by svsummer