CSE6339: Web Databases and XML

Class:MW 2:30-3:50pm (NH 109)
Instructor:Leonidas Fegaras
Office:GACB 115 (General Academic Classroom Bldg)
Office hours:Monday and Wednesday 4:00-5:30pm

XML has become an important standardization for data representation and information exchange among Internet co-operative applications. This course provides an in depth study of the area of web data management with an emphasis on XML standards and technologies. The course primarily covers the state of the art in designing and building web applications and services, primarily focusing on issues and challenges that revolve around the management and processing of XML data.

Note: This course is in the process of becoming a CSE 5000-level (starting next year). That is, although it is still a 6000-level this semester, it will not have much research flavor. It will be more like an introductory, rather than an advanced course.

Prerequisites: CSE 3330/CSE 5330 (Database Systems I) or equivalent. Students are expected to have a working knowledge of Java, SQL, and basic HTML. Students without adequate preparation are at substantial risk of failing this course.

Reading material:
There is no required textbook but you are expected to read many online tutorials and references (links will be given out in class). One good online tutorial is w3schools.

Additional Reading:
Although not required, you may find the following books useful for additional background and explanation (listed in order of relevance to this course):

The final grade will be based on Final grades will be assigned according to the following scale:
     A: score >= 90, B: 80 <= score < 90, C: score < 80
Sometimes, I use lower cutoff points, depending on the overall performance of the class.

Both exams are closed-book and closed-notes. The final exam will cover the material from the first lecture up to and including the last lecture. Makeup exams will be given only when the instructor (at least 3 days before the exam) has approved the request to change the exam time. Approval will be given for illness, sickness or death in the family only.

There will be ten small weekly projects. Each project will be done individually. Details will be given out in class. Late project will be marked 20%-off per day. No further extensions will be allowed. No excuses, no exceptions.

All projects will be done in Java (using JDK 6). Students are expected to have a working knowledge of Java, SQL, and basic HTML. The software used for the projects is open-source, free, platform-independent, and well-suited for Java: You can do the project on your own PC/laptop under any platform (Linux, MAC OS X, MS Windows, etc). Directions of how to download the required software will be given out in class.

Note that, although we will briefly talk about it, we will not use Microsoft ASP.NET (Visual Studio, C#, etc), since this framework is platform-dependent (for IIS only).

All work in this class must be done individually. No copying is permitted. The punishment for cheating is a zero in the assignment and will be subject to the university's academic dishonesty policy. Cheating involves giving assistance to or receiving assistance from another individual on work assigned in this class. If you have any questions regarding an assignment, see the instructor or the teaching assistant.

Distance Education Students:
The requirements for distance education (off-campus) students are the same as for regular students with the possible exception of the exams. If you are a distance ed. student and work within one hour driving distance from UTA (based on Google driving directions), then you need to come and take the exams in person. Otherwise, you will have to find an exam proctor on site to supervise the exams. The proctor cannot be anyone equal or below your pay grade at your office, unless it is someone in HR that specializes in proctoring exams. The proctor could be someone from a local school, testing center, etc. The proctor must be approved by the instructor and a proctor agreement must be signed. The exam will be delivered to a proctor in the morning of the exam day.

Special Accommodations:
If you require an accommodation based on disability, I would like to meet with you in the privacy of my office, during the first week of the semester, to make sure you are appropriately accommodated.

Web Page:
Please visit this web page often; it will contain the reading assignments, project description, class notes, etc.

Tentative Schedule:
  1. Introduction and motivation
  2. Web application development
    1. Dynamic web pages
    2. HTTP GET/POST requests
    3. HTML forms
    4. Client-side programming (JavaScript)
    5. XHTML and CSS stylesheets
    6. The document object model (DOM) and dynamic HTML
    7. Asynchronous server requests (AJAX)
    8. Server-side programming: PHP scripts
    9. Cookies and sessions
    10. Servlets (Tomcat)
    11. Java Server Pages (JSP)
    12. Database connectivity
  3. XML standards
    1. DTD
    2. XML Schema
    3. XPath
    4. XML programming (DOM, SAX, StAX)
    5. XSLT
    6. XQuery
    7. Java/XML data binding (JAXB)
  4. XML data modeling
  5. Native XML storage management
    1. Indexing techniques
    2. Xindice and Berkeley DB XML
  6. Relational databases and XML
    1. XML shredding
    2. XML publishing
    3. XML on commercial databases (Oracle XML DB, SQL Server SQLXML)
  7. XML data management
    1. Query processing
    2. Query optimization
    3. Updates
    4. View maintenance
    5. Integrity constraints
    6. Compression
  8. XML search engines
    1. Information retrieval
    2. Web search engines
    3. XML ranking
  9. Web services
    1. Standards: SOAP, WSDL, UDDI
    2. Axis and JAX-WS
    3. Mashups
  10. Special topics
    1. Metadata management with RDF
    2. Data integration
    3. Semantic Web

Last modified: 01/01/08 by Leonidas Fegaras