CECS-423: Database Applications

This site contains information about the activities to be carried out in the database web applications class, CECS-423, during Spring-2011. Here you'll find the most recent activities in each of the different categories and you'll also find announcements. You can read the CECS-423 Spring 2011 class syllabus to get more administrative details about the class.

Readings and Lectures

Following is a brief description of the concepts introduced during each of the fifteen weeks of the course. Under construction, below is just a subset of topics to be covered

  1. Introduction to the course, overview of the JEE 6 API's we will learn. Introduction to the Model View Controller (MVC) design pattern. Lecture notes introducing Java EE and notes on JPA 2.0. Lab: Introduction to NetBeans, GlassFish, JavaDB, sample application.
  2. Persistence layer: JPA. Lab: Discussion of JPA and how it is used in the sample application. Chapters 2, 3, and 4 from JEE Book. The NetBeans project modeling player/team (Subversion repository) provides an introductory example of JPA. Read some notes on using Subversion in NetBeans. Lecture notes on JPQL.
  3. Business layer: Enterprise Java Beans (EJB). Session Beans. Chapters 6 and 7 from JEE book. Lecture notes on EJBs.
  4. Presentation layer: JavaServer Faces. JSF, Facelets, Managed Beans. Chapters 10, 11, 12 from JEE book. See also the first few chapters of the JSF book. There are two example projects in the Subversion repository, one is from chapter 2 of the JSF book and another is a small web application demonstrating the differences between managed beans with different scopes.
  5. Web Development Basics: HTML, XHTML, CSS, JavaScript. See my CECS 470 class web site for resources on these web technologies.
  6. Submit your SRS. Review examples in the Subversion repository: a sample solution to A#2 and a project with the examples from Chapter 11 of the JEE book.
  7. Review of SRS, guest lecture on Human Factors in Web Design by Dr. Tom Strybel.
  8. More information on the JEE API's used in each of the three layers of: persistence, business model, and presentation.
  9. Rest of the semester: Stored Procedures and Database Triggers. Securing JEE Applications, miscellaneous lectures, guest speakers, and work on project
  10. Instructions for configuring your own AWS EC2 instance that will run GlassFish and where you will deploy the web application.

Resources

  1. Books to read/reference and accessible online from Safari Books Online or from Books24x7, both are collections of books online to which CSULB has a license -- you will need to use the CSULB library proxy service in order to access it from outside of the csulb.edu network.
  2. Description of database projects from previous semesters.
  3. We will use NetBeans to develop our web applications. You may download the NetBeans IDE from netbeans.org. Be sure to download the Java bundle that includes the Sun GlassFish Enterprise Server v3.
  4. The Java EE 6 Tutorial is a great starting place for much of this technology in addition to the books above.
  5. Working with the Java DB (Derby) Database -- This is a page describing how to use the Apache Derby database (repackaged as part of Java where it's known as Java DB). It's a tutorial, so you can follow the instructions to start the JavaDB server, create a database, connect to the database, create a table, and query it.
  6. Configuring JDBC Resources in GlassFish. This page has instructions on how to create a database pool and a JDBC Resource for use in your web applications.
  7. The Getting Started with Java EE 6 Applications from netbeans.org -- we will be developing web applications and this web page has instructions for setting up your very first web application.
  8. The EclipseLink JPA User's Guide has good explanations and examples of the various JPA annotations. EclipseLink is the reference implementation for JPA 2.0.
  9. The database model (PDF), in the form of a UML Class diagram, and accompanying documentation (PDF) that models the information for the academic programs of a University. These are provided here for review of modeling techniques learned in CECS 323 and CECS 343, both of which are prerequisites to this class.

Activities

Date Activity Notes
Ongoing Computer Science Capstone Project Several deadlines throughout the semester
Wed. May 18, 5pm-7pm Project due; project demonstrations Final exam is your project demonstrations.
Weekly Code Reviews Each week, I meet with each team to review their code and progress on project
List of all activities

Web Apps