This course introduces XML as a key enabling technology in Java-based applications. Students learn the fundamentals of XML and its derivatives, including DTD, SVG, XML Schema, XPath, XQuery, XSL-FO, and XSLT. Students also gain experience with programmatic interfaces to XML like SAX and DOM, standard APIs like JAXP and TrAX, and industry-standard software like Ant, Tomcat, Xerces, and Xalan. The course acquaints students with J2EE, including JavaServer Pages (JSP) and Java Servlet, and also explores HTTP, SOAP, web services, and WSDL. The course's projects focus on the implementation and deployment of these technologies. This is OpenCourseWare, licensed by David J. Malan of Harvard University under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. Visit http://cs259.tv/2007/fall/ for more material, including prior semesters and other courses.