XML and Databases XML and Databases (CS 345b) (CS 345b) Daniela Florescu (dflorescu@mac.com) Daniela Florescu (dflorescu@mac.com) Donald Kossmann (donaldk@inf.ethz.ch) Donald Kossmann (donaldk@inf.ethz.ch)
Organization Organization Instructors Instructors Daniela Florescu: Daniela Florescu: dflorescu@mac.com dflorescu@mac.com Donald Kossmann: Donald Kossmann: donaldk@inf.ethz.ch donaldk@inf.ethz.ch TA TA Anish Das Sarma: Anish Das Sarma: anishds@stanford.edu anishds@stanford.edu Office Hours Office Hours Mondays, Wednesdays: 3 - 4 pm, Gates #414 (tentative) Mondays, Wednesdays: 3 - 4 pm, Gates #414 (tentative) Structure + Grades Structure + Grades Classes Classes Homework: 2-3 assingments (20%) Homework: 2-3 assingments (20%) Project (50%) Project (50%) Exams (30%): midterm (Feb. 14), final (March 14) Exams (30%): midterm (Feb. 14), final (March 14) Course Web Page: Course Web Page: http://www.stanford.edu/class/cs345b http://www.stanford.edu/class/cs345b 2
Goals Goals Overview of XML Technologies Overview of XML Technologies „ „Impress your boss“ Impress your boss“ Follow standards, products, recent developments Follow standards, products, recent developments Use XML for projects (e.g., Mashups) Use XML for projects (e.g., Mashups) Advantages, disadvantages of XML technologies Advantages, disadvantages of XML technologies Typical application scenarios Typical application scenarios Evaluate products (critically) Evaluate products (critically) Own developments Own developments Packaging of Technologies, Abstractions Packaging of Technologies, Abstractions Compensate for missing functionality Compensate for missing functionality 3
References References http://w3c.org http://w3c.org Most general XML standards Most general XML standards http:// http://www.oasis-open.org www.oasis-open.org More specific, industrial standards More specific, industrial standards http:// http://www.informatik.uni-trier.de www.informatik.uni-trier.de/~ /~ley ley /db db / Database of research literature Database of research literature Product information from vendors Product information from vendors 4
Tools Tools Oxygen, XML Spy, Stylus Studio Oxygen, XML Spy, Stylus Studio XML Editor, Schema Editor, Query Editor XML Editor, Schema Editor, Query Editor Apache Xerxes and family Apache Xerxes and family XML Parser, XML Schema validator, XSLT Engine XML Parser, XML Schema validator, XSLT Engine MXQuery, Saxon, … MXQuery, Saxon, … XQuery Engines XQuery Engines (complete list at W3C Web site) (complete list at W3C Web site) 5
Schedule Schedule 1/10 intro & motivation 1/17 - 1/22 basics: namespaces, InfoSet, schema, ... 1/24 Web Services, REST, Mashups 1/29 - 2/12 XQuery, XSLT, Updates, XQueryP 2/14 midterm exam 2/19 RSS, Atom, pub/sub 2/21 IR, XQuery FullText 2/26 Data Integration (external presenter) 2/28 - 3/7 Implementation, XQuery Engines 3/12 Semantic Web 3/14 final exam 6
Overview (ctd.) Overview (ctd.) M4: XML and relational databases M4: XML and relational databases Shredding: Storing XML in tables Shredding: Storing XML in tables SQL / XML Standard SQL / XML Standard Products (IBM, Microsoft, Oracle) Products (IBM, Microsoft, Oracle) M5: Implementation: Storage + Processing M5: Implementation: Storage + Processing M6: Web Services M6: Web Services SOAP, WSDL, UDDI SOAP, WSDL, UDDI BPEL and XL BPEL and XL M7: Information Filtering and RSS M7: Information Filtering and RSS M8: Semantic Web M8: Semantic Web M9: Outlook M9: Outlook 7
Project Project Carry out in groups of 2-3 students Carry out in groups of 2-3 students Make a proposal after two weeks (Jan. 28) Make a proposal after two weeks (Jan. 28) Mashups Mashups Phase 1: build an interesting Web Service Phase 1: build an interesting Web Service Phase 2: build a Mashup with other Web Services Phase 2: build a Mashup with other Web Services Suggestions for other projects (if you are eager) Suggestions for other projects (if you are eager) XQuery benchmark XQuery benchmark Testing compliance of XQuery engines Testing compliance of XQuery engines Run XQuery on a PS3 (or so) Run XQuery on a PS3 (or so) RSS Aggregator in XQuery RSS Aggregator in XQuery extend XQuery engine with cool new functionality extend XQuery engine with cool new functionality ... (ask us for more suggestions) ... (ask us for more suggestions) 8
Recommend
More recommend