Introduces the design and development of software for Internet commerce. Topics include extended markup language, servlets, cookies, sessions, Internet media types, Web protocols, digital signatures, certificates, encryption, and the wireless Internet.
Prerequisite
C or higher in CSE 216 or CSE 219 or CSE 260; CSE major
Course Outcomes
An understanding of the issues in software architecture design for Internet Commerce applications
An ability to implement Internet applications using industry standard technologies such as HTML page templates (i.e., JSPs) and related objects (i.e., servlets and Java Beans)
An understanding of aspects of XML useful in the development of Web Services applications
Textbook
Head First Servlets & JSP, 2nd ed. by Basham, Sierra & Bates; O'Reilly Press (ISBN # 978-0596516680)
Major Topics Covered in Course
Uniform Resource Locators
Network Fundamentals (TCP/IP)
Domain Name Service
Mime Types (text, audio, image, video)
HTML, Validation
Style sheets
Extensible Markup Language (XML)
XPath
Web servers, browsers
Support of non-traditional browsers
HTTP methods and headers
Servlets
Sessions
Cookies
Java Server Pages (JSP)
JSP/servlet data sharing
Java beans
Custom tags
JSTL
Expression Language (EL)
E-mail
Transformations (XSLT, XSL-FO)
Non-traditional markup languages (optional)
Security (optional)
NET Architecture (optional)
PHP (optional)
Internationalization (optional)
Laboratory Projects
There are two projects, each presented as a series of related homework assignments. Both projects are related to real Electronic Commerce applications, and the students will essentially reverse engineer the server code for each of the applications. The applications are chosen to capture most of the important server actions provided in Electronic Commerce applications.
IWilliams Sonoma Recipe site (12 weeks) - this project requires students to design an XML document schema (typically a DTD) that defines recipes, as described in the Williams Sonoma recipe site. They then create an XML document containing the data associated with one recipe. They will use 2 techniques to generate the html containing the recipe: an XSLT transformation and JSTL X library access to the XML document. The generated HTML will resemble the Williams Sonoma HTML page, except that the HTML will be valid and adhere to the XHTML Strict specification. This will also mean that the students need to design a CSS style sheet for all viewing information. Students will also transform (XSLT) another recipe XML document with a slightly different DTD. Optionally, the students will allow for the generation of the recipe in a second language, in response to user preferences.
Sun Form Processing site (8 weeks) - this project requires students to design form processing server software, using an input form available at the Sun JavaOne Web site. Form data is accessed and stored in a java bean. The data is validated, and based on the validation the form is redisplayed or an acceptance screen is presented. When the acceptance screen is presented, a confirming e-mail is sent to the user. The students will learn form processing, validation, data sharing between server components (servlets and JSPs), e-mail access, and JSP custom tags.
Students learn the techniques for the design of Web solutions. Especially important is the approach to object-oriented libraries and concepts. Topic covered include streams, wrappers, abstraction of Web concepts (e.g., sessions, data models), and service libraries.